db.h File Reference


Detailed Description

Entry point for the ITTIA DB C API.

The C API provides a low-level interface to the database kernel.

To access the C API, include ittia/db.h.

#include <ittia/db.h>

#include <ittia/os/os_config.h>
#include <ittia/os/os_byte_order.h>
#include <ittia/os/os_wait_time.h>
#include <ittia/db/db_defs.h>
#include <ittia/db/db_error.h>
#include <ittia/db/db_version.h>

Data Structures

struct  db_alloc_t
 Standard allocator for API data structures. More...
union  db_largeint_t
 Large integer (64-bit) data type. More...
union  db_ulargeint_t
 Unsigned large integer (64-bit) data type. More...
struct  db_date_t
 Date data type. More...
struct  db_time_t
 Time data type. More...
struct  db_datetime_t
 Date and time data type. More...
struct  db_timestamp_t
 Timestamp data type. More...
struct  db_blob_t
 BLOB access data type. More...
struct  db_oid_t
 Database object identity. More...
struct  db_config_t
 ITTIA DB library configuration. More...
struct  db_crypt_t
 Encryption hook interface. More...
struct  db_file_storage_config_t
 Database file storage configuration. More...
struct  db_storage_config_t
 General storage configuration. More...
struct  db_fielddef_t
 Field definition. More...
struct  db_paramdef_t
struct  db_bind_t
 Row binding description. More...
struct  db_bufmgr_stat_t
 C_API. More...
struct  db_buf_stat_t
 Statistics on a specific page in the database or buffer in the cache. More...
struct  lm_local_config_t
 Lock manager configuration for local lock manager. More...
struct  lm_config_t
 Lock manager configuration. More...
struct  db_seqdef_t
 Sequence definition. More...
struct  db_indexfield_t
 Index field definition. More...
struct  db_indexdef_t
 Index definition. More...
struct  db_tabledef_t
 Table definition. More...
struct  db_table_cursor_t
 Table cursor settings. More...
struct  db_event_t
 C_API. More...

Defines

