Command code:
Value: 0x00011006
Parameter 0 of the Delete Rows command is a byte array in the following format:
Field | Data type | Values |
Header length | 4-byte signed integer | 20 |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to database name | 4-byte signed integer | offset from start of buffer |
Number of column filters | 4-byte signed integer | 1 (multiple column filters
not currently supported) |
Offset to start of column
filter 1 (column filter 1 data type) |
4-byte signed integer | offset from start of buffer |
Database version | Compressed unicode string | 1.2 |
Database name | Compressed unicode string | TWGServer |
Column Filter 1 data type | 4-byte signed integer | an array type value |
Offset to the number of
values for filter 1 (number of values precedes the values) |
4-byte signed integer | offset from start of buffer |
Offset to filter 1 table name | 4-byte signed integer | offset from start of buffer |
Offset to filter 1 column
name |
4-byte signed integer | offset from start of buffer |
Offset to filter 1 operator | 4-byte signed integer | offset from start of buffer |
Filter 1 number of values | 4-byte signed integer | |
Filter 1 value 1 | matches filter data type | |
Filter 1 value 2 | matches filter data type | |
etc.... | matches filter data type | |
Filter 1 value n | matches filter data type | |
Filter 1 table name | Compressed unicode string | |
Filter 1 column name | Compressed unicode string | |
Filter 1 operator | Compressed unicode string |
Expressed as a C++ structure, the input Parameter 0 data definition is:
struct { long HeaderLength; /* number of bytes before the string data*/ long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_dbName; /* number of bytes from start of buffer */ /* to database name string */ long nFilter; /* number of column filters */ long off_f1; /* number of bytes from start of buffer */ /* to the column filter 1 data type */ byte DatabaseVersion[];/* as a compressed Unicode string */ byte DatabaseName[]; /* as a compressed Unicode string */ long f1DataType; /* coded data type of the first filter */ long off_nValues; /* number of bytes from start of buffer */ /* to number of values for filter 1 */ long off_f1TableName; /* number of bytes from start of buffer */ /* to table name for filter 1 */ long off_f1ColumnName; /* number of bytes from start of buffer */ /* to column name for filter 1 */ long off_f1Operator; /* number of bytes from start of buffer */ /* to operator for filter 1 */ long f1nValues; /* number of filter 1 values */ F1TYPE f1Value[f1nValues]; /* here F1TYPE is filter 1 data type */ byte f1TableName[]; /* as a compressed Unicode string */ byte f1ColumnName[]; /* as a compressed Unicode string */ byte f1Operator[]; /* as a compressed Unicode string */ }
Code | Meaning |
0 | Success |
1 | Invalid command |
3 | Exception |
4 | SQL Error |
102 | Parameter error |
Output parameters: None
Command code:
Value: 0x00011004
Input parameter 0 of the Find Table by Classname command is a byte array in the following format:
Field | Data type | Values |
Header length | 4-byte signed integer | 12 |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to table class name | 4-byte signed integer | offset from start of buffer |
Database version | Compressed unicode string | 1.2 |
Table class name | Compressed unicode string |
Expressed as a C++ structure, the Input Parameter 0 data definition is:
struct { long HeaderLength; /* number of bytes from start of buffer */ /* to database version string */ long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_ClassName; /* number of bytes from start of buffer */ /* to the table class name */ byte DatabaseVersion[]; /* as a compressed Unicode string */ byte ClassName[]; /* as a compressed Unicode string */ }
Code | Meaning |
0 | Success |
1 | Invalid command |
3 | Exception |
If the return code is 0 from the command, output parameter 0 results that is a byte array in the following format:
Field | Data type | Values |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to table token name | 4-byte signed integer | offset from start of buffer |
Database version | Compressed unicode string | |
Table token name | Compressed unicode string |
Expressed as a C++ structure, the Output Parameter 0 data definition is:
struct { long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_TokenName; /* number of bytes from start of buffer */ /* to table token name string */ byte DatabaseVersion[]; /* as a compressed Unicode string */ byte TokenNmae[]; /* as a compressed Unicode string */ }
Command code:
Value: 0x00011005
Parameter 0 of the Get Database Metadata command is a byte array in the following format:
Field | Data type | Values |
Header length | 4-byte signed integer | 12 |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to database name | 4-byte signed integer | offset from start of buffer |
Database version | Compressed unicode string | 1.2 |
Database name | Compressed unicode string | TWGServer |
Expressed as a C++ structure, the Input Parameter 0 data definition is:
struct { long HeaderLength; /* number of bytes from start of buffer */ /* to database version string */ long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_dbName; /* number of bytes from start of buffer */ /* to database name string */ byte DatabaseVersion[]; /* as a compressed Unicode string */ byte DatabaseName[]; /* as a compressed Unicode string */ }
Code | Meaning |
1 | Invalid command |
3 | Exception |
If the return code is 0 from the command, an output parameter 0 results that is a byte array in the following format:
Field | Data type | Values |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to product name | 4-byte signed integer | offset from start of buffer |
Offset to product version | 4-byte signed integer | offset from start of buffer |
Offset to driver | 4-byte signed integer | offset from start of buffer |
Offset to driver version | 4-byte signed integer | offset from start of buffer |
Number of select columns | 4-byte signed integer | Maximum number of
columns allowed in a select statement |
Number of select tables | 4-byte signed integer | Maximum number of tables
allowed in a select statement |
Database version | Compressed unicode string | Director database version |
Database product name | Compressed unicode string | |
Database product version | Compressed unicode string | |
Database driver | Compressed unicode string | |
Database driver version | Compressed unicode string |
Expressed as a C++ structure, the Output Parameter 0 data definition is:
struct { long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_prodName; /* number of bytes from start of buffer */ /* to product name string */ long off_prodVersion; /* number of bytes from start of buffer */ /* to product version string */ long off_Driver; /* number of bytes from start of buffer */ /* to driver string */ long off_driverVersion; /* number of bytes from start of buffer */ /* to driver version string */ long nSelectColumns; /* maximum number of selectable database */ /* columns. */ long nSelectTables; /* maximum number of selectable tables */ byte DatabaseVersion[]; /* as a compressed Unicode string */ byte ProductName[]; /* as a compressed Unicode string */ byte ProductVersion[]; /* as a compressed Unicode string */ byte DatabaseDriver[]; /* as a compressed Unicode string */ byte DriverVersion[]; /* as a compressed Unicode string */ }
Command code:
Value: 0x00011012
Parameter 0 of the Replace Managed Object command is a byte array in the following format:
Field | Data type | Values |
Header length | 4-byte signed integer | 20 |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to database name | 4-byte signed integer | offset from start of buffer |
Managed object id | 4-byte signed integer | |
Number of table rows | 4-byte signed integer | |
Database version | Compressed unicode string | 1.2 |
Database name | Compressed unicode string | TWGServer |
Expressed as a C++ structure, the input Parameter 0 data definition is:
struct { long HeaderLength; /* number of bytes before the string data*/ long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_dbName; /* number of bytes from start of buffer */ /* to database name string */ long moid; /* managed object identifier */ long nRows; /* number of table rows */ byte DatabaseVersion[];/* as a compressed Unicode string */ byte DatabaseName[]; /* as a compressed Unicode string */ }
Parameters 1 through n, where n is the number of table rows, describe the supplied column names and values as follows:
Field | Data type | Values |
Offset to table token name | 4-byte signed integer | offset from start of buffer |
Number of columns | 4-byte signed integer | |
Offset to start of column 1 | 4-byte signed integer | offset from start of buffer |
Offset to start of column 2 | 4-byte signed integer | offset from start of buffer |
etc... | 4-byte signed integer | offset from start of buffer |
Offset to start of column n | 4-byte signed integer | offset from start of buffer |
Table token name | Compressed unicode string | |
Offset to column 1 token name | 4-byte signed integer | offset from start of buffer |
Column 1 data type | 4-byte signed integer | an array type value |
Offset to column 1 value | 4-byte signed integer | offset from start of buffer |
Column 1 value | matches column data type | |
Column 1 token name | Compressed unicode string | |
Offset to column 2 token name | 4-byte signed integer | offset from start of buffer |
etc.... |
Expressed as a C++ structure, the input Parameter n data definition is:
struct { long off_TableTokenName; /* offset from the start of the buffer */ /* to the table token name string */ long nColumns; /* number of table columns */ long off_Column[nColumns]; /* number of bytes from start of buffer*/ /* to start of each column */ byte TableTokenName[]; /* as a compressed Unicode string */ struct column_data data[nColumns];/* a variable-length structure */ /* for each column */ }; struct column_data { long off_ColumnTokenName; /* number of bytes from start of */ /* buffer to this column token name */ long ColumnDataType; /* coded data type of the column */ long off_ColumnValue; /* number of bytes from start of */ /* buffer to this column value */ byte ColumnValue[]; /* sized according to data type */ byte ColumnTokenName[]; /* as a compressed Unicode string */ }
Code | Meaning |
1 | Invalid command |
3 | Exception |
102 | Parameter error |
Output parameters: None.
Command Code:
Value: 0x00011001
Parameter 0 of the Store Rows command is a byte array in the following format:
Field | Data type | Values |
Header length | 4-byte signed integer | 20 |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Offset to database name | 4-byte signed integer | offset from start of buffer |
Type of update | 4-byte signed integer |
|
Number of table rows | 4-byte signed integer | |
Database version | Compressed unicode string | 1.2 |
Database name | Compressed unicode string | TWGServer |
Expressed as a C++ structure, the input Parameter 0 data definition is:
struct { long HeaderLength; /* number of bytes before the string data*/ long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long off_dbName; /* number of bytes from start of buffer */ /* to database name string */ long UpdateType; /* 2 = update OR 3 = transaction */ long nRows; /* number of table rows */ byte DatabaseVersion[];/* as a compressed Unicode string */ byte DatabaseName[]; /* as a compressed Unicode string */ }
Parameters 1 through n, where n is the number of table rows, describe the supplied column names and values as follows:
Field | Data type | Values |
Offset to table token name | 4-byte signed integer | offset from start of buffer |
Number of columns | 4-byte signed integer | |
Offset to start of column 1 | 4-byte signed integer | offset from start of buffer |
Offset to start of column 2 | 4-byte signed integer | offset from start of buffer |
etc. | ... | offset from start of buffer |
Offset to start of column n | 4-byte signed integer | offset from start of buffer |
Table token name | Compressed unicode string | |
Offset to column 1 token name | 4-byte signed integer | offset from start of buffer |
Column 1 data type | 4-byte signed integer | an array type value |
Offset to column 1 value | 4-byte signed integer | offset from start of buffer |
Column 1 value | matches column data type | |
Column 1 token name | Compressed unicode string | |
Offset to column 2 token name | 4-byte signed integer | offset from start of buffer |
etc... |
Expressed as a C++ structure, the input Parameter n data definition is:
struct { long off_TableTokenName; /* offset from the start of the buffer */ /* to the table token name string */ long nColumns; /* number of table columns */ long off_Column[nColumns]; /* number of bytes from start of buffer*/ /* to start of each column */ byte TableTokenName[]; /* as a compressed Unicode string */ struct column_data data[nColumns];/* a variable-length structure */ /* for each column */ }; struct column_data { long off_ColumnTokenName; /* number of bytes from start of */ /* buffer to this column token name */ long ColumnDataType; /* coded data type of the column */ long off_ColumnValue; /* number of bytes from start of */ /* buffer to this column value */ byte ColumnValue[]; /* sized according to data type */ byte ColumnTokenName[]; /* as a compressed Unicode string */ }
Code | Meaning |
1 | Invalid command |
3 | Exception |
4 | SQL Error |
102 | Parameter error |
Output parameter 0 is a byte array in the following format:
Field | Data type | Values |
Offset to database version | 4-byte signed integer | offset from start of buffer |
Number of rows changed | 4-byte signed integer | Number of database table rows inserted and/or updated. If the store rows command was a transaction, this will contain 0 if any update or insert fails. |
Number of commands processed | 4-byte signed integer | Number of insert and/or update commands successfully processed. If the store rows command was a transaction, this will contain the number of the last command issued before the failing command, however the successful updates were not committed to the database. |
Database version | Compressed unicode string |
Expressed as a C++ structure, the Output Parameter 0 data definition is:
struct { long off_dbVersion; /* number of bytes from start of buffer */ /* to database version string */ long nRowsChanged; /* number of database rows inserted or */ /* updated. */ long nCommands; /* number of commands processed successfully */ byte DatabaseVersion[];/* as a compressed Unicode string */ }