이 섹션은 각 윈 토토의 자세한 형식을 설명합니다. 각각 프런트엔드(F), 포스트마스터/백엔드(B) 또는 둘 다(F & B).
메시지를 다음으로 식별합니다.ASCII데이터 행. (이전 RowDescription 메시지는 행의 필드 수와 그 필드 수를 정의합니다. 데이터 유형.)
행의 각 필드에 대해 1비트가 있는 비트맵입니다. 는 첫 번째 필드는 첫 번째 바이트의 비트 7(MSB)에 해당합니다. 두 번째 필드는 첫 번째 바이트의 비트 6, 8번째 바이트에 해당합니다. 필드는 첫 번째 바이트의 비트 0(LSB), 9번째 바이트에 해당합니다. 필드는 두 번째 바이트의 비트 7에 해당합니다. 각각 해당 필드의 값이 그렇지 않은 경우 비트가 설정됩니다. NULL. 필드 개수가 8의 배수가 아닌 경우 비트맵의 마지막 바이트의 나머지 부분이 낭비됩니다.
그런 다음 NULL이 아닌 값을 가진 각 필드에 대해 다음:
필드 값의 크기를 지정합니다. 이 크기도 포함됩니다.
필드 자체의 값을 지정합니다.ASCII문자.n위 크기입니다 빼기 4. 필드 데이터에 후행 '\0'이 없습니다. 프런트 엔드는 원하는 경우 추가해야 합니다.
윈 토토를 인증 요청으로 식별합니다.
인증이 성공했음을 나타냅니다.
윈 토토를 인증 요청으로 식별합니다.
Kerberos V4 인증이 다음임을 지정합니다. 필수입니다.
윈 토토를 인증 요청으로 식별합니다.
Kerberos V5 인증이 다음임을 지정합니다. 필수입니다.
윈 토토를 인증 요청으로 식별합니다.
암호화되지 않은 비밀번호가 필요함을 지정합니다.
윈 토토를 인증 요청으로 식별합니다.
암호화된 비밀번호가 필요함을 지정합니다.
비밀번호를 암호화할 때 사용할 솔트.
윈 토토를 취소 키 데이터로 식별합니다. 는 프런트엔드에서 이를 수행하려면 이 값을 저장해야 합니다. 나중에 CancelRequest 윈 토토를 발행하세요.
이 백엔드의 프로세스 ID.
이 백엔드의 비밀 키입니다.
메시지를 바이너리 데이터 행으로 식별합니다. (이전 RowDescription 메시지는 행 및 해당 데이터 유형.)
행의 각 필드에 대해 1비트가 있는 비트맵입니다. 는 첫 번째 필드는 첫 번째 바이트의 비트 7(MSB)에 해당합니다. 두 번째 필드는 첫 번째 바이트의 비트 6, 8번째 바이트에 해당합니다. 필드는 첫 번째 바이트의 비트 0(LSB), 9번째 바이트에 해당합니다. 필드는 두 번째 바이트의 비트 7에 해당합니다. 각각 해당 필드의 값이 그렇지 않은 경우 비트가 설정됩니다. NULL. 필드 개수가 8의 배수가 아닌 경우 비트맵의 마지막 바이트의 나머지 부분이 낭비됩니다.
그런 다음 NULL이 아닌 값을 가진 각 필드에 대해 다음:
필드 값의 크기를 지정합니다. 이 크기는 제외합니다.
필드 자체의 값을 바이너리로 지정합니다. 형식.n위와 같습니다 크기.
패킷의 크기(바이트).
취소 요청 코드입니다. 값은 다음을 포함하도록 선택됩니다. 최상위 16비트는 "1234", 최상위 16비트는 "5678" 최소 16개의 유효 비트. (혼란을 피하기 위해 이 코드는 프로토콜 버전 번호와 동일해서는 안 됩니다.)
대상 백엔드의 프로세스 ID입니다.
대상 백엔드의 비밀 키입니다.
윈 토토를 완료된 응답으로 식별합니다.
명령 태그입니다. 이는 일반적으로(항상 그런 것은 아님) 어떤 SQL 명령이 사용되었는지 식별하는 단일 단어 완료되었습니다.
이것은 각 행이 다음으로 끝나는 행 스트림입니다. 바이트1('\n'). 그 다음에는 Byte1('\\') 시퀀스가 옵니다. 바이트1('.'), 바이트1('\n').
윈 토토를 복사 시작 응답으로 식별합니다. 는 이제 프런트엔드는 CopyDataRows 윈 토토를 보내야 합니다.
윈 토토를 복사 시작 응답으로 식별합니다. 이 윈 토토 뒤에는 CopyDataRows가 표시됩니다. 윈 토토.
윈 토토를 커서 응답으로 식별합니다.
커서의 이름. 다음과 같은 경우에는 "공백"이 됩니다. 커서는 암시적입니다.
빈 쿼리에 대한 응답으로 메시지를 식별합니다. 문자열.
미사용.
패킷의 크기(바이트).
암호화된(crypt() 사용) 비밀번호입니다.
윈 토토를 오류로 식별합니다.
오류 윈 토토 그 자체입니다.
윈 토토를 함수 호출로 식별합니다.
미사용.
호출할 함수의 개체 ID를 지정합니다.
에 제공되는 인수 수를 지정합니다. 기능.
그리고 각 인수에 대해 다음이 있습니다:
인수 값의 크기를 지정합니다. 이 크기는 제외합니다.
필드 자체의 값을 바이너리로 지정합니다. 형식.n위와 같습니다 크기.
윈 토토를 함수 호출 결과로 식별합니다.
비어있지 않은 결과가 반환되었음을 지정합니다.
다음을 제외한 결과 값의 크기를 지정합니다. 이 크기입니다.
결과 자체의 값을 바이너리로 지정합니다. 형식.n위와 같습니다 크기.
미사용. (엄밀히 말하면 FunctionResultResponse 및 FunctionVoidResponse는 동일하지만 일부 메시지의 선택적 부분입니다.)
윈 토토를 함수 호출 결과로 식별합니다.
빈 결과가 반환되었음을 지정합니다.
윈 토토를 알림으로 식별합니다.
알림 윈 토토 그 자체입니다.
윈 토토를 알림 응답으로 식별합니다.
알림 백엔드 프로세스의 프로세스 ID.
알림이 이루어진 조건의 이름 에 제기되었습니다.
윈 토토를 쿼리로 식별합니다.
쿼리 문자열 자체입니다.
윈 토토 유형을 식별합니다. ReadyForQuery가 전송되었습니다. 백엔드가 새로운 쿼리 주기를 준비할 때마다.
윈 토토를 행 설명으로 식별합니다.
행의 필드 수를 지정합니다(일 수도 있음). 제로).
그리고 각 필드에는 다음이 있습니다:
필드 이름을 지정합니다.
필드 유형의 개체 ID를 지정합니다.
글자 크기를 지정합니다.
유형 수정자를 지정합니다.
패킷의 크기(바이트).
프로토콜 버전 번호. 가장 중요한 16 비트는 주 버전 번호입니다. 최소 16개의 중요한 비트는 부 버전 번호입니다.
데이터베이스 이름은 다음과 같은 경우 사용자 이름으로 기본 설정됩니다. 비어있습니다.
사용자 이름입니다.
전달할 추가 명령줄 인수 포스트마스터의 백엔드.
미사용.
백엔드가 디버깅을 위해 사용해야 하는 선택적 tty 윈 토토.
윈 토토를 종료로 식별합니다.
패킷의 크기(바이트).
암호화되지 않은 비밀번호입니다.