SQLMemTable v15.00 Personal Edition Delphi 5 - Delphi 10.3 Rio

SQLMemTable v15.00 Personal Edition Delphi 5 - Delphi 10.3 Rio
SQLMemTable v15.00 Personal Edition Delphi 5 - Delphi 10.3 Rio


SQLMemTable is a simple and fast in-memory database for Delphi and C++ Builder.
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 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 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;
Case-insensitive search;
Referential Integrity support (SQL'99 compliance);
100% Unicode support - SQL, filters, database objects names;
Export to SQL;
BatchMove component;
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;
filtering support;
BLOB fields compression;
Multi-thread access;
importing from and exporting to any dataset in fast and easy way;
loading and saving tables with optional compression;
internationalization / localization and Unicode support.
SQLMemTable is a fully functional in-memory database system; it includes database, table, query and batch move components as well as useful utility (with source code), demos and comprehensive help. SQLMemTable does not require BDE or any external drivers and has small footprint.

Specification

Data types:
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, ().

Compactness

Short compiled code with approximate size 300 Kb, no external drivers (such as BDE) required.
Small memory consumption by SQLMemTable database engine.
Fast BLOB data compression. Your large data fields will need less memory. SQLMemTable can compress data on the fly. The compression routines used in the SQLMemTable are much faster than most of popular archivers like PKZip, WinRar, Arj.
High performance
Fast search by B-tree indexes. At the moment SQLMemTable is one of the fastest existing in-memory tables for Delphi and C++ Builder.
High-speed in-memory performance is achieved by means of using specially optimized memory manager and tuned algorithms.
Quick operations with strings. SQLMemTable compares strings up to 3 times faster than standard Delphi string routines. High performance is achieved by using a special library written in Assembler and an advanced sorting algorithm.
Advanced SQL optimizer often makes query execution significantly faster by choosing the best execution plan.
Functionality
A subset of SQL'92 (DML & DDL) operators is supported by TSQLMemQuery component. With SQLMemTable you can create SQL scripts for creating tables, inserting, editing and deleting records, retrieving data by SELECT command. See full list of supported commands.
Advanced search engine. SQLMemTable supports 'LIKE' operator with wildcards '%' and '_', as well as 'IS NULL' and 'IS NOT NULL' in filters and queries.
Full multiple index support, i.e. numerous fields in a table may comprise an index. SQLMemTable provides descending and ascending indexes, case-sensitive and insensitive indexes for string fields.
Shareable in-memory tables. SQLMemTable supports simultaneous access to a table by multiple TSQLMemTable components within a single application.
Default values support.
Record-level constraints, i.e. constraints that must be met when editing the data.
Compatibility
SQLMemTable supports most of TTable field data types, including BLOB fields, moreover it allows to create string and wide string fields of any fixed length.
SQLMemTable is fully compatible with standard DB-aware visual controls such as QuickReport, DBGrid, DBNavigator, DBImage, DBMemo, DBRichEdit, as well as with third party products supporting TDataset descendant components - FastReport, DBFlyTreeView and others.
Calculated and lookup fields can be used in the same way as TTable.
Most of TTable functions are supported including Key and Range methods.
Convenience
Table restructuring is being performed in the easiest way keeping all the existing data.
Data importing from and exporting to any dataset is supported. SQLMemTable provides you with the simplest way to import and export tables using ImportTable and ExportTable methods.
Internationalization / localization support. All text search and sorting functions use current system locale, so localizing your program with SQLMemTable is a very simple task.
Unicode support. All the text operations work with multi-byte encoding using ftWideString.
Comprehensive help. SQLMemTable comes with full documentation presented in SQLMemTable Developer's Guide and SQLMemTable Reference.

Information
Users of Guests are not allowed to comment this publication.