Watch, Follow, &
Connect with Us

ID: 27807, SQLMemTable

by Ella Perelman Email: Anonymous


SQLMemTable is a light and fast in-memory Delphi database with SQL which includes SQLMemTable, SQLMemQuery, SQLBatchMove visual components. No BDE, no dlls required, SQL support, BLOB fields compression, fast indexes, table as well as the whole in-memory database import/export, Unicode, thread-safe, comprehensive help.
Download Details
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 15.0  to 15.0 55 downloads
Copyright: Commercial use requires permission


Size: 5,683,320 bytes
Updated on Tue, 24 Aug 2010 08:08:42 GMT
Originally uploaded on Wed, 28 Jul 2010 07:56:59 GMT
SHA1 Hash: 74426B138D6E0ADFF1E12AA28A08512CBA6A707C
MD5 Hash: 71F60654BCCD558C4C5E19B292C497A8

    Explore the files in this upload

Description
SQLMemTable is a simple and fast in-memory database for Delphi and C++ Builder.
SQLMemTable includes three visual components:

* 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:

* SQL (DML & DDL) commands support;
* Referential Integrity support (foreign keys)
* BatchMove component;
* master / detail relationship;
* 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;
* internationalization / localization and Unicode support.

SQLMemTable is a fully functional in-memory database system; it includes 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, ().


Features and benefits
=====================

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.


SQL support
===========

Here is a full list of supported SQL statements in current version of SQLMemTable:

* SELECT [DISTINCT | ALL]
* | column [AS correlation_name | correlation_name], [column...]
[INTO destination_table]
FROM table_reference [AS correlation_name | correlation_name]
[[[[NATURAL][INNER | [LEFT | RIGHT | FULL] OUTER JOIN] table_reference [AS correlation_name | correlation_name]
[ON join_condition] | USING (join columns)]
[WHERE predicates]
[GROUP BY group_list]
[HAVING predicates]
[ORDER BY order_list]
[UNION [ALL] [CORRESPONDING [BY (column_list)]] SELECT...]
[EXCEPT | MINUS [ALL] [CORRESPONDING [BY (column_list)]] SELECT...]
[INTERSECT [ALL] [CORRESPONDING [BY (column_list)]] SELECT...]
* CREATE TABLE, DROP TABLE, ALTER TABLE statements
* CREATE INDEX, DROP INDEX statements
* INSERT, UPDATE, DELETE statements
* SQL scripts (multiple commands separated by ';')
* BETWEEN, IN, LIKE, IS NULL operators
* Aggregate functions COUNT,SUM,MIN,MAX,AVG
* Most of all SQL'92 arithmetic, logical, datetime and string expressions, functions and operators
* Data types conversion function CAST
* Parameters in queries

If you have any questions or would like to tell us what SQL feature you need first of all, please feel free to contact our Support Team.

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Server Response from: ETNACDC02