Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update tuple serialization: exclude unnecessary array header when size is already known from the schema

...

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
arr or nilvaluesvalues for key columns (in schema order)

...

Response
int or nilschema id for the current tuple, or nil when there is no matching record
arrvaluestuple values in schema order, when schema id is not nil

...

Request
UUIDtable ID
intschema ID
introw count
valuesarr of arrarray of rows with values for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
introw count
valuesarr of arrarray of rows with values for key columns (in schema order)

...

Response
intschema ID (for all tuples in response)
introw count
valuesarr of arrarray of rows with values in schema order. Any row can be null

TUPLE_GET_AND_UPSERT = 16

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Response
int or nilschema id for the current tuple, or nil when there is no matching record
arrvaluestuple values in schema order

...

Response
int or nilschema id for the current tuple, or nil when there is no matching record
arr or nilvaluestuple values in schema order , or null when there was no matching recordwhen schema id in not null

TUPLE_INSERT = 18

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
introw count
valuesarr of arrarray of rows with values for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
arrvaluesoldRec: values for all columns in given schema (nil when value is missing for a column)
arrvaluesnewRec: values for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Response
int or nilschema id for the current tuple, or nil when there is no matching record
arrvaluestuple values in schema order

...

Response
int or nilschema id for the current tuple, or nil when there is no matching record
arrvaluestuple values in schema order

...

Request
UUIDtable ID
intschema ID
arrvaluesvalues for key columns in given schema

...

Request
UUIDtable ID
intschema ID
introw count
valuesarr of arrarray of rows with values for key columns in given schema

...

Response
intschema ID (for all tuples in response)
introw count
valuesarr of arrRecords that were not deleted: array of rows with values in schema order.

...

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Request
UUIDtable ID
intschema ID
introw count
valuesarr of arrarray of rows with values for all columns in given schema (nil when value is missing for a column)

...

Response
intschema ID (for all tuples in response)
introw count
valuesarr of arrRecords that were not deleted: array of rows with values in schema order.

...

Request
UUIDtable ID
intschema ID
arrvaluesvalues for all columns in given schema (nil when value is missing for a column)

...

Response
int or nilschema id for the current tuple, or nil when there is no matching record
arrvaluestuple values in schema order, when schema id is not null

Risks and Assumptions

  • This IEP covers handshake and Tables API, which is the only public API available at the moment.
  • Invoke API is out of scope: code deployment and processor serialization should be designed separately.

...