COPY 토토 사이트 순위은포스트그레스다음에서 사용하는 네트워크 연결에서 읽거나 쓸 수 있는 옵션이 있습니다.libpq. 그러므로 꼭 필요한 기능 이 네트워크 연결에 직접 액세스하여 애플리케이션이 이 기능의 장점을 활용하세요.
이 기능은 다음을 얻은 후에만 실행되어야 합니다.PGRES_토토 사이트 순위_OUT또는PGRES_토토 사이트 순위_IN결과 개체PQexec또는PQgetResult.
PQgetline다음을 읽습니다 줄 바꿈으로 끝나는 문자 줄(에 의해 전송됨) 백엔드 서버)를 길이 길이의 버퍼 문자열로 변환합니다.
int PQgetline(PGconn *conn,
문자 *문자열,
정수 길이)좋아요fgets(3), 이 루틴은 복사합니다.
최대 길이-1자까지 문자열로 변환할 수 있습니다. 그것은 같다얻음(3) 그러나 이는 다음을 변환한다는 점에서
개행 문자를 null 문자로 종료합니다.PQgetline반환EOFEOF에서 0
전체 라인을 읽었으면, 버퍼가 가득 차면 1
그러나 종료 개행 문자는 아직 읽혀지지 않았습니다.응용프로그램은 새로운 줄이 있는지 확인해야 한다는 점에 유의하십시오. "\."라는 두 문자로 구성됩니다. 백엔드 서버가 복사 결과 전송을 완료했습니다. 토토 사이트 순위. 애플리케이션이 더 많은 라인을 수신할 수 있는 경우 길이가 1자보다 길면 주의가 필요합니다. "\."를 인식합니다. 줄을 올바르게 입력하세요(예를 들어 긴 데이터 라인의 끝을 종결자 라인으로 착각합니다. 는 코드 입력src/bin/psql/토토 사이트 순위.c포함 복사 프로토콜을 올바르게 처리하는 예제 루틴입니다.
PQgetlineAsync다음을 읽습니다 줄 바꿈으로 끝나는 문자 줄(에 의해 전송됨) 백엔드 서버)를 차단하지 않고 버퍼에 넣습니다.
int PQgetlineAsync(PGconn *conn,
char *버퍼,
int bufsize)이 루틴은 다음과 유사합니다.PQgetline, 하지만 다음과 같은 애플리케이션에서 사용할 수 있습니다.
COPY 데이터를 비동기적으로, 즉 차단 없이 읽어야 합니다.
COPY 명령을 실행하고 다음을 얻었습니다.PGRES_토토 사이트 순위_OUT응답, 애플리케이션이 호출해야 함PQconsumeInput그리고PQgetlineAsync데이터 끝 신호가 나올 때까지
감지되었습니다. 달리PQgetline, 이건
루틴은 데이터 끝을 감지하는 책임을 집니다. 각각에
전화해,PQgetlineAsync데이터를 반환합니다
완전히 개행으로 끝나는 데이터 라인을 사용할 수 있는 경우
libpq의 입력 버퍼 또는 들어오는 데이터 라인이 너무 긴 경우
호출자가 제공한 버퍼에 맞도록 합니다. 그렇지 않으면 데이터가 없습니다
나머지 줄이 도착할 때까지 반환됩니다.데이터 복사 끝 마커에 다음이 있는 경우 루틴은 -1을 반환합니다. 인식되었습니다. 데이터가 없으면 0, 양수입니다. 반환된 데이터의 바이트 수를 나타내는 숫자입니다. -1인 경우 반환되면 발신자는 다음 통화를 해야 합니다.PQend토토 사이트 순위, 그런 다음 정상으로 돌아갑니다. 처리. 반환된 데이터는 개행 문자 이상으로 확장되지 않습니다. 성격. 가능하다면 전체 라인이 한 번에 반환됩니다. 시간. 그러나 호출자가 제공하는 버퍼가 너무 작아서 백엔드에서 보낸 라인을 유지하면 부분 데이터 라인이 반환됩니다. 이는 마지막 여부를 테스트하여 감지할 수 있습니다. 반환된 바이트는 "입니다.\n"인지 아닌지. 반환된 문자열은 null로 끝나지 않습니다. (추가하고 싶다면 null을 종료하려면 다음보다 하나 작은 버퍼 크기를 전달해야 합니다. 실제로 사용 가능한 방입니다.)
PQputline널로 끝나는 메시지를 보냅니다 백엔드 서버에 문자열을 보냅니다. 정상이면 0을 반환합니다.EOF문자열을 보낼 수 없는 경우.
int PQputline(PGconn *conn,
const char *string);애플리케이션은 명시적으로 두 문자를 보내야 합니다.
"\."을 마지막 줄에 추가하여
백엔드에서 데이터 전송이 완료되었음을 알립니다.PQputnbytes다음을 보냅니다 null로 끝나지 않는 문자열을 백엔드 서버에 보냅니다. 다음과 같은 경우 0을 반환합니다. 좋습니다. 문자열을 보낼 수 없으면 EOF입니다.
int PQputnbytes(PGconn *conn,
const char *버퍼,
int nbytes);이것은 정확히 같습니다PQputline,
단, 데이터 버퍼는 null로 종료될 필요가 없습니다.
보낼 바이트 수는 직접 지정됩니다.PQend토토 사이트 순위백엔드와 동기화됩니다. 이 함수는 백엔드가 복사를 완료할 때까지 기다립니다. 그것 마지막 문자열이 전송될 때 발행되어야 합니다. 백엔드 사용PQputline또는 언제 마지막 문자열은 다음을 사용하여 백엔드에서 수신되었습니다.PGgetline. 발급받아야 하거나, 백엔드가 프런트엔드와 "동기화되지 않을" 수 있습니다. 귀국 시 이 함수를 통해 백엔드는 다음을 수신할 준비가 됩니다. 쿼리. 성공적인 완료 시 반환 값은 0이며 0이 아닙니다. 그렇지 않으면.
int PQend토토 사이트 순위(PGconn *conn);
예를 들면:
PQexec(conn, "테이블 foo 생성(a int4, b char(16), d float8)"); PQexec(conn, "표준 입력에서 foo 복사"); PQputline(conn, "3\thello world\t4.5\n"); PQputline(conn,"4\t안녕하세요 세상\t7.11\n"); ... PQputline(conn,"\\.\n"); PQend토토 사이트 순위(conn);
사용 시PQgetResult, 애플리케이션은 a에 응답해야 합니다.PGRES_토토 사이트 순위_OUT실행 결과PQgetline반복적으로, 이어서PQend토토 사이트 순위종료 줄이 표시된 후. 그것 그러면 다음으로 돌아가야 합니다.PQgetResult다음까지 반복PQgetResultNULL을 반환합니다. 마찬가지로PGRES_토토 사이트 순위_IN결과는 다음과 같습니다 일련의 처리됨PQputline호출 이어서PQend토토 사이트 순위, 그런 다음으로 돌아갑니다.PQgetResult루프. 이 합의는 일련의에 포함된 복사 또는 복사 명령을 확인하십시오.SQL토토 사이트 순위이 실행될 것입니다 정확하게.
이전 신청서는 사본을 제출하거나 복사할 가능성이 높습니다. 를 통해PQexec그리고 다음과 같이 가정합니다. 거래는 다음 이후에 완료됩니다.PQend토토 사이트 순위. 이 복사 입/출력이 유일한 경우에만 올바르게 작동합니다.SQL쿼리 문자열의 토토 사이트 순위.