Thank you, so as I understand it, the option SQLITE_OMIT_PARSER mean that I've already parsed the statements, and are not supporting "ad-hoc" SQL.
What about the compiler option SQLITE_OMIT_CHECK Thanks, Noah Hart -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 2:10 PM To: sqlite-users@sqlite.org Subject: Re: [sqlite] compiler option SQLITE_OMIT_PARSER "Noah Hart" <[EMAIL PROTECTED]> wrote: > > However, I cannot find what is the purpose of the compiler option > SSQLITE_OMIT_PARSER > > Clearly it "Omits" the "Parser", but my real questions are: > what is the purpose of the parser. > What are the ramification of omitting it from sqlite? > SQLite, like every other SQL database engine, can be divided into two logical components. The front-end or "compiler" reads SQL statements and compiles them into bytecode. The back-end interprets the bytecode in order to do whatever is the statement requests. (Note: SQLite really uses bytecode. Other SQL engines do different things - usually they build a tree of some kind and then the backend walks the tree. But the concept is the same.) The frontend of SQLite is the larger of the two components. The sqlite3_prepare() API is the interface to the front-end. The sqlite3_stmt object that sqlite3_prepare() returns is really a little computer program in byte code. sqlite3_step() is the interface to the backend. sqlite3_step is a virtual machine for interpreting the bytecode. There is a proprietary extension for SQLite that allows you to compile SQLite without the compiler frontend. This makes the library much smaller. Sometimes that is important for embedded devices. The downside, is that the parser-less SQLite does not understand SQL. You have to feed it bytecode that you generated on a workstation using a version of SQLite that does have compiler built in. Typically, the generated bytecode is put into a special table in the database and you then run statements by number. In other words, the embedded device says things like "I now what to run statement 43 with parameters 1.43e17, 'hello', and NULL." -- D. Richard Hipp <[EMAIL PROTECTED]> ------------------------------------------------------------------------ ----- To unsubscribe, send email to [EMAIL PROTECTED] ------------------------------------------------------------------------ ----- CONFIDENTIALITY NOTICE: This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation. ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------