← Back to Stormify Documentation
KDBC
Unified C Database Connectivity — SQLite, PostgreSQL, MariaDB, Oracle, MSSQL
Loading...
Searching...
No Matches
Types and Constants

Macros

#define KDBC_OK   0
#define KDBC_ERROR   (-1)

Typedefs

typedef struct kdbc_conn kdbc_conn
 Opaque database connection handle.
typedef struct kdbc_stmt kdbc_stmt
 Opaque prepared statement handle.
typedef struct kdbc_result kdbc_result
 Opaque result set handle.

Enumerations

enum  kdbc_driver {
  KDBC_SQLITE = 0 , KDBC_POSTGRES = 1 , KDBC_MARIADB = 2 , KDBC_ORACLE = 3 ,
  KDBC_MSSQL = 4 , KDBC_DRIVER_COUNT = 5
}
 Supported database drivers. More...
enum  kdbc_type {
  KDBC_TYPE_NULL = 0 , KDBC_TYPE_INT = 1 , KDBC_TYPE_LONG = 2 , KDBC_TYPE_DOUBLE = 3 ,
  KDBC_TYPE_STRING = 4 , KDBC_TYPE_BLOB = 5 , KDBC_TYPE_BOOL = 6 , KDBC_TYPE_DATE = 7 ,
  KDBC_TYPE_TIME = 8 , KDBC_TYPE_TIMESTAMP = 9
}
 Column / parameter value types. More...
enum  kdbc_gk_strategy { KDBC_GK_NONE = 0 , KDBC_GK_BY_INDEX = 1 , KDBC_GK_BY_NAME = 2 }
 Generated-key retrieval strategies. More...

Detailed Description

Core types, enumerations, and return codes.

Macro Definition Documentation

◆ KDBC_OK

#define KDBC_OK   0

Returned on success.

◆ KDBC_ERROR

#define KDBC_ERROR   (-1)

Returned on failure — call the appropriate error function for details.

Typedef Documentation

◆ kdbc_conn

typedef struct kdbc_conn kdbc_conn

Opaque database connection handle.

◆ kdbc_stmt

typedef struct kdbc_stmt kdbc_stmt

Opaque prepared statement handle.

◆ kdbc_result

typedef struct kdbc_result kdbc_result

Opaque result set handle.

Enumeration Type Documentation

◆ kdbc_driver

Supported database drivers.

Each value corresponds to a backend that KDBC can load at runtime. Use kdbc_driver_available() to check whether the native client library for a given driver is installed on the current system.

Enumerator
KDBC_SQLITE 

SQLite (file-based or :memory:)

KDBC_POSTGRES 

PostgreSQL (via libpq)

KDBC_MARIADB 

MariaDB / MySQL (via libmariadb)

KDBC_ORACLE 

Oracle (via ODPI-C / OCI)

KDBC_MSSQL 

Microsoft SQL Server (via FreeTDS ct-lib)

KDBC_DRIVER_COUNT 

Number of built-in drivers (not a valid driver value).

◆ kdbc_type

enum kdbc_type

Column / parameter value types.

Returned by type-inspection APIs and used internally for parameter binding.

Enumerator
KDBC_TYPE_NULL 

SQL NULL

KDBC_TYPE_INT 

32-bit integer

KDBC_TYPE_LONG 

64-bit integer

KDBC_TYPE_DOUBLE 

Double-precision float

KDBC_TYPE_STRING 

UTF-8 string

KDBC_TYPE_BLOB 

Binary large object

KDBC_TYPE_BOOL 

Boolean

KDBC_TYPE_DATE 

Date (year, month, day) — decomposed, no epoch indirection

KDBC_TYPE_TIME 

Time (hour, minute, second, microsecond) — decomposed

KDBC_TYPE_TIMESTAMP 

Timestamp (full date + time + microsecond) — decomposed

◆ kdbc_gk_strategy

Generated-key retrieval strategies.

Different databases use different mechanisms to return auto-generated primary keys after an INSERT.

Strategy Databases Mechanism
KDBC_GK_NONE Oracle 11g Uses sequences explicitly
KDBC_GK_BY_INDEX SQLite, MariaDB/MySQL, MSSQL 2012+ last_insert_id / SCOPE_IDENTITY
KDBC_GK_BY_NAME PostgreSQL, Oracle 12c+ RETURNING clause
Enumerator
KDBC_GK_NONE 

No auto key retrieval (e.g. Oracle 11g — use sequences).

KDBC_GK_BY_INDEX 

Key via last_insert_id / SCOPE_IDENTITY (SQLite, MySQL, MSSQL 2012+).

KDBC_GK_BY_NAME 

Key via RETURNING clause (PostgreSQL, Oracle 12c+).