The logical framework of the database is known as a schema. In UltraLite, the schema is maintained as a catalog of system tables that hold the metadata for the UltraLite database. Metadata stored in the system tables includes:
Index definitions. See sysindex system table and sysixcol system table.
Table definitions. See systable system table.
Column definitions. See syscolumn system table.
Publication definitions. See syspublication system table and sysarticle system table.
User names and passwords. See sysuldata system table.
You can change the schema of a database with Data Definition Language (DDL) statements. A schema change can take a considerable amount of time; for example, changing the type of a column means that all rows in the associated table must be updated. Therefore, DDL statements only successfully execute when there aren't any:
Uncommitted transactions.
Other active uses of the schema (for example, synchronization, prepared but unreleased statements, or executing database operations).
If either of these conditions is true, the DDL statement fails. When the DDL statement is executing, any other attempt to use the database is blocked until the DDL statements completes the schema change.