A few developers have suggested that we take a look at SQLite as an implementation method for RIF data (see below). So, today I took 20 minutes to look again at SQLite (it's been a year since I last looked at it) to see if it makes sense for REBOL integration. After reviewing the source code, I concluded that it may be possible to add the backend of SQLite to REBOL (essentially the btree file storage system, but not the SQL, which we do not need), and it may not add a whole lot of KB to the size of REBOL.
Of course, if we did add SQLite, it would be in addition to RIF. Here is the reason: the RIF file structure is simple... which means if you somehow have a problem such as DB corruption, you'll have a good chance of fixing it. It will also make any DB management functions and tools easier to write. When you're dealing with complex file structures, those tasks become a lot harder.
Also, if we decided to add SQLite, I'd want to find a volunteer or two who would help with the implementation -- mainly trimming out all the things in SQLite that REBOL already does, then making it fit into REBOL's I/O port model. The volunteer(s) should have experience in databases and the C language. This is not a newbie project.
Of course, it's always possible to leave SQLite out and just make it a REBOL Plugin module. We know the advantages (REBOL is smaller) and disadvantages (you cannot count on it being there, it has to be installed).
So, that's something for you to think about. Let me know your thoughts on this topic.
Updated 28-May-2023 - Copyright Carl Sassenrath - WWW.REBOL.COM - Edit - Blogger Source Code