4 Message Formats
This section describes the detailed format of each message. Each is marked to
indicate that it may be sent either by a client (C), or a server (S).
se_Start-Up (C).
head:
110 (int)
body length = 0(int)
body:
empty
se_SessionParameters (C).
head:
120 (int)
body length (int)
body:
major protocol version number (byte);
minor protocol version number (byte);
user name (string);
database name (string);
se_AuthenticationParameters (C).
head:
130 (int)
body length (int)
body:
password (string)
se_SendSessionParameters (S).
head:
140 (int)
body length = 0 (int)
body:
empty
se_SendAuthParameters (S).
head:
150 (int)
body length = 0 (int)
body:
empty
se_AuthenticationOK (S).
head:
160 (int)
body length = 0 (int)
body:
empty
se_AuthenticationFailed (S).
head:
170 (int)
body length (int)
body:
error code (int)
error info (string)
se_ErrorResponse (S).
head:
100 (int)
body length (int)
body:
error code (int)
error info (string)
se_BeginTransaction (C).
head:
210 (int)
body length = 0(int)
body:
empty
se_CommitTransaction (C).
head:
220 (int)
body length = 0(int)
body:
empty
se_RollbackTransaction (C).
head:
225 (int)
body length = 0(int)
body:
empty
se_BeginTransactionOk (S).
head:
230 (int)
body length = 0(int)
body:
empty
se_BeginTransactionFailed (S).
head:
240 (int)
body length (int)
body:
error code (int)
error info (string)
se_CommitTransactionOk (S).
head:
250 (int)
body length = 0(int)
body:
empty
se_CommitTransactionFailed (S).
head:
260 (int)
body length (int)
body:
error code (int)
error info (string)
se_RollbackTransactionOk (S).
head:
255 (int)
body length = 0(int)
body:
empty
se_RollbackTransactionFailed (S).
head:
265 (int)
body length (int)
body:
error code (int)
error info (string)
se_Execute (C).
head:
300 (int)
body length (int)
body:
result format (byte) + query text (string)
se_ExecuteLong (C).
head:
301 (int)
body length (int)
body:
result format (byte) + query text (string)
se_LongQueryEnd (C).
head:
302 (int)
body length = 0 (int)
body:
empty
se_GetNextItem (C).
head:
310 (int)
body length = 0 (int)
body:
empty
se_QuerySucceeded (S).
head:
320 (int)
body length = 0(int)
body:
empty
se_DebugInfo (S).
head:
325 (int)
body length (int)
body:
debug type (int)
debug info (string)
se_QueryFailed (S).
head:
330 (int)
body length (int)
body:
error code (int)
error info (string)
se_UpdateSucceeded (S).
head:
340 (int)
body length = 0(int)
body:
empty
se_UpdateFailed (S).
head:
350 (int)
body length (int)
body:
error code (int)
error info (string)
se_ItemStart (S).
head:
355 (int)
body length (int)
body:
item class (byte) - see below possible values of this field
item type (byte) - see below possible values of this field
URL flag (byte) - either 0 or 1, determines if URL field is empty
[URL (string)] - optional, URL of the item
result part (string)
Item class enumeration (see se_ItemStart message )is defined as follows:
enum se_item_class {
se_atomic = 1, //item type defines atomic type
se_document = 2,
se_element = 3, //item type defines atomic type
se_attribute = 4, //item type defines atomic type
se_namespace = 5,
se_pi = 6,
se_comment = 7,
se_text = 8
};
Item type enumeration (see se_ItemStart message )is defined as follows:
enum se_item_type {
/* Abstract base types */
se_anyType = 0,
se_anySimpleType = 1,
se_anyAtomicType = 2,
/* Built-in simple, non-atomic types */
se_IDREFS = 3,
se_NMTOKENS = 4,
se_ENTITIES = 5,
/* Built-in complex types */
se_untyped = 6,
/* Built-in atomic types (Primitive types) */
se_dateTime = 10,
se_date = 11,
se_time = 12,
se_duration = 13,
se_yearMonthDuration = 14,
se_dayTimeDuration = 15,
se_gYearMonth = 16,
se_gYear = 17,
se_gMonthDay = 18,
se_gDay = 19,
se_gMonth = 20,
se_float = 21,
se_double = 22,
se_decimal = 23,
se_integer = 24,
se_boolean = 25,
se_untypedAtomic = 26,
se_string = 27,
se_base64Binary = 28,
se_hexBinary = 29,
se_anyURI = 30,
se_QName = 31,
se_NOTATION = 32,
/* Types derived from xs:string */
se_normalizedString = 41,
se_token = 42,
se_language = 43,
se_NMTOKEN = 44,
se_Name = 45,
se_NCName = 46,
se_ID = 47,
se_IDREF = 48,
se_ENTITY = 49,
/* Types derived from xs:integer */
se_nonPositiveInteger = 50,
se_negativeInteger = 51,
se_long = 52,
se_int = 53,
se_short = 54,
se_byte = 55,
se_nonNegativeInteger = 56,
se_unsignedLong = 57,
se_unsignedInt = 58,
se_unsignedShort = 59,
se_unsignedByte = 60,
se_positiveInteger = 61
};
se_ItemPart (S).
head:
360 (int)
body length (int)
body:
result part (string)
se_ItemEnd (S).
head:
370 (int)
body length = 0(int)
body:
empty
se_ResultEnd (S).
head:
375 (int)
body length = 0(int)
body:
empty
se_BulkLoadError (C).
head:
400 (int)
body length (int)
body:
error code (int)
error info (string)
se_BulkLoadPortion (C).
head:
410 (int)
body length (int)
body:
data portion (string)
se_BulkLoadEnd (C).
head:
420 (int)
body length = 0 (int)
body:
empty
se_BulkLoadFileName (S).
head:
430 (int)
body length (int)
body:
file name (string)
se_BulkLoadFromStream (S).
head:
431 (int)
body length = 0(int)
body:
empty
se_BulkLoadSucceeded (S).
head:
440 (int)
body length = 0(int)
body:
empty
se_BulkLoadFailed (S).
head:
450 (int)
body length(int)
body:
error code (int)
error info (string)
se_ShowTime (C).
head:
451 (int)
body length = 0(int)
body:
empty
se_LastQueryTime (S).
head:
452 (int)
body length(int)
body:
time (string)
se_CloseConnection (C).
head:
500 (int)
body length = 0(int)
body:
empty
se_CloseConnectionOk (S).
head:
510 (int)
body length = 0(int)
body:
empty
se_TransactionRollbackBeforeClose (S).
head:
520 (int)
body length = 0(int)
body:
empty
se_SetSessionOptions (C).
head:
530 (int)
body length (int)
body:
any number of pairs: option id (int), option value (string)
se_SetSessionOptionsOk (S).
head:
540 (int)
body length = 0(int)
body:
empty
se_ResetSessionOptions (C).
head:
550 (int)
body length = 0(int)
body:
empty
se_ResetSessionOptionsOk (S).
head:
560 (int)
body length = 0(int)
body:
empty
|