On Sat, Mar 26, 2011 at 8:56 PM, Patrick Earl <pate...@patearl.net> wrote: > 1. Support for a base-10 numeric data type.
Looking at the wikipedia page for NHibernate it seems that you don't export a SQL interface -- all SQL is generated. So, given that, you should be able to generate SQLite3 statements that use user-defined functions for handling bignums. There have been other threads on this topic recently. > 2. Support for altering tables (especially the removal or addition of > foreign keys). Granted, tables can be updated by turning off foreign > key constraints, copying all data, manually checking foreign key > consistency, and then turning on foreign key constraints again. Not > having the ability to alter tables ultimately leads to a great of > complexity in any system that has to deal with updating database > schemas. If it's just foreign keys you could just generate/drop triggers (there used to be a program for that). Actually, most table constraints can be implemented via triggers (CHECK? check; FOREIGN KEY? check; UNIQUE? check!); only collation can't be handled via triggers. > 3. FULL OUTER JOIN support. There are work-arounds, but implementing > those as part of NHibernate proved quite complicated, so I opted to > wait unless there seems to be extreme demand for it. You could always use a UNION to emulate FULL OUTER JOIN (a UNION of two LEFT OUTER JOINs with the tables swapped). Support in the engine could probably be significantly more efficient than that. > 4. Some sort of locate function to get the index of substring within > another string. I couldn't even find any way to emulate this (aside > from user defined functions). You can define that yourself. > 5. Support for operations like "= all (subquery)", "= some > (subquery)", and "= any (subquery)". What's that? > 6. Better support for distributed transactions. I don't pretend to > be an expert here, but it seems plausible that SQLite could > participate in a transaction across multiple databases. Perhaps > implementing two phase commit would help with this. If by distributed you mean "client/server" then SQLite3 is likely not for you (but there are third party projects that add a networked layer above SQLite). In any case, SQLite3 does do two-phase commits (and provides ACID semantics). Nico PS: I'm just a SQLite3 fan. My comments above you be taken with salt. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users