# C API Embedded SQL Samples

> The build procedure for the C API SDK samples on all supported platforms are described in the "Getting Started" section. Note that these samples demonstrate how to open and initialize an eXtremeDB database for SQL access using the low-level C API. (Note that these C functions are an alternative to using the C++ McoSqlEngine and related classes whose usage is demonstrated in the C++ Samples.)

> Please use the links below to view the description and specific instructions for individual samples in the following sub-directories:

> \native\sql\api\sql-01-c-api\access | Opens a database for SQL access
> \native\\sql\api\sql-01-c-api\allocators | Uses `mcosql_initialize_memory_manager()` to use custom `malloc()` and `free()` functions for the SQL memory allocator
> \native\\sql\api\sql-01-c-api\initialize | Demonstrates basic application C API initialization for SQL access
> \native\\sql\api\sql-01-c-api\multifile | Opens a multifile database for SQL access
> \native\\sql\api\sql-01-c-api\mursimul | Demonstrates `insert, select, update`, and `delete` operations in two database instances using the MURSIW Transaction Manager
> \native\\sql\api\sql-01-c-api\transactions | Demonstrates basic database transactions using `mcosql_execute_statement()`
> \native\sql\hasql\master | Demonstrates the master-side implementation of HA using the SQL API
> \native\sql\hasql\replica | Demonstrates the replica-side implementation of HA using the SQL API
> \odbc\samples\tpcodbc | Demonstrates an implementation of the Transaction Processing Performance Council Benchmark B using standard ODBC functions