Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
CREATE TABLE gt_pk_metadata (
 table_schema VARCHAR(32),
 table_name VARCHAR(32) NOT NULL,
 pk_column VARCHAR(32) NOT NULL,
 pk_column_idx INTEGER,
 pk_policy VARCHAR(32),
 pk_sequence VARCHAR(64),
 unique (table_schema, table_name, pk_column),
 check (pk_policy in ('sequence', 'assigned', 'autoincrementautogenerated'))
)

pk_policy can be 'assigned', 'sequence' or 'autogenerated' depending upon how the key column value is generated. The pk_sequence value only need to be set if the policy is 'sequence'.
'sequence' means that the value for the column is generated using a database sequence, and the 'pk_sequence' value must be set.
'autogenerated' means that the value for the column is generated by the database using another method.
'assigned' means that the value for the column is determined by the current maximum value +1, if the column is an integral type, or as a random string if the column is textual.

...