C API Core Samples

The build procedures for the C API SDK samples on all supported platforms are described in the "Getting Started" section. Note that the native\core directory contains some C++ sample sub-directories which can be viewed here. By default, all sample executables are built in the target/bin directory, so after building the sample(s) it is convenient to cd to target/bin to run the sample or run it in the development system debugger.

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

00-ddl Demonstrates use of the eXtremeDB schema compiler
01-rtconfig_inmem Displays runtime information for a simple All-In-Memory database
01-rtconfig_mixed

Demonstrates a database schema with both persistent and transient classes

02-open_conv Opens a database in conventional memory
02-open_convhv Opens a database in conventional memory and allows HTTP access
02-open_dbextend Demonstrates extending a database in conventional memory
02-open_disk_file Opens a persistent database using FILE memory devices
02-open_disk_multifile Opens a persistent database using MULTIFILE memory devices
02-open_disk_raid Opens a persistent database using a RAID memory device
02-open_hybrid Opens a hybrid database (having both transient and persistent classes)
02-open_nvram Demonstrates recovery of a database in non-volatile memory
02-open_security_disk_cipher Opens a database protected by a cipher key
02-open_security_disk_crc Opens a database and protects its pages by CRC
02-open_shared Opens a database in shared memory
03-connect_multi-process Opens and connects to a database from multiple processes
03-connect_multi-task Opens and connects to a database from multiple tasks (threads)
03-connect_single-task Opens and connects to a database from a single task
04-operations Performs basic database insert, read, and update operations
05-indexes_btree_fulltext Demonstrates full text search operations with tree indexes
05-indexes_btree_locate Demonstrates the _locate() and _compare() cursor operations
05-indexes_btree_pattern Demonstrates basic pattern search methods
05-indexes_btree_search Demonstrates search operations with tree indexes
05-indexes_collate Demonstrates custom collations for a tree index
05-indexes_cursor_basic Demonstrates basic cursor operations
05-indexes_cursor_store Demonstrates storing a cursor shared between transactions
05-indexes_hash Demonstrates operations on unique and non-unique hash indexes
05-indexes_kdtree Demonstrates kdtree index operations
05-indexes_patricia_binary Demonstrates patricia tree match functions using a binary key (a vector of bits)

05-indexes_patricia_character

Demonstrates patricia match functions using a character string key

05-indexes_rtree

Demonstrates rtree index operations

05-indexes_userdef

Demonstrates user-defined compare functions for a tree index

06-errorhandling_errorhandler

Demonstrates registering a fatal error handler

06-errorhandling_fatalerr

Demonstrates triggering a user-defined error handler

06-errorhandling_fatalerrex

Demonstrates calling an extended error handler

06-errorhandling_nonfatalerr

Demonstrates handling of non-fatal error codes

06-errorhandling_statuscode

Demonstrates handling of status codes

07-transactions_exclusive

Demonstrates use of the exclusive transaction manager

07-transactions_isolation_levels

Demonstrates the difference in behavior using different isolation levels with the MVCC transaction manager

07-transactions_iterate

Demonstrates how to iterate through committed objects within a two-phase transaction

07-transactions_mursiw

Demonstrates the MUlti-Read SIngle-Write transaction manager

07-transactions_MVCC

Demonstrates the MVCC transaction manager

07-transactions_nested

Demonstrates a (pseudo) nested transaction

07-transactions_ph2commit

Demonstrates a two-phase commit transaction to two in-memory databases

07-transactions_ph2disk

Demonstrates a two-phase commit to a disk based database

07-transactions_policy

Demonstrates the difference in behavior using different transaction policies

07-transactions_transaction

Demonstrates the different eXtremeDB transaction types

08-benchmarks_general

Demonstrates eXtremeDB performance for basic database operations using randomized data

08-benchmarks_perf

Demonstrates eXtremeDB performance for basic database operations using sequential data

08-benchmarks_perf_pmon

Demonstrates eXtremeDB performance using the Performance Monitor API

08-benchmarks_perf_struct

Demonstrates performance for basic database operations using simple and direct structs

08-benchmarks_perf_UDA

Demonstrates performance for basic database operations using the Uniform Data Access API

09-blobs

Demonstrates basic BLOB operations

10-events_asynch Demonstrates asynchronous database event handling

10-events_synch

Demonstrates synchronous database event handling

12-vectors

Demonstrates the use of vectors and vector-based indexes

13-xml_export_import

Demonstrates the use of the eXtremeDB XML export and import APIs

13-xml_xml_ops

Demonstrates basic XML operations

13-xml_xml_policy

Demonstrates the use of the XML Policy API

13-xml_xml_schema

Demonstrates use of the <classname>_xml_schema() API

14-ttl

Demonstrates "Time To Live" policies

16-uda_uda_mco

Demonstrates converting between UDA and native object handles

16-uda_udacoll

Demonstrates custom collations with tree & hash indexes using the UDA API

16-uda_udaevent

Demonstrates asynchronous and synchronous database event handling using the UDA API

16-uda_udameta

Demonstrates use of the UDA Metadata API

16-uda_udaopen

Demonstrates use of the basic UDA APIs mco_uda_db_open() and mco_uda_db_close()

16-uda_udaops

Demonstrates the UDA API in a variety of database operations

16-uda_udapsearch

Demonstrates basic pattern search methods using the UDA API

16-uda_udaudf

Demonstrates user-defined tree and hash indexes with the UDA API

17-statistics_dbcalc

Demonstrates use of the eXtremeDB database memory calculation tool (with various command line options)

17-statistics_dbcalcapi

Demonstrates simple usage of the eXtremeDB database memory calculation tool API

17-statistics_dbstat

Demonstrates how to obtain runtime database statistics

18-backup_BSE

Demonstrates the Binary Schema Evolution of a database

18-backup_db

Demonstrates saving an image (snapshot) of a database to disk

18-backup_disk

Demonstrates recovery of a persistent database from a backup file using the mco_disk_save()and mco_disk_load() APIs

18-backup_disk_file

Demonstrates recovery of a persistent database using the mco_disk_save()and mco_disk_load_file() APIs

18-backup_inmem

Demonstrates recovery of the in-memory portion of a database to disk using the mco_inmem_save() and mco_inmem_load() APIs

18-backup_migrate

Demonstrates migration of an existing disk database to a more recent eXtremeDB build or to a different schema

18-backup_online Demonstrates incremental backup and restore

19-recovery_diskrecovery

Demonstrates automatic recovery of a persistent database

19-recovery_sniffer

Demonstrates database recovery using sniffer to detect dead connections

21-overflow_persistent

Demonstrates the use of a memory allocation callback for a persistent storage database

21-overflow_transient

Demonstrates the use of a memory allocation callback for a transient (in-memory-only) database

22-httpview

Demonstrates the database browser

23-httpviewpmon

Demonstrates the database browser using the eXtremeDB performance monitor

24-rest_st Demonstrates the use of the Web Services REST AP in a single-threaded application
24-rest_mt Demonstrates the use of the Web Services REST API with the HTTP server
25-perfmon Demonstrates the use of the Performance Monitor C API to retrieve counters from the perfmon database using UDA