이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 32.6. 토토 사이트 추천 검색 결과 chunks버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

31.5. 쿼리 결과 검색 행으로

보통,libpq수집 a SQL 명령의 전체 결과를 통해 응용 프로그램으로 반환합니다. 하나의pgresult. 이것은 불가능할 수 있습니다 많은 행을 반환하는 명령의 경우. 그러한 경우, 응용 프로그램은 사용할 수 있습니다pqsendqueryandpqgetresultin단일 로우 모드. 이 모드에서는 결과 행이 받은 상태에서 한 번에 하나씩 신청서로 반환됩니다. 서버에서.

싱글 열 모드로 들어가려면 전화pqsetsinglerowmode성공 직후 전화pqsendquery(또는 형제 기능). 이 모드 선택은 현재에만 효과적입니다 쿼리 실행. 그런 다음 호출pqgetresult반복적으로, 그것이 null을 반환 할 때까지 문서화PostgreSQL : 문서 : 9.3 : 비동기 토토 처리. 만약 쿼리는 모든 행을 반환하고 개인으로 반환됩니다pgresult객체는 일반 쿼리처럼 보입니다 상태 코드를 제외한 결과pgres_single_tuple대신pgres_tuples_ok. 마지막 행 후 또는 즉시 쿼리가 0 행을 반환하면 상태가있는 제로 로우 객체pgres_tuples_ok반환됩니다. 이것은입니다 더 이상 행이 도착하지 않을 것이라는 신호. (그러나 여전히 그렇습니다 계속 전화하는 데 필요pqgetresultNULL을 반환 할 때까지.) 이들 모두pgresult개체는 동일하게 포함됩니다 행 설명 데이터 (열 이름, 유형 등) 평범한pgresult쿼리의 개체 가지다. 각 객체는PQCLEAR평소와 같이.

pqsetsinglerowmode

현재 실행중인 쿼리의 단일 열 모드 선택.

int pqsetsinglerowmode (pgconn *conn);

이 함수는 즉시 호출 할 수 있습니다pqsendquery또는 형제 자매 중 하나, 와 같은 연결에 대한 다른 작업 전에pqconsumeInput또는pqgetresult. 올바른 시간에 호출되면 기능은 현재 쿼리의 단일 열 모드를 활성화합니다 반환 1. 그렇지 않으면 모드는 변경되지 않고 함수가 유지됩니다. 반환 0. 어쨌든, 완료 후 모드가 정상으로 되돌아갑니다. 현재 쿼리의.

주의

쿼리를 처리하는 동안 서버는 일부 행을 반환 할 수 있으며 그런 다음 오류가 발생하여 쿼리가 중단됩니다. 일반적으로libpq어떤 것도 버립니다 그러한 행과 오류 만보고합니다. 그러나 단일 줄 모드에서는 행은 이미 응용 프로그램으로 반환되었습니다. 따라서 애플리케이션은 일부 봅니다pgres_single_tuple pgresult객체 뒤에 Apgres_fatal_error개체. 적절한 거래를 위해 동작, 응용 프로그램은 폐기하거나 실행 취소하도록 설계되어야합니다. 이전에 처리 한 행으로 수행 된 것은 무엇이든 쿼리는 궁극적으로 실패합니다.