23 within SQLite. SQL statements that are to be processed are sent to the SQL |
23 within SQLite. SQL statements that are to be processed are sent to the SQL |
24 Compiler module which does a syntactic and semantic analysis of the SQL statements |
24 Compiler module which does a syntactic and semantic analysis of the SQL statements |
25 and generates bytecode for carrying out the work of each statement. The generated |
25 and generates bytecode for carrying out the work of each statement. The generated |
26 bytecode is then handed over to a Virtual Machine for evaluation. </p> <fig id="GUID-370A849E-D1CC-5510-9211-D732C2D1DF6B"> |
26 bytecode is then handed over to a Virtual Machine for evaluation. </p> <fig id="GUID-370A849E-D1CC-5510-9211-D732C2D1DF6B"> |
27 <title> Simplified SQLite Architecture </title> |
27 <title> Simplified SQLite Architecture </title> |
28 <image href="GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e366524_href.png" placement="inline"/> |
28 <image href="GUID-D3881E09-4519-5E3F-9978-C9FEFD123B85_d0e395522_href.png" placement="inline"/> |
29 </fig> <p>The Virtual Machine considers the database to be a set of B-Trees, |
29 </fig> <p>The Virtual Machine considers the database to be a set of B-Trees, |
30 one B-Tree for each table and one B-Tree for each index. The logic for creating, |
30 one B-Tree for each table and one B-Tree for each index. The logic for creating, |
31 reading, writing, updating, balancing and destroying B-Trees is contained |
31 reading, writing, updating, balancing and destroying B-Trees is contained |
32 in the B-Tree module. </p> <p>The B-Tree module uses the Pager module to access |
32 in the B-Tree module. </p> <p>The B-Tree module uses the Pager module to access |
33 individual pages of the database file. The Pager module abstracts the database |
33 individual pages of the database file. The Pager module abstracts the database |