#define DB_API_100   0x100
#define DB_API_101   0x101
#define DB_API_102   0x102
#define DB_API_VER   DB_API_102
#define DB_DECLARE_HANDLE(name)   typedef struct name##_s * name
#define DB_NAME(x)   x
#define DB_ALLOC_INITIALIZER()   { NULL, 0 }
#define DB_OK   ((db_result_t)1)
#define DB_FAIL   ((db_result_t)0)
#define DB_WTIME_FAIL   ((db_wtime_t)(-1))
#define DB_LEN_FAIL   ((db_len_t)(-1))
#define DB_OID_TAG_NONE   0
#define DB_OID_INITIALIZER()   { DB_ALLOC_INITIALIZER() , DB_OID_TAG_NONE }
#define DB_BIND_SIZE(type, member)   sizeof(((type*)0)->member)
#define DB_BIND_OFFSET(type, member)   ((db_addr_t)&(((type*)0)->member))
#define DB_BIND_ADDRESS(var)   ((db_addr_t)(var))
#define _LM_NONE   0
#define _LM_LOCAL   1
#define _DB_SEQUENCE_MIN   INT64_MIN
#define _DB_SEQUENCE_MAX   INT64_MAX
#define _DBIDF_MANAGED_FIELDS   0x00001
#define _DBIDF_INVALID   0x10000
#define _DBTDF_MANAGED_FIELDS   0x00001
#define _DBTDF_MANAGED_INDEXES   0x00002
#define _DBTDF_INVALID   0x10000
#define _DB_INFO_APIVER   1
#define _DB_INFO_MINAPI   2
#define _DB_INFO_MAJOR   3
#define _DB_INFO_MINOR   4
#define _DB_INFO_PATCH   5
#define _DB_INFO_BUILD   6
#define _DB_INFO_FULL_ANSI_NAME   20
#define _DB_INFO_FULL_UTF8_NAME   21
#define _DB_INFO_FULL_UTF16_NAME   22
#define _DB_INFO_FULL_UTF32_NAME   23
#define _DB_INFO_SHORT_ANSI_NAME   24
#define _DB_INFO_SHORT_UTF8_NAME   25
#define _DB_INFO_SHORT_UTF16_NAME   26
#define _DB_INFO_SHORT_UTF32_NAME   27
#define _DB_INFO_DEBUG   40
#define _DB_INFO_THREAD   41
#define _DB_INFO_SHAREDLIB   45
#define _DB_INFO_DISPOSITION   44
#define _DB_DISPOSITION_STANDALONE   0
#define _DB_DISPOSITION_IPCSOCKETS   2
#define _DB_INFO_ERROR   (~(uintptr_t)0)
#define DB_LOCK_DEFAULT   _DB_LOCK_DEFAULT
#define DB_LOCK_SHARED   _DB_LOCK_SHARED
#define DB_LOCK_EXCLUSIVE   _DB_LOCK_EXCLUSIVE
#define DB_LOCK_MODE_MASK   _DB_LOCK_MODE_MASK
#define DB_SCAN_FORWARD   _DB_SCAN_FORWARD
#define DB_SCAN_BACKWARD   _DB_SCAN_BACKWARD
#define DB_SCAN_MASK   _DB_SCAN_MASK
#define DB_DEFAULT_ISOLATION   _DB_DEFAULT_ISOLATION
#define DB_READ_COMMITTED   _DB_READ_COMMITTED
#define DB_REPEATABLE_READ   _DB_REPEATABLE_READ
#define DB_SERIALIZABLE   _DB_SERIALIZABLE
#define DB_ISOLATION_MASK   _DB_ISOLATION_MASK
#define DB_CAN_MODIFY   _DB_CAN_MODIFY
#define DB_CAN_BOOKMARK   _DB_CAN_BOOKMARK
#define DB_CURSOR_MASK   _DB_CURSOR_MASK
#define DB_DEFAULT_COMPLETION   _DB_DEFAULT_COMPLETION
#define DB_LAZY_COMPLETION   _DB_LAZY_COMPLETION
#define DB_FORCED_COMPLETION   _DB_FORCED_COMPLETION
#define DB_GROUP_COMPLETION   _DB_GROUP_COMPLETION
#define DB_COMPLETION_MASK   _DB_COMPLETION_MASK
#define DB_TRY_LOCK   _DB_TRY_LOCK
#define DB_COMMIT_LOCK   _DB_COMMIT_LOCK
#define DB_INSTANT_LOCK   _DB_INSTANT_LOCK
#define DB_MANUAL_LOCK   _DB_MANUAL_LOCK
#define DB_LOCK_DURATION_MASK   _DB_LOCK_DURATION_MASK
#define DB_LOCKING_MASK   _DB_LOCKING_MASK
#define DB_FLUSH_JOURNAL   _DB_FLUSH_JOURNAL
#define DB_FLUSH_STORAGE   _DB_FLUSH_STORAGE
#define DB_FLUSH_MASK   _DB_FLUSH_MASK
#define DB_MULTISET_INDEX   _DB_MULTISET_INDEX
#define DB_UNIQUE_INDEX   _DB_UNIQUE_INDEX
#define DB_INDEX_MASK   _DB_INDEX_MASK
#define DB_MEM_TIGHT   _DB_MEM_TIGHT
#define DB_MEM_COMPACT   _DB_MEM_COMPACT
#define DB_MEM_LARGE   _DB_MEM_LARGE
#define DB_NULLABLE   _DB_NULLABLE
#define DB_NOT_NULL   _DB_NOT_NULL
#define DB_INSERT_SEEK_NEW   _DB_INSERT_SEEK_NEW
#define DB_DELETE_SEEK_NEXT   _DB_DELETE_SEEK_NEXT
#define DB_DELETE_SEEK_PRIOR   _DB_DELETE_SEEK_PRIOR
#define DB_FIELD_NULL   _DB_FIELD_NULL
#define DB_NTS   _DB_NTS
#define DB_BLOB_CHSIZE   _DB_BLOB_CHSIZE
#define DB_AUTOFIELD   _DB_AUTOFIELD
#define DB_SEEK_LESS   _DB_SEEK_LESS
#define DB_SEEK_LESS_OR_EQUAL   _DB_SEEK_LESS_OR_EQUAL
#define DB_SEEK_FIRST_EQUAL   _DB_SEEK_FIRST_EQUAL
#define DB_SEEK_LAST_EQUAL   _DB_SEEK_LAST_EQUAL
#define DB_SEEK_GREATER   _DB_SEEK_GREATER
#define DB_SEEK_GREATER_OR_EQUAL   _DB_SEEK_GREATER_OR_EQUAL
#define DB_SEEK_EQUAL   _DB_SEEK_EQUAL
#define DB_SINGLE_PROCESS   _DB_SINGLE_PROCESS
#define DB_BIND_RELATIVE   _DB_BIND_RELATIVE
#define DB_BIND_ABSOLUTE   _DB_BIND_ABSOLUTE
#define DB_BIND_MASK   _DB_BIND_MASK
#define DB_DUPLICATE_SAME_FLAGS   _DB_DUPLICATE_SAME_FLAGS
#define LM_NONE   _LM_NONE
#define LM_LOCAL   _LM_LOCAL
#define DB_SEQUENCE_MIN   _DB_SEQUENCE_MIN
#define DB_SEQUENCE_MAX   _DB_SEQUENCE_MAX
#define DB_SEQUENCE_ERROR   _DB_SEQUENCE_ERROR
#define DB_INDEXTYPE_DEFAULT   _DB_INDEXTYPE_DEFAULT
#define DB_INDEXTYPE_BTREE   _DB_INDEXTYPE_BTREE
#define DB_TABLETYPE_DEFAULT   _DB_TABLETYPE_DEFAULT
#define DB_TABLETYPE_KHEAP   _DB_TABLETYPE_KHEAP
#define DB_FILE_TYPE_MASK   _DB_FILE_TYPE_MASK
#define DB_FILE_INTERFACE_MASK   _DB_FILE_INTERFACE_MASK
#define DB_DEFAULT_JOURNAL   _DB_DEFAULT_JOURNAL
#define DB_INTERNAL_JOURNAL   _DB_INTERNAL_JOURNAL
#define DB_EXTERNAL_JOURNAL   _DB_EXTERNAL_JOURNAL
#define DB_SOFT_SHUTDOWN   _DB_SOFT_SHUTDOWN
#define DB_DESCRIBE_TABLE_FIELDS   _DB_DESCRIBE_TABLE_FIELDS
#define DB_DESCRIBE_TABLE_INDEXES   _DB_DESCRIBE_TABLE_INDEXES
#define DB_DESCRIBE_TABLE_MASK   _DB_DESCRIBE_TABLE_MASK
#define DB_WATCH_ROW_INSERT   _DB_WATCH_ROW_INSERT
#define DB_WATCH_ROW_UPDATE   _DB_WATCH_ROW_UPDATE
#define DB_INFO_ERROR   _DB_INFO_ERROR
#define DB_INFO_APIVER   _DB_INFO_APIVER
#define DB_INFO_MINAPI   _DB_INFO_MINAPI
#define DB_INFO_MAJOR   _DB_INFO_MAJOR
#define DB_INFO_MINOR   _DB_INFO_MINOR
#define DB_INFO_PATCH   _DB_INFO_PATCH
#define DB_INFO_BUILD   _DB_INFO_BUILD
#define DB_INFO_FULL_ANSI_NAME   _DB_INFO_FULL_ANSI_NAME
#define DB_INFO_FULL_UTF8_NAME   _DB_INFO_FULL_UTF8_NAME
#define DB_INFO_FULL_UTF16_NAME   _DB_INFO_FULL_UTF16_NAME
#define DB_INFO_FULL_UTF32_NAME   _DB_INFO_FULL_UTF32_NAME
#define DB_INFO_SHORT_ANSI_NAME   _DB_INFO_SHORT_ANSI_NAME
#define DB_INFO_SHORT_UTF8_NAME   _DB_INFO_SHORT_UTF8_NAME
#define DB_INFO_SHORT_UTF16_NAME   _DB_INFO_SHORT_UTF16_NAME
#define DB_INFO_SHORT_UTF32_NAME   _DB_INFO_SHORT_UTF32_NAME
#define DB_INFO_DEBUG   _DB_INFO_DEBUG
#define DB_INFO_THREAD   _DB_INFO_THREAD
#define DB_INFO_SHAREDLIB   _DB_INFO_SHAREDLIB
#define DB_INFO_DISPOSITION   _DB_INFO_DISPOSITION
#define DB_DISPOSITION_STANDALONE   _DB_DISPOSITION_STANDALONE
#define DB_DISPOSITION_IPCSOCKETS   _DB_DISPOSITION_IPCSOCKETS
File Modes
#define DB_READ_ONLY   _DB_READ_ONLY
#define DB_NOLOGGING   _DB_NOLOGGING
#define DB_NOLOCKING   _DB_NOLOCKING
#define DB_UTF8_NAME   _DB_UTF8_NAME
Database Storage Types
#define DB_FILE_STORAGE   _DB_FILE_STORAGE
File Interfaces
#define DB_FILE_DEFFS   _DB_FILE_DEFFS
#define DB_FILE_WIN32   _DB_FILE_WIN32
#define DB_FILE_POSIX   _DB_FILE_POSIX
#define DB_FILE_UCFS   _DB_FILE_UCFS
#define DB_FILE_CRASHFS   _DB_FILE_CRASHFS
Database Data Type Tags
#define DB_COLTYPE_SINT8_TAG   _DB_COLTYPE_SINT8_TAG
#define DB_COLTYPE_UINT8_TAG   _DB_COLTYPE_UINT8_TAG
#define DB_COLTYPE_SINT16_TAG   _DB_COLTYPE_SINT16_TAG
#define DB_COLTYPE_UINT16_TAG   _DB_COLTYPE_UINT16_TAG
#define DB_COLTYPE_SINT32_TAG   _DB_COLTYPE_SINT32_TAG
#define DB_COLTYPE_UINT32_TAG   _DB_COLTYPE_UINT32_TAG
#define DB_COLTYPE_SINT64_TAG   _DB_COLTYPE_SINT64_TAG
#define DB_COLTYPE_UINT64_TAG   _DB_COLTYPE_UINT64_TAG
#define DB_COLTYPE_FLOAT32_TAG   _DB_COLTYPE_FLOAT32_TAG
#define DB_COLTYPE_FLOAT64_TAG   _DB_COLTYPE_FLOAT64_TAG
#define DB_COLTYPE_CURRENCY_TAG   _DB_COLTYPE_CURRENCY_TAG
#define DB_COLTYPE_DATE_TAG   _DB_COLTYPE_DATE_TAG
#define DB_COLTYPE_TIME_TAG   _DB_COLTYPE_TIME_TAG
#define DB_COLTYPE_DATETIME_TAG   _DB_COLTYPE_DATETIME_TAG
#define DB_COLTYPE_TIMESTAMP_TAG   _DB_COLTYPE_TIMESTAMP_TAG
#define DB_COLTYPE_ANSISTR_TAG   _DB_COLTYPE_ANSISTR_TAG
#define DB_COLTYPE_UTF8STR_TAG   _DB_COLTYPE_UTF8STR_TAG
#define DB_COLTYPE_UTF16STR_TAG   _DB_COLTYPE_UTF16STR_TAG
#define DB_COLTYPE_UTF32STR_TAG   _DB_COLTYPE_UTF32STR_TAG
#define DB_COLTYPE_BLOB_TAG   _DB_COLTYPE_BLOB_TAG
#define DB_COLTYPE_UNDEFINED_TAG   _DB_COLTYPE_UNDEFINED_TAG
C Language Data Type Tags
#define DB_VARTYPE_SINT8_TAG   _DB_VARTYPE_SINT8_TAG
#define DB_VARTYPE_UINT8_TAG   _DB_VARTYPE_UINT8_TAG
#define DB_VARTYPE_SINT16_TAG   _DB_VARTYPE_SINT16_TAG
#define DB_VARTYPE_UINT16_TAG   _DB_VARTYPE_UINT16_TAG
#define DB_VARTYPE_SINT32_TAG   _DB_VARTYPE_SINT32_TAG
#define DB_VARTYPE_UINT32_TAG   _DB_VARTYPE_UINT32_TAG
#define DB_VARTYPE_SINT64_TAG   _DB_VARTYPE_SINT64_TAG
#define DB_VARTYPE_UINT64_TAG   _DB_VARTYPE_UINT64_TAG
#define DB_VARTYPE_FLOAT32_TAG   _DB_VARTYPE_FLOAT32_TAG
#define DB_VARTYPE_FLOAT64_TAG   _DB_VARTYPE_FLOAT64_TAG
#define DB_VARTYPE_DATE_TAG   _DB_VARTYPE_DATE_TAG
#define DB_VARTYPE_TIME_TAG   _DB_VARTYPE_TIME_TAG
#define DB_VARTYPE_DATETIME_TAG   _DB_VARTYPE_DATETIME_TAG
#define DB_VARTYPE_TIMESTAMP_TAG   _DB_VARTYPE_TIMESTAMP_TAG
#define DB_VARTYPE_ANSISTR_TAG   _DB_VARTYPE_ANSISTR_TAG
#define DB_VARTYPE_UTF8STR_TAG   _DB_VARTYPE_UTF8STR_TAG
#define DB_VARTYPE_UTF16STR_TAG   _DB_VARTYPE_UTF16STR_TAG
#define DB_VARTYPE_UTF32STR_TAG   _DB_VARTYPE_UTF32STR_TAG
#define DB_VARTYPE_BLOB_TAG   _DB_VARTYPE_BLOB_TAG
Database Data Type Identifiers
#define DB_COLTYPE_SINT8   _DB_COLTYPE_SINT8
#define DB_COLTYPE_UINT8   _DB_COLTYPE_UINT8
#define DB_COLTYPE_SINT16   _DB_COLTYPE_SINT16
#define DB_COLTYPE_UINT16   _DB_COLTYPE_UINT16
#define DB_COLTYPE_SINT32   _DB_COLTYPE_SINT32
#define DB_COLTYPE_UINT32   _DB_COLTYPE_UINT32
#define DB_COLTYPE_SINT64   _DB_COLTYPE_SINT64
#define DB_COLTYPE_UINT64   _DB_COLTYPE_UINT64
#define DB_COLTYPE_FLOAT32   _DB_COLTYPE_FLOAT32
#define DB_COLTYPE_FLOAT64   _DB_COLTYPE_FLOAT64
#define DB_COLTYPE_CURRENCY   _DB_COLTYPE_CURRENCY
#define DB_COLTYPE_DATE   _DB_COLTYPE_DATE
#define DB_COLTYPE_TIME   _DB_COLTYPE_TIME
#define DB_COLTYPE_DATETIME   _DB_COLTYPE_DATETIME
#define DB_COLTYPE_TIMESTAMP   _DB_COLTYPE_TIMESTAMP
#define DB_COLTYPE_ANSISTR   _DB_COLTYPE_ANSISTR
#define DB_COLTYPE_UTF8STR   _DB_COLTYPE_UTF8STR
#define DB_COLTYPE_UTF16STR   _DB_COLTYPE_UTF16STR
#define DB_COLTYPE_UTF32STR   _DB_COLTYPE_UTF32STR
#define DB_COLTYPE_BLOB   _DB_COLTYPE_BLOB
#define DB_COLTYPE_UNDEFINED   _DB_COLTYPE_UNDEFINED
C Language Data Type Identifiers
#define DB_VARTYPE_SINT8   _DB_VARTYPE_SINT8
#define DB_VARTYPE_UINT8   _DB_VARTYPE_UINT8
#define DB_VARTYPE_SINT16   _DB_VARTYPE_SINT16
#define DB_VARTYPE_UINT16   _DB_VARTYPE_UINT16
#define DB_VARTYPE_SINT32   _DB_VARTYPE_SINT32
#define DB_VARTYPE_UINT32   _DB_VARTYPE_UINT32
#define DB_VARTYPE_SINT64   _DB_VARTYPE_SINT64
#define DB_VARTYPE_UINT64   _DB_VARTYPE_UINT64
#define DB_VARTYPE_FLOAT32   _DB_VARTYPE_FLOAT32
#define DB_VARTYPE_FLOAT64   _DB_VARTYPE_FLOAT64
#define DB_VARTYPE_DATE   _DB_VARTYPE_DATE
#define DB_VARTYPE_TIME   _DB_VARTYPE_TIME
#define DB_VARTYPE_DATETIME   _DB_VARTYPE_DATETIME
#define DB_VARTYPE_TIMESTAMP   _DB_VARTYPE_TIMESTAMP
#define DB_VARTYPE_ANSISTR   _DB_VARTYPE_ANSISTR
#define DB_VARTYPE_UTF8STR   _DB_VARTYPE_UTF8STR
#define DB_VARTYPE_UTF16STR   _DB_VARTYPE_UTF16STR
#define DB_VARTYPE_UTF32STR   _DB_VARTYPE_UTF32STR
#define DB_VARTYPE_BLOB   _DB_VARTYPE_BLOB
#define DB_VARTYPE_UNDEFINED   _DB_VARTYPE_UNDEFINED

