2.2.3.14.2 adtgHandlerOptions

An adtgHandlerOptions submessage specifies how the TableGram is handled. This component is used by the source process (the process that generates the TableGram) to communicate handling specifics to the receiving process.

The syntax of the adtgHandlerOptions submessage is defined as follows.

 adtgHandlerOptions      = adtgTokenHandlerOptions
                           adtgTokenHandlerOptionsSize
                           adtgRecordSetGUID
                           adtgUpdateTableGramType
                           adtgOriginalURL
                           adtgUpdateURL
                           adtgFriendlyName
                           adtgAsyncOptions
  
 adtgTokenHandlerOptions = %x02
  
 adtgTokenHandlerOptionsSize = USHORT
  
 adtgRecordSetGUID       = %xB6 %x92 %xF2 %x3F 
                           %x04 %xB2 %xCF %x11
                           %x8D %x23 %x00 %xAA
                           %x00 %x5F %xFE %x58
  
 adtgUpdateTableGramType = adtgUpdateColumnsOnly / 
                           adtgUpdateRowsOnly / 
                           adtgUpdateAllRows
  
 adtgUpdateColumnsOnly   = %x01
 adtgUpdateRowsOnly      = %x02
 adtgUpdateAllRows       = %x03
  
 adtgOriginalURL         = LENGTH-PREFIXED-STRING
 adtgUpdateURL           = LENGTH-PREFIXED-STRING
 adtgFriendlyName        = LENGTH-PREFIXED-STRING
  
 adtgAsyncOptions        = adtgAsyncOptionSynch /
                           adtgAsyncOptionAsynchBlocking /
                           adtgAsyncOptionAsynchNonBlocking
  
 adtgAsyncOptionSynch             =  %x01.00
 adtgAsyncOptionAsynchBlocking    =  %x02.00
 adtgAsyncOptionAsynchNonBlocking =  %x03.00

The fields of the adtgHandlerOptions submessage have the following lengths, types, and meanings:

  • adtgTokenHandlerOptions

    Length: 1 byte

    Datatype: BYTE

    Identifies this component as an adtgHandlerOptions submessage. The value MUST be set to 0x02.

  • adtgTokenHandlerOptionsSize

    Length: 2 bytes

    Datatype: USHORT

    Specifies the length of the rest of the adtgHandlerOptions submessage. The value is variable and does not include the length of the adtgTokenHandlerOptions and adtgTokenHandlerOptionsSize fields.

  • adtgRecordSetGUID

    Length: 16 bytes

    Datatype: GUID

    Contains the class identifier of an object; a GUID that is used as a processing instruction to the receiver of the TableGram.<47>

  • adtgUpdateTableGramType

    Length: 1 byte

    Datatype: BYTE

    Specifies the type of information included in an update message. The value is fixed at 0x01. Other values of adtgUpdateTableGramType MUST NOT be specified by a server, and SHOULD be treated as 0x01 when received by a client.

     Value

     Meaning

    adtgUpdateColumnsOnly

    0x01

    Send only the updated columns of each row. The key columns and version columns are also sent.

    adtgUpdateRowsOnly

    0x02

    Send only the updated rows. The updated columns of each row along with the original values are sent. The key columns and version columns are also sent. This value is reserved but not supported.

    adtgUpdateAllRows

    0x03

    Send all of the initially selected rows, both updated and not updated. All columns of a row are sent. This value is reserved but not supported.

  • adtgOriginalURL

    Length: Variable

    Datatype: LENGTH-PREFIXED-STRING

    Specifies the source of the TableGram as a URL. The first two bytes of this field store the length, in bytes, of the string, which follows. Supplying a URL is not required, and a zero-length string MAY<48> be safely used.

  • adtgUpdateURL

    Length: Variable

    Datatype: LENGTH-PREFIXED-STRING

    Reserved and not used. This SHOULD be set to a zero-length string and MUST be ignored on receipt.

  • adtgFriendlyName

    Length: Variable

    Datatype: LENGTH-PREFIXED-STRING

    Specifies the human-readable name of the table handler that generated the TableGram. If the length is zero, no name is supplied.<49>

  • adtgAsyncOptions

    Length: 2 bytes

    Datatype: USHORT

    The adtgAsyncOptions is used as a hint to the client on the suggested method for loading the RecordSet into memory.<50>

     Value

     Meaning

    adtgAsyncOptionsSync

    0x0001

    Fetch row data synchronously.

    adtgAsyncOptionsBlocking

    0x0002

    Fetch row data asynchronously while blocking.

    adtgAsyncOptionsNonBlocking

    0x0003

    Fetch row data asynchronously while not blocking.