iAuxSQL: database engine is the programming library for SQL Database sub-system for C++ development of games and other software. Every database host provides own native client library but the behavior and API of each are always different. iAuxSQL's goal is to unify many different database clients into single, portable and high-performance interface.
Asynchronous
iAuxSQL: database engine implements fully asynchronous internal core and supports separate data flow directions. Select queries do not block Execute queries made from other threads. Execute queries are submitted asynchronously and application is secured from direct communication with database native client.
Scalable
iAuxSQL: database engine is capable of running in thread-less mode, that is useful for applications with low data processing demands. Default asynchronous mode extends data processing capabilities to its maximum level and is suitable for large-scale server operations.
Unified API
iAuxSQL: database engine's API does not differ by database type, the interface is completely unified. It allows application to change database type during its run-time.
Transactions
iAuxSQL: database engine supports database transactions. To overcome inflexibility of native transaction mechanism it also implements own asynchronous, thread-safe, named transaction functionality.
Proxy
iAuxSQL: database engine provides special proxy functionality for database communication. It is complete client-server solution. Proxy functionality provides additional encryption of transferred data with strong cryptographic algorithms. Proxy client operates as database client and is suitable for platforms where none of the database native clients supported.
Mobile
iAuxSQL: database engine supports mobile platform. Even though some mobile platforms do not support database native client, iAuxSQL's Proxy functionality allows to overcome this limitation.
Serialization
iAuxSQL: database engine's API provides necessary functionality to serialize binary data into the portable, textual form which can be stored by any database type. To meet all possible demands, Base16, Base32, Base64, Base64 + DEFLATE algorithms are provided.
Encryption
iAuxSQL: database engine provides additional cryptographic functionality supported by strong cryptographic algorithms. Its API allows to encrypt data which is submitted in form of query. Proxy functionality encrypts whole data I/O between client and server including data packet headers.
Features
- Supports: MySQL (client: 4.1, 5.0, 5.1, 5.4, 5.5; server: any), PostgreSQL (8.2+), Oracle (10.2+), SQLite (built-in: latest)
- Transactions:
- Native
- iAuxSQL specific: named, thread-local, thread-safe
- Proxy (client/server)
- Asynchronous Execute queries
- Separate Execute and Select query streams
- Serialization:
- Base 16
- Base 32
- Base 64
- Base 64 + DEFLATE (data compression with DEFLATE algorithm)
- Encryption:
- Block ciphers: TwoFish, BlowFish, GOST 28147-89
- Stream ciphers: OFB, CFB, Alleged RC4
- Interface: C++ with inline documentation of functions, interfaces, parameters
- Precompiled binary: Microsoft Visual C++, GNU Compiler Collection (GCC), Intel C/C++
- Platform:
- PC: Microsoft Windows (XP SP2, Vista, 7), Linux, Apple Mac OS X
- Mobile: Google Android, Apple iOS, Palm/HP webOS, Microsoft Windows Mobile 6/6.5, Samsung bada OS*
- Console: available by request


