레이블이 Placeholder Packet인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Placeholder Packet인 게시물을 표시합니다. 모든 게시물 표시

2009년 1월 28일 수요일

Prepared Statement의 패킷3

Placeholder Packet
Placeholder Packet에는 placeholder에 관한 정보가 들어있다. 
이 레이아웃은 현재에는 Field Packet하고 같은 구성으로 되어있다. 
그렇지만 아래와 같이 거의가 고정값으로 되어있다. 

Placeholder Packet
패킷헤더: 4바이트
카탈로그명: LCS(4바이트고정)    ex> 0x03 64 65 66("def") 고정
데이터베이스명: LCS(1바이트고정)  , 0x00고정
데이터베이스명: LCS(1바이트고정)  , 0x00고정
테이블명의 Alias:  LCS(1바이트 고정), 0x00고정
테이블명: LCS(1바이트고정), 0x00고정
컬럼명의 Alias: LCS(2바이트고정) ex>0x01  3f 고정
컬럼명: LCS(1바이트고정) , 0x00고정
 filler:1바이트, 0x0c고정
캐릭터셋번호: 2바이트, 0x3f 00고정
표시크기: 4바이트, 0x00 00 00 00 고정
데이터형: 1바이트, 0xfd고정
데이터형특성: 2바이트, 0x80 00(BINARY)고정
 Decimal형의 스케일: 1바이트, 0x00고정( Decimal형이어도 0x00고정)
 filler: 2바이트, 0x00 00고정

※Field Packet하고 기본적으로 같은 포맷

EOF Packet하고 FieldPacket의 구성은 보통 검색용 SQL문의 경우하고 같다. 
갱신용 SQL문의 경우에는 Placeholder Packet다음에 그냥 EOF Packet으로 끝난다.