Typedefs

typedef struct db_t_s * db_t
typedef struct db_row_t_s * db_row_t
typedef struct db_cursor_t_s * db_cursor_t
typedef struct db_sequence_t_s * db_sequence_t
typedef struct db_hlock_t_s * db_hlock_t
typedef struct db_coltype_t_s * db_coltype_t
typedef struct db_vartype_t_s * db_vartype_t
typedef struct db_notify_t_s * db_notify_t
typedef struct db_heap_s * db_heap_t
typedef char db_objname_t
typedef os_wait_time_t db_wtime_t
typedef int32_t db_flags_t
typedef intptr_t db_addr_t
typedef uint16_t db_api_t
typedef struct rc_s * db_result_t
typedef int(DB_CALLBACK * db_encrypt_t )(void *udata, uint32_t offset, void *data, size_t size)
typedef int(DB_CALLBACK * db_decrypt_t )(void *udata, uint32_t offset, void *data, size_t size)
typedef db_largeint_t db_seqvalue_t
Data Types
typedef char db_ansi_t
typedef uint8_t db_utf8_t
typedef uint16_t db_utf16_t
typedef uint32_t db_utf32_t
typedef float32_t db_float32_t
typedef float64_t db_float64_t
typedef db_ssize_t db_len_t
typedef db_ssize_t db_fieldno_t
typedef void * db_object_t

