AltME: Databases


Very light mmap() based b+tree library LMDB a part of OpenLDAP is available separately at After some mungling I succeed with Mingw  on windows, TCC needs a bit more but works too. Compiled dll is 90kB packed with upx touch directly 30kB what is a size Carl requested for DB backend for Rebol some time ago. test aplications runs under windows. Mingw is more compatible with unix like getopts() used in some tools included in package.
The "packed with upx" part doesn't seem compatible to me with the way encapped mezz code is loaded by Rebol on booting.
I would go with SQLite anyway. Version 4 brings some architectural changes IIRC ...
If you read the LMDB page, there is a SQLite implementation with LMDB replacing SQLite's own B-tree implementation. Performance looks significantly better.
SQLite 4 has a new interface for low level storage engines like these, and a default one that's also faster than SQLite 3

LMDB for SQLite 4 is in the works too, it seems. I guess it remains to be seen if it will improve upon the built in implementation.

Pavel a public domain implementation compiles to about 25 kB. No problem with TCC compiler. using mmap partially sensitive for configuration parameters (page size and amount of cached space). This program doesnt store a data only pointers to them ie creating only indexes.
previosly mentioned LMDB was based on work  of Martin Hedenfalk original implementation needs be touched to be complilable under Windows, but it is worth to look at it. Append only DB

Cannot connect to MySQL 5x with Rebol/Command's official MySQL driver?
I get "Client does not support authentication protocol" even I use
"update user set Password=OLD_PASSWORD('password') WHERE User='username'; "
which should work.
So the only way is to use  ?

IIRC, the statically linked libmysql in the SDK is a 3.x version. You can use that MySQL driver version or you can write a binding to a newer libmysql client you wish. ;-)

  is this the place to talk about R3 ODBC ?
Seems as good as any to me.

Is there a newer version than 1.2.1 of the mysql-driver of Softinnov available? I tried to connect to MariaDB and got an error message
>> read mysql://localhost/mysql/test
** User Error: ERROR 1251 : Client does not support authentication protocol requested by server; consider upgrading MariaDB client
** Near: read mysql://localhost/mysql/test
You have the link to the newest version 4 messages above:

I've got two changes on mysql-protocol-41.r
the first one is a variable leakage:
-   read-packet: func [port [port!] /local packet-len pl status][
+   read-packet: func [port [port!] /local packet-len pl status tmp][
the second one I really don't remember what it does.. :
-               either find port/locals/capabilities 'protocol-41 [
-                   insert-query port data
-               ][
+               ; either find port/locals/capabilities 'protocol-41 [
+               ;   insert-query port data
+               ; ][
                    insert-all-queries port data
-               ]
+               ; ]

Last message posted 149 weeks ago.