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]
-----------------------------------------------------------------------------

Reply via email to