We are happy to release next version of kbmMemTable!
- Support for RAD Studio and Delphi 13.
- Added support for INSERT…SELECT SQL statement
- Added support for ftLargeUint field type
- Added several new custom SQL functions
- Improvements and fixes.
kbmMemTable is the premier high performance, high functionality in memory dataset for Delphi, C++Builder and Lazarus/FreePascal with kbmMemTable Professional topping the scales as being the worlds fastest!
It is running on all IDE supported platforms including Win32/64, Linux64, OSX, IOS and Android.
If you have an up to date Service and Update (SAU) subscription, then you can immediately visit https://portal.components4developers.com to download the latest kbmMemTable release.
If not, please visit our shop at http://www.components4developers.com and extend your SAU with another 12 months.
Whats new in 8.00.00 Sep 17 2025
--------------------------------
- Added support for INSERT ... SELECT statement
- Fixed bug when having more than 50 items in a list in a filter expression.
Now unlimited number of items are supported, although discouraged.
Better to use kbmMemSQL or an OnFilterRecord event handler.
- Added support for Delphi 13 (Florence)
- Added support for ftLargeUint64
- Added support for filters with more than 50 entries in IN (...) statement.
- Added ftLargeUint support.
- Added UnionTableStructure method to update current table with the structure
from another datasource while attempting to retain data.
- Added SQL custom function RANDOM. Takes 0 or 1 argment.
If zero arguments, returns random floating point value between 0 and 1.
If one argument (n), returns random integer value between 0 and n.
- Added SQL custom functions RUNUNTIL and RUNWHILE.
RUNUNTIL takes 2+ arguments. First argument is compared successively
with the next arguments one by one. When the return value of the next
argument has same value as the first, the function stops processing further arguments.
RUNWHILE takes 2+ arguments. First argument is compared successively
with the next arguments one by one. When the return value of the next
argument has a different value compared to the first, the function stops processing further arguments.
The return value is NULL if RUNUNTIl or RUNWHILE do not stop at an argument match, else the value
of the argument is returned (same as 1. argument).
- Added SQL parsing support for ALTER TABLE ADD CONSTRAINT UNIQUE and ALTER TABLE DROP CONSTRAINT
![]()







