free, lightweight sql engine

revolution at knowledgeworks.plus.com revolution at knowledgeworks.plus.com
Wed Jul 9 03:01:01 EDT 2003


I thought this might be of interest to Revolution developers.  SQLite is an cross-platform embedded SQL engine (basically DLL and an ODBC driver).  It appears to be completely free (as in beer and speech).  In this sense it is more free than MySQL (my understanding is that the latter is not free for use if distributed as part of a commercial application).

There are bindings for many different languages (there could be a native Transcript binding if Runrev were so inclined, and SQLite could be distributed as a part of Rev).  

In terms of SQL compliance, it seems to be at the level that MySQL was at up until the last release of MySQL.  Obviously, it is not a multi-user relational database (but then it also doesn't cost thousands of pounds/euros/dollars, nor a DBA....)

Here's some more info.  I haven't had time to test it other than to see that I could create a database and populate it with test data, and then connect to it from within Rev and query the data.  (I'm involved in so many other technology assessments right now that I just don't have time to use this, but thought this could be of use to Revolution users...  )

This is the main site: http://www.hwaci.com/sw/sqlite/

Sqlite seems to offer the best kind of relational storage for a Revolution/Metacard stack.  It seems to me that the primary reason why Rev/Metacard developers might want to store data in a RDBMS is to be able to access data faster than they can if it was simply stored in stacks (and really the key here is to be able to index the data).

What does Sqlite have to recommend it?

Sqlite is multiplatform - http://cvs.hwaci.com/sqlite/wiki?p=HowToCompile
(One doesn't necessarily have to compile it - there are binaries for Windows and Linux here: http://www.hwaci.com/sw/sqlite/  I was unable to find a binary for OS X).

The databases can be accessed from various languages and wrappers:
http://www.hwaci.com/sw/sqlite/lang.html
http://cvs.hwaci.com/sqlite/wiki?p=SqliteWrappers
(It is not surprising to see Delphi, Perl and Smalltalk in that list, but it is quite surprising to see Java and PHP.  Apparently the use of SQLite as the backend for websites is growing very rapidly).

There is an ODBC interface, so it can already be accessed from Revolution: http://www.ch-werner.de/sqliteodbc

I'm sure many traditional programmers would think that it is a bad idea to have typeless columns in a relational database, but I think this could appeal to Metacard/Rev developers: http://www.hwaci.com/sw/sqlite/datatypes.html



More information about the use-livecode mailing list