Managing SERIALs in a generated application
Primary keys you define as SERIAL are managed by the
BAM using a table named seqreg in the meta-schema (4dbx). BAM
uses this table to provide a sequence of unique integer numbers for SERIAL columns
keys.
The seqreg table
For generated applications, BAM automatically adds a seqreg table to a new
meta-schema (4dbx). It contains two columns; one with the name of the table
having a SERIAL column and one with the last SERIAL column value
for that table. Thus one seqreg table facilitates a sequence number management for
all tables with SERIAL columns in the database.
When a new row is inserted in a table, the BAM provides the primary key value by auto-incrementing the last serial column value entered for the table.
No configuration required
Once you have created a table with a SERIAL defined as the primary key, BAM
manages sequence number generation and generates all code necessary to handle inserting the new
sequence number during an Add operation. No additional configuration or modeling is required.
You may initialize the seqreg table with the appropriate records otherwise
SERIAL columns will start at number 1.
If the database schema does not contain SERIAL columns,
the seqreg table is not required in the schema.
Informix databases
The seqreg table is required in a schema containing SERIAL
columns except for Informix® databases where the native
Informix
SERIAL management is used.
For further information on how the seqreg table is used, see Solution 2:
Generate serial numbers from your own sequence table in the Genero Business Development Language User Guide.