...
Key tuples are tuples with key columns only. Key columns always come first in the schema. So if there are 2 key columns, first two values of the tuple is the key.
Ignite Table API handles "column set to null" (1) and "column not set" (2) differently.
NoValue custom protocol type reflects this distinction.
Request | |
---|---|
4 bytes | Magic number 49 47 4E 49, or "IGNI". Helps to identify misconfigured SSL or other apps probing the port. |
int | Payload length |
int | Version major |
int | Version minor |
int | Version patch |
int | Client code (1 for JDBC, 2 for general-purpose client) |
bin | Features (bitmask) |
map (string → any) | Extensions (auth, attributes, etc). Server can skip unknown extension data (when client is newer). |
...
Response | |
---|---|
4 bytes | Magic number 49 47 4E 49, or "IGNI". Helps to identify misconfigured SSL or different server on the port. |
int | Payload length |
int | Server version major |
int | Server version minor |
int | Server version patch |
int | Error code (0 for success) |
string | Error message (when error code is not 0) |
int | When error code is 0: Server idle timeout |
string | When error code is 0: Server node id |
string | When error code is 0: Server node name (consistent id) |
bin | When error code is 0: Server features (bitmask) |
map (string → any) | When error code is 0: Extensions (auth, attributes, etc). Client can skip unknown extension data (when server is newer). |
...
Request | |
int | Operation code |
int | Request id, generated by client and returned as-is in response |
... | Operation-specific data |
Response | ||
int | Type = 0 | |
int | Request id | |
int | Flags (1 = partition assignment changed) | |
long | Observable timestamp (causality token) | |
uuid or null | Trace id (null for success) | |
int | Error code ( | 0 for successwhen trace id is not null) |
string | Error message | (when error code is not 0(when trace id is not null) |
string or null | Error stack trace (when trace id is not null) | |
map or null | Error details (when trace id is not null) | |
... | Operation-specific data (when trace id is null) |
Request or response without operation-specific data is called basic request or basic response below.
...
Operation codes and request ids are omitted everywhere below for brevity.
...
...
Basic response.
Basic request.
Response | |
---|---|
map (UUID -> string) | map of table ids and names |
Note: tables can only be created/deleted with SQL, there are no TABLE_CREATE or TABLE_DROP operations.
Request | |
---|---|
string | table name |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for key columns (in schema order) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
int | row count |
values | rows with values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID, or nil when result set is empty |
int | row count |
values | array of rows with values for key columns (in schema order) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
int | row count |
values | rows with values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | oldRec: values for all columns in given schema (nil when value is missing for a column) |
values | newRec: values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for key columns in given schema |
...
Response | |
---|---|
bool | Delete result |
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
int | row count |
values | rows with values for key columns in a given schema |
Response | |
---|---|
int | schema id, or nil when no rows were skipped |
int | skipped row count |
values | skipped rows (values for key columns in schema order) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
int | row count |
values | rows with values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for all columns in given schema (nil when value is missing for a column) |
...
Request | |
---|---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for key columns |
...
Response | |
---|---|
bool | whether a tuple with the given key exists |
Request | |
---|---|
bool | Read-only tx flag |
long | Observable timestamp (value from server - see standard response header) |
Response | |
---|---|
int | Transaction ID |
Request | |
---|---|
int | Transaction ID |
Basic response
Request | |
---|---|
int | Transaction ID |
Basic response
...