...
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.
...
TUPLE_UPSERT = 10
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) |
...
TUPLE_GET = 12
Request |
---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for key columns (in schema order) |
...
TUPLE_UPSERT_ALL = 13
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) |
...
TUPLE_GET_ALL = 15
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) |
...
TUPLE_GET_AND_UPSERT = 16
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) |
...
TUPLE_INSERT = 18
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) |
...
TUPLE_INSERT_ALL = 20
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) |
...
TUPLE_REPLACE = 22
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) |
...
TUPLE_REPLACE_EXACT = 24
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) |
...
TUPLE_GET_AND_REPLACE = 26
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) |
...
TUPLE_DELETE = 28
Request |
---|
UUID | table ID |
int or nil | transaction ID |
int | schema ID |
values | values for key columns in given schema |
...
Response |
---|
bool | Delete result |
TUPLE_DELETE_ALL = 29
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) |
...
TUPLE_DELETE_EXACT = 30
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) |
...
TUPLE_DELETE_ALL_EXACT = 31
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) |
...
TUPLE_GET_AND_DELETE = 32
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) |
...
TUPLE_CONTAINS_KEY = 33
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 |
TX_BEGIN = 43
...
Request |
---|
bool | Read-only tx flag |
long | Observable timestamp (value from server - see standard response header) |
Response |
---|
int | Transaction ID |
TX_COMMIT = 44
Basic response
TX_ROLLBACK = 45
Basic response
Risks and Assumptions
...