SQLMemTable is a simple and fast in-memory database for Delphi and C++ Builder. SQLMemTable does not require BDE and provides all the TTable functions such as master / detail relationship, filtering, searching, sorting, blob fields, key and range methods, as well as some advanced features like blob fields compression and Unicode support.
SQLMemTable includes 4 visual components:
TSQLMemDatabase, analogue of TDatabase;
TSQLMemTable which is a fast and easy in-memory TTable replacement;
TSQLMemQuery that provides a subset of SQL'92 operators;
TSQLMemBatchMove which is very close to TBatchMove and supports almost all of its functionality.
SQLMemTable provides the following services:
Multiple memory databases support;
SQL'92 DML & DDL enhanced support with advanced statements;
Correlated subqueries support in SELECT, UPDATE and DELETE SQL statements;
SQL stored procedures and functions support;
Full Views support;
Referential Integrity support (SQL'99 compliance);
100% Unicode support - SQL, filters, database objects names;
Export to SQL;
Master / detail relationship;
Database Designer - design-time editor for TSQLMemDatabase and SQL designer in TSQLMemQuery;
creating, renaming, emptying, deleting and restructuring tables;
creating, editing, deleting, browsing and searching for records;
creating and deleting multiple indexes;
calculated and lookup fields;
BLOB fields compression;
importing from and exporting to any dataset in fast and easy way;
loading and saving tables with optional compression;
internationalization / localization and Unicode support.
ftFixedChar, ftString, ftWideString, ftSmallint, ftInteger, ftLargeint, ftWord, ftAutoInc, ftFloat, ftBoolean, ftCurrency, ftDate, ftTime, ftDateTime, ftTimeStamp, ftBytes, ftVarBytes, ftDBaseOle, ftParadoxOle, ftTypedBinary, ftBlob, ftGraphic, ftMemo, ftFmtMemo
Advanced data types:
aftUnknown, aftChar, aftString, aftWideChar, aftWideString, aftShortint, aftSmallint, aftInteger, aftLargeint, aftByte, aftWord, aftCardinal, aftAutoInc, aftAutoIncShortint, aftAutoIncSmallint, aftAutoIncInteger, aftAutoIncLargeint, aftAutoIncByte, aftAutoIncWord, aftAutoIncCardinal, aftSingle, aftDouble, aftExtended, aftBoolean, aftCurrency, aftDate, aftTime, aftDateTime, aftTimeStamp, aftBytes, aftVarBytes, aftBlob, aftGraphic, aftMemo, aftFormattedMemo, aftWideMemo
Maximum records quantity: up to 231 (over 2 billions).
Maximum fields per table: 231 (over 2 billions).
Maximum indexes per table: 231.
Maximum index fields per index: 231.
Maximum index entry size: (PageSize - 128) / 2.
Default index page size: 4096 bytes (variable SQLMemDefaultMemoryPageSize in unit SQLMemConst).
Maximum field name's length: 255 characters.
Maximum index name's length: 255 characters.
BLOB compression: ZLib, BZip, PPM
Search operators: ,=,<>,=, like, not like, is null, is not null, and, or, not, ().