Enumerations

enum  db_tabletype_t { _DB_TABLETYPE_DEFAULT = 0, _DB_TABLETYPE_KHEAP = 1 }

Functions

int db_init (db_api_t)
int db_done (void)
db_result_t db_attach_thread (void)
db_result_t db_detach_thread (void)
db_result_t db_set_config (const db_config_t *)
db_result_t db_get_config (db_config_t *)
db_result_t lm_use_local (const lm_local_config_t *)
db_result_t lm_set_config (const lm_config_t *)
db_result_t lm_get_config (lm_config_t *)
db_t db_create_file_storage (const db_fname_t *, const db_file_storage_config_t *)
db_t db_open_file_storage (const db_fname_t *, const db_file_storage_config_t *)
db_result_t db_shutdown (db_t, int, void *)
db_result_t db_get_storage_config (db_t, db_storage_config_t *)
db_result_t db_file_storage_config_init (db_file_storage_config_t *)
db_result_t db_file_storage_config_destroy (db_file_storage_config_t *)
db_result_t db_storage_config_init (db_storage_config_t *)
db_result_t db_storage_config_destroy (db_storage_config_t *)
db_result_t db_begin_tx (db_t, db_flags_t)
db_result_t db_commit_tx (db_t, db_flags_t)
db_result_t db_abort_tx (db_t, db_flags_t)
db_result_t db_flush_tx (db_t, db_flags_t)
db_result_t db_set_tx_default (db_t, db_flags_t)
db_flags_t db_get_tx_default (db_t)
db_result_t db_set_timeout (db_wtime_t)
db_wtime_t db_get_timeout (void)
db_result_t db_stat_bufmgr (db_t, db_bufmgr_stat_t *)
db_result_t db_stat_page (db_t, uint32_t pageno, db_buf_stat_t *)
db_result_t db_stat_buffer (db_t, uint32_t bufno, db_buf_stat_t *)
db_result_t db_seqdef_init (db_seqdef_t *)
db_result_t db_seqdef_destroy (db_seqdef_t *)
db_result_t db_create_sequence (db_t, const db_objname_t *, const db_seqdef_t *)
db_result_t db_drop_sequence (db_t, const db_objname_t *)
db_result_t db_describe_sequence (db_t, const db_objname_t *name, db_seqdef_t *)
db_result_t db_indexfield_init (db_indexfield_t *)
db_result_t db_indexfield_destroy (db_indexfield_t *)
db_result_t db_indexdef_init (db_indexdef_t *, db_heap_t heap)
db_result_t db_indexdef_destroy (db_indexdef_t *)
db_result_t db_indexdef_set_indextype (db_indexdef_t *, db_indextype_t)
db_result_t db_indexdef_set_field_count (db_indexdef_t *, db_fieldno_t)
db_result_t db_indexdef_set_field (db_indexdef_t *, db_fieldno_t nfield, const db_indexfield_t *field)
db_result_t db_fielddef_init (db_fielddef_t *)
db_result_t db_fielddef_destroy (db_fielddef_t *)
db_result_t db_paramdef_init (db_paramdef_t *)
db_result_t db_paramdef_destroy (db_paramdef_t *)
db_result_t db_tabledef_init (db_tabledef_t *, db_heap_t heap)
db_result_t db_tabledef_destroy (db_tabledef_t *)
db_result_t db_tabledef_set_tabletype (db_tabledef_t *, db_tabletype_t)
db_result_t db_tabledef_set_field_count (db_tabledef_t *, db_fieldno_t nfields)
db_result_t db_tabledef_set_field (db_tabledef_t *, db_fieldno_t nfield, const db_fielddef_t *)
db_result_t db_tabledef_set_fields (db_tabledef_t *, const db_fielddef_t *, db_fieldno_t nfields)
db_result_t db_tabledef_set_index_count (db_tabledef_t *, db_len_t nindexes)
db_result_t db_tabledef_set_indexes (db_tabledef_t *, const db_indexdef_t *, db_len_t nindexes)
db_result_t db_tabledef_set_index (db_tabledef_t *, db_len_t index, const db_indexdef_t *)
db_result_t db_create_table (db_t, const db_objname_t *, const db_tabledef_t *, db_flags_t)
db_result_t db_drop_table (db_t, const db_objname_t *)
db_result_t db_describe_table (db_t, const db_objname_t *, db_tabledef_t *, db_flags_t)
db_result_t db_add_field (db_t, const db_objname_t *table, const db_fielddef_t *)
db_result_t db_drop_field (db_t, const db_objname_t *table, const db_objname_t *field)
db_result_t db_create_index (