Sedna LogoBackground Top
 
Home  |  Getting Started  |  Documentation  |  Demo  |  Download  |  Support 

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