Transition to KDB7
Features
You must explicitly connect to a named database, defined in the kconf.xml configuration file, using a call to KI_CONNECT and passing a connection handle allocated by KI_ALLOC_CONNECT. A database can be bootstrapped using CREATE DATABASE. A database contains a catalog table listing all the tables contained in the database.
A database has associated with it one or more tablespaces. These represent areas of storage that can hold the tables of the database and are usually directories in a Unix filesystem. Tablespaces are defined with CREATE TABLESPACE SQL statements.
Tables are created and dropped using CREATE TABLE and DROP TABLE SQL statements processed by KI_SQL. Indexes can be added or dropped later with separate CREATE INDEX and DROP INDEX SQL statements. There is no support for KI_CREATE, KI_EXTEND or KI_GROW.
KDB7 tables are organized into fixed sized pages, usually 8kb in size, which effectively limit the maximum row size to the page size less a few bytes. The page size is set when the table is created.
Indexes must have unique keys which are defined in terms of columns.
a ROWID for a KDB7 table requires 6 bytes but should be defined using the constant _KDB_MAX_ROWID_LEN to be compatible with Oracle and other SQL databases.