| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 비동기 토토 처리 | PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | 31장.libpq- C 라이브러리 | 윈 토토 : 문서 : 9.3 : 진행중인 쿼리 취소 | |
보통,libpq수집
SQL 명령의 전체 결과를 애플리케이션에 반환합니다.
싱글PGresult. 이것은 실행 불가능할 수 있습니다
많은 수의 행을 반환하는 명령의 경우. 그러한 경우에는
응용 프로그램은 사용할 수 있습니다PQsendQuery그리고PQgetResultin단일 행 모드. 이 모드에서는 결과 행이
수신된 대로 한 번에 하나씩 애플리케이션으로 반환됩니다.
서버에서.
단일 행 모드로 들어가려면 다음을 호출하세요.PQsetSingleRowMode성공 직후
호출PQsendQuery(또는 형제자매
기능). 이 모드 선택은 현재
쿼리를 실행 중입니다. 그럼 전화하세요PQgetResult다음과 같이 null을 반환할 때까지 반복적으로
문서화됨PostgreSQL : 문서 : 9.3 : 비동기 토토 처리. 만약
쿼리는 모든 행을 반환하며 개별적으로 반환됩니다.PGresult일반 쿼리처럼 보이는 객체
상태 코드가 있는 것을 제외한 결과PGRES_SINGLE_TUPLE대신PGRES_TUPLES_OK. 마지막 행 뒤 또는 즉시
쿼리가 0개의 행을 반환하는 경우 상태가 있는 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객체. 올바른 거래를 위해 동작을 취소하거나 취소할 수 있도록 애플리케이션을 설계해야 합니다. 이전에 처리된 행에 대해 수행된 작업이 무엇이든 쿼리가 결국 실패합니다. |
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 비동기 명령 처리중 | PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | 다음에서 쿼리 취소 중 진행상황 |