-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Aditya Bhave (adbhave) wrote: > I am interested in learning about the internals of SQLite.
The SQLite documentation page at http://sqlite.org/docs.html contains almost all the information you could possibly want. > How it parses > SQL strings, what goes on the parsing stack, A parser generator named Lemon is used which is documented at http://www.hwaci.com/sw/lemon/ The file containing the SQLite grammar and what actions are performed is src/parse.y > how it executes SQL statements etc. A virtual machine is used since it provides an easy way to encode state (eg between calls to sqlite3_step). The broad principles are documented at http://sqlite.org/vdbe.html and the machine opcodes are documented at http://sqlite.org/opcode.html This paper contrasts stack based vs register based virtual machines. SQLite used to be stack based and moved to register based a few revisions ago. (Note that the virtual machine is not exposed to users of SQLite so the backend is irrelevant to the user, as long as it works) http://www.usenix.org/events/vee05/full_papers/p153-yunhe.pdf Roger -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFIcwm1mOOfHg372QQRAuVbAJ9cli9pD9enCHZr8yDDWgJ9ghsvfACgyjXe zIcyPCpKe1zu5TPKOFefbvY= =+mJS -----END PGP SIGNATURE----- _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users