Postgresql 9.2.24 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.2 : 비동기 무지개 토토 처리 | up | 31 장.libpq-C 라이브러리 | 스포츠 토토 : 문서 : 9.2 : 진행중인 쿼리 취소 |
보통,libpq수집 a
SQL 명령의 전체 결과를 통해 응용 프로그램으로 반환합니다.
단일pgresult. 이것은 될 수 있습니다
많은 행을 반환하는 명령에 대해서는 불가능합니다. 을 위한
이러한 경우, 응용 프로그램은 사용할 수 있습니다pqsendquery
andpqgetresult
in단일 로우
방법. 이 모드에서는 결과 행이
한 번에 하나씩 신청서가
섬기는 사람.
싱글 열 모드로 들어가려면 전화pqsetsinglerowmode
바로 다음에
성공적인 전화pqsendquery
(또는
형제 기능). 이 모드 선택은 효과적입니다
현재 실행중인 쿼리. 그런 다음 호출pqgetresult
반복적으로, NULL을 반환 할 때까지,
문서화 된대로PostgreSQL : 문서 : 9.2 : 비동기 무지개 토토 처리. 만약에
쿼리는 행을 반환하고 개인으로 반환됩니다pgresult상태 코드를 제외한 일반 쿼리 결과pgres_single_tuple대신pgres_tuples_ok. 마지막 행 후, 또는
쿼리가 0 행을 반환하면 즉시 제로 로우 객체
상태와pgres_tuples_ok반환됩니다.
이것은 더 이상 행이 도착하지 않을 것이라는 신호입니다. (그러나 그 점에 유의하십시오
계속 전화해야합니다pqgetresult
NULL을 반환 할 때까지.) 모두
이것들pgresult개체에는 포함됩니다
동일한 행 설명 데이터 (열 이름, 유형 등)
평범한pgresult쿼리는 가질 것입니다. 각 객체는PQCLEAR
평소와 같이.
pqsetsinglerowmode
현재 실행에 대한 단일 열 모드를 선택하십시오 질문.
int pqsetsinglerowmode (pgconn *conn);
이 함수는 즉시 호출 할 수 있습니다pqsendquery
또는 그 중 하나
형제 자매는 다른 작업을하기 전에 기능합니다
와 같은 연결pqconsumeInput
또는pqgetresult
. 올바른 곳에서 호출 된 경우
시간, 함수는 단일 열 모드를 활성화합니다
현재 쿼리 및 반환 1. 그렇지 않으면 모드가 유지됩니다
변경되지 않고 함수가 0을 반환합니다. 어쨌든 모드
전류가 완료된 후 정상으로 되돌아갑니다
질문.
주의 |
쿼리를 처리하는 동안 서버가 일부를 반환 할 수 있습니다 행에 오류가 발생하여 쿼리가 발생합니다. 중단. 일반적으로libpq그러한 행을 버립니다 오류 만보고합니다. 그러나 단일 줄 모드에서는 행은 이미 응용 프로그램으로 반환되었습니다. 따라서 응용 프로그램에 일부가 표시됩니다.pgres_single_tuple pgresult객체 뒤에 Apgres_fatal_error개체. 을 위한 적절한 거래 동작, 응용 프로그램이어야합니다 완료된 일을 폐기하거나 취소하도록 설계되었습니다. 궁극적으로 쿼리가있는 경우 이전에 처리 된 행입니다 실패. |