Skip to main content

Module schema

Module schema 

Source
Expand description

CSP’s own schema registry inside every .clip / .cmc database.

  • ParamScheme: one row per column CSP knows (TableName, LabelName), with a data type code, an owner element kind and, for id columns, the table the id points into (LinkTable). It lists every table of the saving CSP version, also tables the file does not contain.
  • ElemScheme: one row per table with its element kind (ElemType) and the highest MainId handed out so far (MaxIndex).
  • ExternalTableAndColumnName: the columns whose values are external chunk ids (pixel blocks, vector data, 3D data, time-lapse data).

See docs/spec/02-database.md for what the codes mean.

Structs§

Elem
One ElemScheme row.
Param
One ParamScheme row.
Schema
The registry of one database.

Enums§

DataType
ParamScheme.DataType.

Functions§

allocate_main_id
Hand out the next MainId of table, as CSP does: one more than both ElemScheme.MaxIndex and the highest id in the table, recorded back into ElemScheme.
element_kind_name
Element kinds (ElemScheme.ElemType, ParamScheme.OwnerType). An owner column holds the MainId of the element of that kind that owns the row (for example Offscreen.LayerId, owner kind 4 = layer).