32.6. 토토 커뮤니티 검색 결과 chunks#

보통,libpqSQL 명령의 전체 결과를 수집하여 응용 프로그램에 단일로 반환합니다pgresult. 많은 수의 행을 반환하는 명령에 대해서는 불가능할 수 있습니다. 그러한 경우 응용 프로그램이 사용할 수 있습니다pqsendqueryandpqgetresultin단일 로우 모드또는청크 모드. 이 모드에서는 결과 행 (S)이 서버에서 수신 된대로 응용 프로그램으로 반환됩니다. 단일 로우 모드의 경우 한 번에 하나씩 또는 청크 모드의 그룹으로.

이 모드 중 하나를 입력하려면 전화pqsetsinglerowmode또는pqsetchunkedrowsmode성공적인 호출 직후pqsendquery(또는 형제 기능). 이 모드 선택은 현재 실행중인 쿼리에만 효과적입니다. 그런 다음 호출pqgetresult반복적으로, null을 반환 할 때까지PostgreSQL : 문서 : 17 : 32.4. 비동기 스포츠 토토 결과 처리. 토토 커뮤니티가 행을 반환하면 하나 이상으로 반환됩니다pgresult객체, 상태 코드를 제외한 일반적인 토토 커뮤니티 결과처럼 보이는 객체pgres_single_tuple단일 열 모드 또는pgres_tuples_chunk대신 청크 모드의 경우pgres_tuples_ok. 각각에 정확히 하나의 결과 행이 있습니다pgres_single_tuple객체, apgres_tuples_chunk객체에는 최소한 하나의 행이 있지만 청크 당 지정된 행 수를 포함하지 않습니다. 마지막 행 후 또는 쿼리가 0 행을 반환하는 경우 즉시, 상태가있는 제로 로우 객체pgres_tuples_ok반환됩니다. 이것은 더 이상 행이 도착하지 않을 것이라는 신호입니다. (그러나 계속 전화 할 필요가 여전히 필요하다는 점에 유의하십시오pqgetresultNULL을 반환 할 때까지.) 이들 모두pgresult개체는 평범한 동일한 행 설명 데이터 (열 이름, 유형 등)를 포함합니다pgresult토토 커뮤니티의 개체. 각 객체는PQCLEAR평소와 같이.

파이프 라인 모드를 사용할 때는 파이프 라인의 각 쿼리에 대해 단일 줄 또는 청크 모드를 활성화해야합니다.pqgetresult. 보다PostgreSQL : 문서 : 17 : 32.5. 파이프 토토 꽁 머니 모드자세한 내용은

pqsetsinglerowmode #

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

int pqsetsinglerowmode (pgconn *conn);

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

pqsetchunkedrowsmode #

현재 실행중인 쿼리에 대한 청크 모드를 선택하십시오.

int pqsetchunkedrowsmode (pgconn *conn, int chunksize);

이 기능은와 유사합니다.pqsetsinglerowmode- 최대 |Chunksize당 행pgresult이 기능은 직후에만 호출 할 수 있습니다.pqsendquery또는 그 형제 기능 중 하나,와 같은 연결에 대한 다른 작업 전에pqconsumeInput또는pqgetresult. 올바른 시간에 호출되면, 함수는 현재 쿼리의 청크 모드를 활성화하고 1을 반환합니다. 그렇지 않으면 모드가 변경되지 않은 상태로 유지되고 함수는 0을 반환합니다. 어쨌든 현재 쿼리가 완료된 후 모드가 정상으로 되돌아갑니다..

주의

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

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면