Entry point for the ITTIA DB C API. More...
#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/os/os_error.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_odbc_date_t |
| ODBC-compatible date structure. More... | |
| struct | db_time_t |
| Time data type. More... | |
| struct | db_odbc_time_t |
| ODBC-compatible time structure. More... | |
| struct | db_datetime_t |
| Date and time data type. More... | |
| struct | db_timestamp_t |
| Timestamp data type. More... | |
| struct | db_odbc_timestamp_t |
| ODBC-compatible timestamp structure. 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_memory_storage_config_t |
| Database memory storage configuration. More... | |
| struct | db_storage_config_t |
| General storage configuration. More... | |
| struct | db_fielddef_t |
| Field definition. More... | |
| struct | db_paramdef_t |
| SQL query parameter definition. More... | |
| 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_memory_segment_t |
| Memory segment for general allocation. More... | |
| struct | db_memory_config_t |
| Configuration for built-in memory allocator. More... | |
| struct | db_init_t |
| Extended library initialization parameters. More... | |
| struct | db_done_t |
| Extended library decommissioning parameters. More... | |
| struct | db_xid_t |
| Persistent transaction identifier. More... | |
| struct | db_dtm_info_t |
| Distributed transaction information. 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_foreign_key_def_t |
| Foreign key 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... | |
| struct | db_server_config_t |
| IPC server configuration. More... | |
| struct | db_statitem_t |
| Measured statistics item. More... | |
| struct | db_api_statistics_t |
| Count ITTIA DB C API handles opened by the application to measure resource usage and prevent leaks. More... | |
| struct | db_lm_statistics_t |
| Lock manager statistics. More... | |
| struct | db_mem_statistics_t |
| Statistics for memory allocation with the built-in allocator. More... | |
| struct | db_rep_table_info_t |
| Replication settings for a table. More... | |
| struct | db_rep_journal_info_t |
| Replication journal information. More... | |
| struct | db_rep_peerdef_t |
| Replication peer definition. More... | |
| struct | db_rep_config_t |
| Database replication configuration. More... | |
Defines | |
| #define | DB_API_100 0x100 |
| #define | DB_API_101 0x101 |
| #define | DB_API_102 0x102 |
| #define | DB_API_103 0x103 |
| #define | DB_API_104 0x104 |
| #define | DB_API_105 0x105 |
| #define | DB_API_106 0x106 |
| #define | DB_API_107 0x107 |
| #define | DB_API_108 0x108 |
| #define | DB_API_109 0x109 |
| #define | DB_API_10A 0x10A |
| #define | DB_API_10B 0x10B |
| #define | DB_API_VER DB_API_10B |
| #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*)DB_STATIC_CAST_ADDRESS)->member) |
| #define | DB_BIND_OFFSET(type, member) (((db_addr_t)&(((type*)DB_STATIC_CAST_ADDRESS)->member))-DB_STATIC_CAST_ADDRESS) |
| #define | DB_BIND_ADDRESS(var) ((db_addr_t)(void*)(var)) |
| #define | DB_MEMFLAGS_TRACE 1 |
| #define | DB_FK_ACTION_RESTRICT 0 |
| #define | DB_FK_ACTION_CASCADE 1 |
| #define | DB_FK_ACTION_SETNULL 2 |
| #define | DB_FK_ACTION_SETDEFAULT 3 |
| #define | DB_FK_MATCH_SIMPLE 0 |
| #define | DB_FK_MATCH_FULL 1 |
| #define | DB_FK_NOT_DEFERRABLE 0 |
| #define | DB_FK_DEFERRABLE 1 |
| #define | DB_FK_CHECK_IMMEDIATE 0 |
| #define | DB_FK_CHECK_DEFERRED 1 |
| #define | _DB_SERVER_SHM_ENABLE 1 |
| #define | DB_TRACE_BUFMGR 0x00000002u |
| #define | DB_TRACE_LOCKMGR 0x00000004u |
| #define | DB_TRACE_LOGMGR 0x00000008u |
| #define | DB_TRACE_SPACEMGR 0x00000010u |
| #define | DB_TRACE_TXMGR 0x00000020u |
| #define | DB_TRACE_CATALOG 0x00000040u |
| #define | DB_TRACE_API 0x00000100u |
| #define | DB_TRACE_ALL 0x7FFFFFFFu |
| #define | _DB_SAVEPOINT_DEFAULT 0 |
| #define | _DB_SAVEPOINT_UNIQUE 1 |
| #define | _DB_SAVEPOINT_NESTED 2 |
| #define | _DB_SAVEPOINT_OVERRIDE 3 |
| #define | DB_SAVEPOINT_DEFAULT _DB_SAVEPOINT_DEFAULT |
| #define | DB_SAVEPOINT_UNIQUE _DB_SAVEPOINT_UNIQUE |
| #define | DB_SAVEPOINT_NESTED _DB_SAVEPOINT_NESTED |
| #define | DB_SAVEPOINT_OVERRIDE _DB_SAVEPOINT_OVERRIDE |
| #define | DB_STATISTICS_QUERY 0 |
| #define | DB_STATISTICS_RESET 1 |
| #define | DB_STATISTICS_ENABLE 2 |
| #define | DB_STATISTICS_DISABLE 4 |
| #define | DB_REP_ADDRESS_NONE 0 |
| #define | DB_REP_ADDRESS_ALL INT32_MAX |
| #define | DB_REP_MODE_NONE 0 |
| #define | DB_REP_MODE_IN 1 |
| #define | DB_REP_MODE_OUT 2 |
| #define | DB_REP_MODE_INOUT (DB_REP_MODE_IN | DB_REP_MODE_OUT) |
| #define | DB_REP_STATE_LOCAL 0 |
| #define | DB_REP_STATE_DELIVERY 1 |
| #define | DB_REP_STATE_REMOTE 2 |
| #define | DB_REP_STATE_DELIVERED 3 |
| #define | DB_REP_STATE_REFUSED 4 |
| #define | DB_REP_STATE_IGNORED 5 |
| #define | DB_REP_RESOLVE_PRIORITY_MIN 0x00001 |
| #define | DB_REP_RESOLVE_PRIORITY_MAX 0x000fe |
| #define | DB_REP_RESOLVE_ACCEPT 0x00000u |
| #define | DB_REP_RESOLVE_REFUSE 0x000ffu |
| #define | DB_REP_RESOLVE_PRIORITY_MASK 0x000ffu |
| #define | DB_REP_RESOLVE_EXCL 0x01000u |
| #define | DB_REP_RESOLVE_DISABLE 0x02000u |
| #define | DB_REPTYPE_NONE 0 |
| #define | DB_REPTYPE_ADHOC 1 |
| #define | DB_REPTYPE_SYNC 2 |
| #define | DB_MEM_TIGHT _DB_MEM_TIGHT |
| #define | DB_MEM_COMPACT _DB_MEM_COMPACT |
| #define | DB_MEM_LARGE _DB_MEM_LARGE |
| #define | DB_SINGLE_PROCESS _DB_SINGLE_PROCESS |
| #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_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_NULL_JOURNAL _DB_NULL_JOURNAL |
| #define | DB_DUMMY_JOURNAL _DB_DUMMY_JOURNAL |
| #define | DB_COLTYPE_IS_UTFSTR(a) (a == DB_COLTYPE_UTF8STR || a == DB_COLTYPE_UTF16STR || a == DB_COLTYPE_UTF32STR) |
| #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_FOREIGN_KEYS _DB_DESCRIBE_TABLE_FOREIGN_KEYS |
| #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_WATCH_ROW_DELETE _DB_WATCH_ROW_DELETE |
| #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 |
| #define | DB_INFO_SUPPORT _DB_INFO_SUPPORT |
| #define | DB_SUPPORT_LOGGING _DB_SUPPORT_LOGGING |
| #define | DB_SUPPORT_CRYPT _DB_SUPPORT_CRYPT |
| #define | DB_SUPPORT_WATCHER _DB_SUPPORT_WATCHER |
| #define | DB_SUPPORT_SEQUENCE _DB_SUPPORT_SEQUENCE |
| #define | DB_SUPPORT_BLOB _DB_SUPPORT_BLOB |
| #define | DB_SUPPORT_SQL _DB_SUPPORT_SQL |
| #define | DB_SUPPORT_TYPECVT _DB_SUPPORT_TYPECVT |
| #define | DB_SUPPORT_UNICODE _DB_SUPPORT_UNICODE |
| #define | DB_SUPPORT_DDL _DB_SUPPORT_DDL |
| #define | DB_SUPPORT_ATOMIC_TX _DB_SUPPORT_ATOMIC_TX |
| #define | DB_SUPPORT_ATOMIC_OP _DB_SUPPORT_ATOMIC_OP |
| #define | DB_SUPPORT_FILTERS _DB_SUPPORT_FILTERS |
| #define | DB_SUPPORT_SORT _DB_SUPPORT_SORT |
| #define | DB_SUPPORT_REPLICATION _DB_SUPPORT_REPLICATION |
| #define | DB_INFO_LOCK_LEVEL _DB_INFO_LOCK_LEVEL |
| #define | DB_LOCK_LEVEL_NONE _DB_LOCK_LEVEL_NONE |
| #define | DB_LOCK_LEVEL_ROW _DB_LOCK_LEVEL_ROW |
| #define | DB_LOCK_LEVEL_STORAGE _DB_LOCK_LEVEL_STORAGE |
| #define | DB_PRIO_MIN _DB_PRIO_MIN |
| #define | DB_PRIO_MAX _DB_PRIO_MAX |
| #define | DB_PRIO_NORMAL _DB_PRIO_NORMAL |
| #define | DB_SERVER_SHM_ENABLE _DB_SERVER_SHM_ENABLE |
Lock Type | |
| #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 |
Cursor Scan Flags | |
| #define | DB_SCAN_FORWARD _DB_SCAN_FORWARD |
| #define | DB_SCAN_BACKWARD _DB_SCAN_BACKWARD |
| #define | DB_SCAN_MASK _DB_SCAN_MASK |
Transaction Isolation Levels | |
| #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 |
Cursor Capability Flags | |
| #define | DB_CAN_MODIFY _DB_CAN_MODIFY |
| #define | DB_CAN_BOOKMARK _DB_CAN_BOOKMARK |
| #define | DB_CURSOR_MASK _DB_CURSOR_MASK |
Transaction Completion Modes | |
| #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 |
Lock Duration | |
| #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 |
Flush Mode | |
| #define | DB_FLUSH_JOURNAL _DB_FLUSH_JOURNAL |
| #define | DB_FLUSH_STORAGE _DB_FLUSH_STORAGE |
| #define | DB_FLUSH_MASK _DB_FLUSH_MASK |
Index Mode | |
| #define | DB_MULTISET_INDEX _DB_MULTISET_INDEX |
| #define | DB_UNIQUE_INDEX _DB_UNIQUE_INDEX |
| #define | DB_PRIMARY_INDEX _DB_PRIMARY_INDEX |
| #define | DB_NUMBERED_INDEX _DB_NUMBERED_INDEX |
| #define | DB_INDEX_MASK _DB_INDEX_MASK |
| #define | DB_INDEX_MODE_MASK _DB_INDEX_MODE_MASK |
Field Flags | |
| #define | DB_NULLABLE _DB_NULLABLE |
| #define | DB_NOT_NULL _DB_NOT_NULL |
| #define | DB_NULL_MASK _DB_NULL_MASK |
Insert Flags | |
| #define | DB_INSERT_SEEK_NEW _DB_INSERT_SEEK_NEW |
| #define | DB_INSERT_SEEK_MASK _DB_INSERT_SEEK_MASK |
Update Flags | |
| #define | DB_UPDATE_SEEK_NEW _DB_UPDATE_SEEK_NEW |
| #define | DB_UPDATE_SEEK_NEXT _DB_UPDATE_SEEK_NEXT |
| #define | DB_UPDATE_SEEK_PRIOR _DB_UPDATE_SEEK_PRIOR |
| #define | DB_UPDATE_SEEK_MASK _DB_UPDATE_SEEK_MASK |
Delete Flags | |
| #define | DB_DELETE_SEEK_NEXT _DB_DELETE_SEEK_NEXT |
| #define | DB_DELETE_SEEK_PRIOR _DB_DELETE_SEEK_PRIOR |
| #define | DB_DELETE_SEEK_MASK _DB_DELETE_SEEK_MASK |
Length Indicator Values | |
| #define | DB_FIELD_NULL _DB_FIELD_NULL |
| #define | DB_NTS _DB_NTS |
| #define | DB_BLOB_CHSIZE _DB_BLOB_CHSIZE |
| #define | DB_AUTOFIELD _DB_AUTOFIELD |
Seek Flags | |
| #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 |
Bind Types | |
| #define | DB_BIND_RELATIVE _DB_BIND_RELATIVE |
| #define | DB_BIND_ABSOLUTE _DB_BIND_ABSOLUTE |
| #define | DB_BIND_MASK _DB_BIND_MASK |
Index Types | |
| #define | DB_INDEXTYPE_DEFAULT _DB_INDEXTYPE_DEFAULT |
| #define | DB_INDEXTYPE_BTREE _DB_INDEXTYPE_BTREE |
Table Types | |
| #define | DB_TABLETYPE_DEFAULT _DB_TABLETYPE_DEFAULT |
| #define | DB_TABLETYPE_KHEAP _DB_TABLETYPE_KHEAP |
| #define | DB_TABLETYPE_MEMORY _DB_TABLETYPE_MEMORY |
File Modes | |
Flags for db_file_storage_config_t::file_mode. | |
| #define | DB_READ_ONLY _DB_READ_ONLY |
| #define | DB_NOLOGGING _DB_NOLOGGING |
| #define | DB_NOLOCKING _DB_NOLOCKING |
| #define | DB_UTF8_NAME _DB_UTF8_NAME |
| #define | DB_ATOMIC_WRITE _DB_ATOMIC_WRITE |
Database Storage Types | |
| #define | DB_FILE_STORAGE _DB_FILE_STORAGE |
| #define | DB_MEMORY_STORAGE _DB_MEMORY_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_RAMFS _DB_FILE_RAMFS |
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_BINARY _DB_COLTYPE_BINARY |
| #define | DB_COLTYPE_BLOB _DB_COLTYPE_BLOB |
| #define | DB_COLTYPE_UNDEFINED _DB_COLTYPE_UNDEFINED |
| #define | DB_COLTYPE_WCHARSTR (sizeof(wchar_t) == sizeof(db_utf16_t) ? DB_COLTYPE_UTF16STR : DB_COLTYPE_UTF32STR) |
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_ODBC_DATE _DB_VARTYPE_ODBC_DATE |
| #define | DB_VARTYPE_ODBC_TIME _DB_VARTYPE_ODBC_TIME |
| #define | DB_VARTYPE_ODBC_TIMESTAMP _DB_VARTYPE_ODBC_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_BINARY _DB_VARTYPE_BINARY |
| #define | DB_VARTYPE_BLOB _DB_VARTYPE_BLOB |
| #define | DB_VARTYPE_UNDEFINED _DB_VARTYPE_UNDEFINED |
| #define | DB_VARTYPE_WCHARSTR (sizeof(wchar_t) == sizeof(db_utf16_t) ? DB_VARTYPE_UTF16STR : DB_VARTYPE_UTF32STR) |
Data Binding | |
| #define | DB_ARRAY_DIM(x) (sizeof(x) / sizeof(x[0])) |
| #define | DB_BIND_STRUCT_MEMBER(field_no, type, bind_struct, member) { field_no, type, DB_BIND_OFFSET(bind_struct, member), DB_BIND_SIZE(bind_struct, member), -1, DB_BIND_RELATIVE } |
| #define | DB_BIND_VAR(field_no, type, var) { field_no, type, DB_BIND_ADDRESS(&var), sizeof(var), DB_BIND_ADDRESS(NULL), DB_BIND_ABSOLUTE } |
| #define | DB_BIND_STR(field_no, type, var) { field_no, type, DB_BIND_ADDRESS(var), sizeof(var), DB_BIND_ADDRESS(NULL), DB_BIND_ABSOLUTE } |
| #define | DB_BIND_PTR(field_no, type, var, size) { field_no, type, DB_BIND_ADDRESS(var), size, DB_BIND_ADDRESS(NULL), DB_BIND_ABSOLUTE } |
| #define | DB_BIND_STRUCT_MEMBER_IND(field_no, type, bind_struct, value, ind) { field_no, type, DB_BIND_OFFSET(bind_struct, value), DB_BIND_SIZE(bind_struct, value), DB_BIND_OFFSET(bind_struct, ind), DB_BIND_RELATIVE } |
| #define | DB_BIND_VAR_IND(field_no, type, var, ind) { field_no, type, DB_BIND_ADDRESS(&var), sizeof(var), DB_BIND_ADDRESS(ind), DB_BIND_ABSOLUTE } |
| #define | DB_BIND_STR_IND(field_no, type, var, ind) { field_no, type, DB_BIND_ADDRESS(var), sizeof(var), DB_BIND_ADDRESS(ind), DB_BIND_ABSOLUTE } |
| #define | DB_BIND_PTR_IND(field_no, type, var, size, ind) { field_no, type, DB_BIND_ADDRESS(var), size, DB_BIND_ADDRESS(ind), DB_BIND_ABSOLUTE } |
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 |
| typedef struct db_savepoint_t_s * | db_savepoint_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 int32_t | db_len_t |
| typedef int32_t | db_fieldno_t |
| typedef void * | db_object_t |
| typedef int32_t | db_rep_address_t |
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) |
| int | db_init_ex (db_api_t, const db_init_t *) |
| int | db_done_ex (db_done_t *) |
| 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_t | db_create_memory_storage (const db_fname_t *, const db_memory_storage_config_t *) |
| db_t | db_open_memory_storage (const db_fname_t *, const db_memory_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_memory_storage_config_init (db_memory_storage_config_t *) |
| db_result_t | db_memory_storage_config_destroy (db_memory_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) |
| int | db_is_active_tx (db_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_t, db_wtime_t) |
| db_wtime_t | db_get_timeout (db_t) |
| 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_backup (db_t, const db_fname_t *dest_file_name, uint32_t file_mode, db_flags_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 (db_t, const db_objname_t *table, const db_objname_t *index, const db_indexdef_t *) |
| db_result_t | db_drop_index (db_t, const db_objname_t *table, const db_objname_t *index) |
| db_result_t | db_describe_index (db_t, const db_objname_t *table, const db_objname_t *index, db_indexdef_t *) |
| db_result_t | db_tabledef_set_foreign_key_count (db_tabledef_t *, db_len_t) |
| db_result_t | db_tabledef_set_foreign_keys (db_tabledef_t *, const db_foreign_key_def_t *, db_len_t nkeys) |
| db_result_t | db_tabledef_set_foreign_key (db_tabledef_t *, db_len_t index, const db_foreign_key_def_t *) |
| db_result_t | db_create_foreign_key (db_t, const db_objname_t *table, const db_foreign_key_def_t *) |
| db_result_t | db_drop_foreign_key (db_t, const db_objname_t *table, const db_objname_t *fkname) |
| db_row_t | db_alloc_row (const db_bind_t *, db_fieldno_t nbinds) |
| db_row_t | db_alloc_cursor_row (db_cursor_t) |
| db_result_t | db_free_row (db_row_t) |
| db_len_t | db_get_field_size (db_row_t, db_fieldno_t) |
| db_vartype_t | db_get_field_type (db_row_t, db_fieldno_t) |
| db_len_t | db_get_field_len (db_row_t, db_fieldno_t) |
| db_result_t | db_set_field_len (db_row_t, db_fieldno_t, db_len_t) |
| void * | db_get_field_buffer (db_row_t, db_fieldno_t) |
| db_flags_t | db_get_field_flags (db_row_t hrow, db_fieldno_t nfield) |
| db_len_t | db_get_field_data (db_row_t, db_fieldno_t, db_vartype_t data_type, void *data_ptr, db_len_t data_size) |
| db_result_t | db_set_field_data (db_row_t, db_fieldno_t, db_vartype_t data_type, const void *data_ptr, db_len_t data_length) |
| int | db_is_null (db_row_t, db_fieldno_t) |
| db_result_t | db_set_null (db_row_t, db_fieldno_t) |
| db_result_t | db_bind_field (db_row_t hrow, const db_bind_t *) |
| db_result_t | db_unbind_field (db_row_t, db_fieldno_t) |
| db_result_t | db_table_cursor_init (db_table_cursor_t *) |
| db_result_t | db_table_cursor_destroy (db_table_cursor_t *) |
| db_cursor_t | db_open_table_cursor (db_t, const db_objname_t *table, const db_table_cursor_t *) |
| db_cursor_t | db_prepare_sql_cursor (db_t, const char *, db_flags_t) |
| db_result_t | db_execute (db_cursor_t, db_row_t param_row, db_object_t param_object) |
| db_result_t | db_unexecute (db_cursor_t) |
| int | db_is_prepared (db_cursor_t) |
| int | db_is_browsable (db_cursor_t) |
| db_result_t | db_get_row_num (db_cursor_t hcursor, int64_t *) |
| int | db_get_row_count (db_cursor_t) |
| db_result_t | db_get_row_count_ex (db_cursor_t hcursor, int32_t *) |
| db_result_t | db_get_error_message (db_cursor_t, char **sz_msg) |
| db_row_t | db_alloc_param_row (db_cursor_t) |
| int | db_get_param_count (db_cursor_t) |
| db_result_t | db_get_param (db_cursor_t, db_fieldno_t paramno, db_paramdef_t *) |
| db_cursor_t | db_duplicate_cursor (db_cursor_t, db_flags_t flags) |
| db_result_t | db_close_cursor (db_cursor_t) |
| db_flags_t | db_get_cursor_flags (db_cursor_t) |
| db_fieldno_t | db_find_field (db_cursor_t, const db_objname_t *) |
| db_fieldno_t | db_get_field_count (db_cursor_t) |
| db_result_t | db_get_field (db_cursor_t, db_fieldno_t, db_fielddef_t *) |
| int | db_bof (db_cursor_t) |
| int | db_eof (db_cursor_t) |
| db_result_t | db_seek_first (db_cursor_t) |
| db_result_t | db_seek_next (db_cursor_t) |
| db_result_t | db_seek_prior (db_cursor_t) |
| db_result_t | db_seek_last (db_cursor_t) |
| db_result_t | db_seek (db_cursor_t, db_seek_t, db_row_t, db_object_t, db_fieldno_t nfields) |
| db_result_t | db_fetch (db_cursor_t, db_row_t, db_object_t) |
| db_result_t | db_insert (db_cursor_t, db_row_t, db_object_t, db_flags_t) |
| db_result_t | db_delete (db_cursor_t, db_flags_t) |
| db_result_t | db_update (db_cursor_t, db_row_t, db_object_t) |
| db_result_t | db_update_flags (db_cursor_t, db_row_t, db_object_t, db_flags_t) |
| db_result_t | db_get_bookmark (db_cursor_t, db_oid_t *) |
| db_result_t | db_goto_bookmark (db_cursor_t, const db_oid_t *) |
| db_result_t | db_set_range (db_cursor_t h, db_row_t low_row, db_object_t low_object, db_fieldno_t low_fields, db_row_t high_row, db_object_t high_object, db_fieldno_t high_fields) |
| db_result_t | db_add_filter (db_cursor_t h, db_seek_t relation, db_row_t filter_row, db_object_t filter_row_object, const db_indexfield_t *fields, db_fieldno_t nfields) |
| db_result_t | db_remove_filters (db_cursor_t) |
| db_result_t | db_sort (db_cursor_t cursor, const db_indexfield_t *fields, db_fieldno_t nfields) |
| int | db_is_sorted_by (db_cursor_t cursor, const db_indexfield_t *fields, db_fieldno_t nfields) |
| db_result_t | db_qseek (db_cursor_t, db_seek_t, const db_bind_t *, db_len_t, db_object_t, db_fieldno_t nfields) |
| db_result_t | db_qfetch (db_cursor_t, const db_bind_t *, db_len_t, db_object_t) |
| db_result_t | db_qinsert (db_cursor_t, const db_bind_t *, db_len_t, db_object_t, db_flags_t) |
| db_result_t | db_qupdate (db_cursor_t, const db_bind_t *, db_len_t, db_object_t) |
| db_result_t | db_qupdate_flags (db_cursor_t, const db_bind_t *, db_len_t, db_object_t, db_flags_t) |
| db_sequence_t | db_open_sequence (db_t, const db_objname_t *) |
| db_sequence_t | db_duplicate_sequence (db_sequence_t) |
| db_result_t | db_close_sequence (db_sequence_t) |
| db_result_t | db_next_sequence (db_sequence_t, db_seqvalue_t *) |
| db_result_t | db_curr_sequence (db_sequence_t, db_seqvalue_t *) |
| db_hlock_t | db_lock (db_t, const db_oid_t *, db_flags_t lock_mode) |
| db_result_t | db_unlock (db_t, const db_oid_t *, db_hlock_t) |
| db_hlock_t | db_lock_table (db_t, const db_objname_t *, db_flags_t lock_mode) |
| db_result_t | db_get_tableid (db_t, const db_objname_t *, db_oid_t *) |
| db_result_t | db_oid_init (db_oid_t *, db_heap_t) |
| db_result_t | db_oid_destroy (db_oid_t *) |
| db_result_t | db_oid_copy (db_oid_t *dst, const db_oid_t *src) |
| int | db_oid_equal (const db_oid_t *, const db_oid_t *) |
| db_result_t | db_oid_reset (db_oid_t *dst) |
| db_result_t | db_oid_extract_tableid (db_oid_t *, const db_oid_t *) |
| int | db_is_noid (const db_oid_t *) |
| int | db_is_rowid (const db_oid_t *) |
| int | db_is_tableid (const db_oid_t *) |
| db_result_t | db_config_init (db_config_t *) |
| db_result_t | db_config_destroy (db_config_t *) |
| db_result_t | lm_config_init (lm_config_t *) |
| db_result_t | lm_config_destroy (lm_config_t *) |
| db_result_t | lm_local_config_init (lm_local_config_t *) |
| db_result_t | lm_local_config_destroy (lm_local_config_t *) |
| db_result_t | db_bind_init (db_bind_t *) |
| db_result_t | db_bind_destroy (db_bind_t *) |
| db_result_t | db_watch_table (db_t, const db_objname_t *, db_flags_t, uint32_t utid) |
| db_result_t | db_unwatch_table (db_t, const db_objname_t *) |
| db_result_t | db_wait (db_t, db_wtime_t, db_event_t *) |
| db_result_t | db_wait_ex (db_t, db_wtime_t, db_event_t *, db_row_t row, db_row_t aux_row) |
| db_result_t | db_server_config_init (db_server_config_t *) |
| db_result_t | db_server_config_destroy (db_server_config_t *) |
| db_result_t | db_server_start (const db_server_config_t *) |
| db_result_t | db_server_stop (db_flags_t) |
| int32_t | db_server_connection_count (void) |
| int | db_get_prio (db_t) |
| int | db_set_prio (db_t, int prio) |
| uintptr_t | db_info (db_t, int info_tag) |
| void | db_set_trace (const char *trace_file, uint32_t enable_mask, uint32_t disable_mask) |
| db_savepoint_t | db_set_savepoint (db_t, const db_objname_t *, db_flags_t flags) |
| db_savepoint_t | db_find_savepoint (db_t, const db_objname_t *) |
| db_result_t | db_release_savepoint (db_t, db_savepoint_t) |
| db_result_t | db_rollback_savepoint (db_t, db_savepoint_t) |
| int | db_api_statistics (db_api_statistics_t *, int) |
| int | db_lm_statistics (db_lm_statistics_t *, int) |
| int | db_mem_statistics (db_mem_statistics_t *, int) |
| db_result_t | db_rep_table_query (db_t, const db_objname_t *table_name, db_rep_table_info_t *) |
| db_result_t | db_rep_table_set (db_t, const db_objname_t *table_name, const db_rep_table_info_t *, db_flags_t flags) |
| db_result_t | db_rep_load (db_t, const db_fname_t *journal_name, db_flags_t file_flags) |
| db_result_t | db_rep_snapshot (db_t, const db_objname_t *table, const db_objname_t *peer_name, db_flags_t) |
| db_result_t | db_get_journal_name (db_t, const db_ulargeint_t *, db_fname_t *name_buf, db_len_t buf_len) |
| db_result_t | db_rep_journal_info (db_t, db_rep_journal_info_t *) |
| db_result_t | _db_rep_switch_journal (db_t, db_rep_journal_info_t *) |
| db_result_t | db_rep_peerdef_init (db_rep_peerdef_t *) |
| db_result_t | db_rep_peerdef_destroy (db_rep_peerdef_t *) |
| db_result_t | db_rep_create_peer (db_t, const db_objname_t *, const db_rep_peerdef_t *) |
| db_result_t | db_rep_drop_peer (db_t, const db_objname_t *) |
| db_result_t | db_rep_describe_peer (db_t, const db_objname_t *, db_rep_peerdef_t *) |
| db_result_t | db_rep_alter_peer (db_t, const db_objname_t *, const db_rep_peerdef_t *) |
| db_result_t | db_rep_exchange (db_t, const db_objname_t *, db_flags_t) |
| db_result_t | db_rep_config_init (db_rep_config_t *) |
| db_result_t | db_rep_config_destroy (db_rep_config_t *) |
| db_result_t | db_rep_set_config (db_t, const db_rep_config_t *) |
| db_result_t | db_rep_get_config (db_t, db_rep_config_t *) |
Resource Management | |
|
| |
| #define | DB_RM_DETACH 1 |
| #define | DB_RECOVER_RESTART 1 |
| db_result_t | db_rm_prepare (db_t, const db_xid_t *xid, db_wtime_t, db_flags_t) |
| db_result_t | db_rm_recover (db_t, db_xid_t *, db_len_t, db_len_t *, db_flags_t) |
| db_result_t | db_rm_commit (db_t, const db_xid_t *, db_flags_t) |
| db_result_t | db_rm_rollback (db_t, const db_xid_t *, db_flags_t) |
Distributed Transaction Management | |
|
| |
| #define | DB_DTM_NONE 0 |
| #define | DB_DTM_PREPARED 1 |
| #define | DB_DTM_COMMIT 2 |
| #define | DB_DTM_ROLLBACK 3 |
| db_result_t | db_dtm_commit (db_t, const db_ansi_t *tx_info, db_t *, int slave_count, db_xid_t *xid, int *unresolved) |
| db_result_t | db_dtm_info (db_t, const db_xid_t *, db_dtm_info_t *) |
| db_result_t | db_dtm_resolve (db_t, const db_xid_t *, db_t *, int slave_count, int *unresolved) |
| db_result_t | db_dtm_recover (db_t, db_xid_t *, db_len_t, db_len_t *, db_flags_t) |
| db_result_t | db_set_commit_timeout (db_t, db_wtime_t) |
| db_result_t | db_get_commit_timeout (db_t, db_wtime_t *) |
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>