Skip to main content

Table Data

The table data section stores table rows as CSV.

--- table:<table_name>:data

Rules

  • The first CSV row is the header.
  • Header names must exactly match schema column names in schema order.
  • Each following row is one record.
  • Values are serialized according to their CSDB type.
  • CSV uses UTF-8.
  • The delimiter is comma.
  • The quote character is double quote.
  • Embedded quotes are escaped by doubling them.
  • Line endings should be LF.

Column Order

CSV columns must appear in schema order. Readers must reject CSV headers that do not exactly match the schema column order.

Nulls

An empty CSV field represents null only when the column is not required.

id,end_time
s_001,

An empty string value must be quoted:

id,note
s_001,""

Example

id,worker_id,start_time,end_time,hourly_pay,metadata
s_001,w_001,2026-01-01T09:00:00Z,2026-01-01T17:00:00Z,25.00,"{""source"":""manual""}"
s_002,w_001,2026-01-02T09:00:00Z,,25.00,"{""source"":""timer""}"

Stored Computed Fields

If a computed field has stored: true, it must appear in the CSV header and every data row.

If a computed field has stored: false, it must not appear in the CSV data unless it is also declared as a normal column.