Commit Graph

1142 Commits

Author SHA1 Message Date
drh
fd405314d3 About 0.5KiB of additional compression in the parser tables. (CVS 2764)
FossilOrigin-Name: f39974ebd81f274dc4cf6cf94e6e87ee7b4a0814
2005-11-06 04:06:59 +00:00
drh
ada354db0e Improved table compression in lemon reduces the overall library size
by about 1.5KiB. (CVS 2761)

FossilOrigin-Name: 86ac11476962727d2d40b62ce87d689c01969537
2005-11-05 15:03:59 +00:00
drh
c9ac5caa45 VACUUM works even on an empty database. Ticket #1512. (CVS 2760)
FossilOrigin-Name: 1b6bf4188e8ebf55cf1972b7081f6d31bf525555
2005-11-04 22:03:30 +00:00
drh
ecc9242f6f Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685)
FossilOrigin-Name: 986efb7b12643800805ad4b1f1e90e30fcf6d38a
2005-09-10 16:46:12 +00:00
drh
9f18e8a0c4 Add infrastructure for the ANALYZE command. Does not yet actually
do anything. (CVS 2537)

FossilOrigin-Name: 05b6ac9a76fd5765c50e81588f8e71c59fe35ce4
2005-07-08 12:13:04 +00:00
drh
487e262f44 Remove the blob(), text() and numeric() functions added in (2524) and
replace them with the standard CAST operator.
Ticket #1287. (CVS 2527)

FossilOrigin-Name: 17631785f9ee8ab280c82677eb53886912e085bc
2005-06-25 18:42:14 +00:00
drh
b71090fdfb The REGEXP operator is recognized. It tries to invoke a function named
regexp() which does not exist in the native build.  But users who want to
can add an appropriate regexp() function using sqlite3_create_function(). (CVS 2478)

FossilOrigin-Name: 42a626ace126f730f33ecb6c41ac5679d6766a31
2005-05-23 17:26:51 +00:00
drh
29f214bdaa Change to the lemon parser suggested by Geert Janssen. Appears to have no
impact on SQLite. (CVS 2458)

FossilOrigin-Name: 6fda60083f258a4943c859d768ea7142de831594
2005-05-11 14:28:14 +00:00
drh
faf60c7a0d Fix minor display bugs in sqlite3_analyzer. (CVS 2431)
FossilOrigin-Name: d89aaba5b0fe6b2787531cadd7806ab5a3fdeb98
2005-03-29 13:18:16 +00:00
danielk1977
bc04f8529d Reduce the space allocated for the runtime virtual machine stack. (CVS 2428)
FossilOrigin-Name: 7d6818da33a87076d1faf35ffc15a3aada0533b3
2005-03-29 08:26:13 +00:00
danielk1977
634f298c89 Modifications to reduce memory consumption. (CVS 2422)
FossilOrigin-Name: 0fd5ce4eefdc429ce0493f15d0dba9e8a3a0b0e2
2005-03-28 08:44:07 +00:00
danielk1977
c4a41b12f4 Update to keyword list for ALTER TABLE ... ADD COLUMN command. (CVS 2394)
FossilOrigin-Name: 173e26961faec434cd4e4abc1dcb238ab9a942b8
2005-03-17 05:06:28 +00:00
drh
dc30dd3158 Patch the command-line error message printing for lemon. Ticket #1120. (CVS 2345)
FossilOrigin-Name: 97c7aaf1870a86955f0f3a0cbe06187e3c3ccc90
2005-02-16 03:35:15 +00:00
drh
7bec505e26 Add the (highly experimental) omit_readlock pragma that disables the use
of readlocks on read-only databases that are connected using ATTACH. (CVS 2317)

FossilOrigin-Name: 2155448d2128119f74241da0ea07d6713b71765c
2005-02-06 02:45:41 +00:00
danielk1977
6a67fe8edf Remove code for SQL cursors. (CVS 2312)
FossilOrigin-Name: 2eb90870556c90b8d85da3d5eb7554f74ec922c2
2005-02-04 04:07:16 +00:00
danielk1977
24c9253c43 Space analyzer: Format integer results as integers. Also fix the calculation of average-fanout. (CVS 2304)
FossilOrigin-Name: 52e473b94694cd0991257427d57515ecef93c780
2005-02-01 10:36:40 +00:00
drh
161aba32be More performance tweaking in the parser. (CVS 2302)
FossilOrigin-Name: a3d12726bb7bce72b8266236800c07f22ac5212f
2005-02-01 04:09:36 +00:00
drh
490a73bcde Lemon optimization: When doing a shift following a reduce that pops one
or more elements off the stack, no need to check for stack overflow. (CVS 2300)

FossilOrigin-Name: adcd9a3fa2a86464abd613aa88ae110b4799a241
2005-02-01 03:20:00 +00:00
drh
74bf02858b Tweaks to the keyword hash generator. Tried to make it a little faster.
If nothing else, the keyword hash table is now a little smaller. (CVS 2297)

FossilOrigin-Name: 4eca6c05abdf3955c5fd7bd3a22c87cd4741d656
2005-02-01 01:40:44 +00:00
danielk1977
c60e9b82db Assorted minor changes to speed up loading the database schema. (CVS 2293)
FossilOrigin-Name: dfbd684a913022ad43ce59c3422d3d94f776d547
2005-01-31 12:42:29 +00:00
danielk1977
940fac9dc5 Minor changes to avoid warnings on some compilers. (CVS 2267)
FossilOrigin-Name: 4daf1d1f9d4d32397d785d660394c5579c296b1f
2005-01-23 22:41:37 +00:00
drh
7bf5661068 Final preparations for the 3.1.0 alpha release. (CVS 2255)
FossilOrigin-Name: 17122c7e8e9cae36f1ffa7b42bd69d702980ac6a
2005-01-21 15:52:32 +00:00
drh
51522cd34a Added the SQLITE_OMIT_SUBQUERY compile-time option and the EXISTS operator.
Regression tests are currently failing with an assertion fault. (CVS 2245)

FossilOrigin-Name: d30fdf0f2c24cb74b48fab9b83fba4e4b2fe878a
2005-01-20 13:36:19 +00:00
danielk1977
5558a8a697 Fix some memory leak problems with corrupt.test and auto-vacuum databases. (CVS 2226)
FossilOrigin-Name: 6244252915fa312a6c4d192464023d95aaef4661
2005-01-17 07:53:44 +00:00
drh
8d65973d93 Fix a bug in lemon that does not effect SQLite. Ticket #1068. (CVS 2208)
FossilOrigin-Name: 7113b5ed8d51718356ce1cc51896a3070875a7e2
2005-01-13 23:54:06 +00:00
drh
c89b91beee Fix typos in comments in test code.
(Oops.  This check-in also picked up some unrelated
changes to documentation.) (CVS 2175)

FossilOrigin-Name: 586acc85b170f84d6e0dbd2e293da19551242f5a
2005-01-03 01:32:59 +00:00
danielk1977
78583d2440 Include the 'FOR' keyword in builds that include cursors but not triggers. (CVS 2147)
FossilOrigin-Name: 3053d82d7192ff77ff5f1fee143d784d5d51772a
2004-11-23 12:24:13 +00:00
drh
b6c29897eb Add initial infrastructure for cursors. In where.c, optimize out clauses
of the form "ORDER BY rowid" if a table scan is being performed.  Do a
reverse table scan if "ORDER BY rowid DESC" is present. (CVS 2141)

FossilOrigin-Name: fc8c1393c86017a816beb52725b68af3b973f979
2004-11-22 19:12:19 +00:00
danielk1977
7c6303c042 Add the ESCAPE clause to the LIKE operator. Not fully tested yet. (CVS 2107)
FossilOrigin-Name: 49268c2b7a84c4c618214dac8bef0f541440fe6b
2004-11-17 16:41:29 +00:00
drh
8040bc8b57 Fix the keyword generator so that it works with SQLITE_OMIT_ALTERTABLE. (CVS 2096)
FossilOrigin-Name: 60ace9985d4ea2ef0fd245027fab2fffc32014b6
2004-11-13 03:59:25 +00:00
danielk1977
9fd2a9a028 Add the "ALTER TABLE xxx RENAME TO yyy" command. (CVS 2092)
FossilOrigin-Name: a1b2cc63e604785bd51e358ff72c485d858752e3
2004-11-12 13:42:30 +00:00
danielk1977
0ba87cb85d Refactor the space-analysis script for readability. (CVS 2081)
FossilOrigin-Name: 63f2ee22e20ed7e520fd9230acc5c6db43b69d13
2004-11-09 07:42:11 +00:00
danielk1977
16254450f4 Update the space-analyzer tool to support auto-vacuum databases. (CVS 2080)
FossilOrigin-Name: 1cb8086612c7dec170da0910cf0cbe4e48c417f8
2004-11-08 16:15:09 +00:00
drh
6bf895708c Update tests to work even if some features of the library are disabled. (CVS 2050)
FossilOrigin-Name: b11fc9b3f3a2711f98e7e45724aa1d30081197f3
2004-11-03 16:27:01 +00:00
drh
52fb6d71f5 The makefile now runs mkkeywordhash.c. Keywords that are unused are
omitted from the keyword hash table. (CVS 2045)

FossilOrigin-Name: 007aec11333432e08d1091b728773011e9078bc3
2004-11-03 03:59:57 +00:00
drh
40f20f7d2a Tighter encoding of the keyword hash table in the tokenizer. (CVS 2028)
FossilOrigin-Name: 7b9886f8d4db366bc7dbf25495f0d3b907d25689
2004-10-23 05:10:18 +00:00
drh
2090a0ed48 Optimizations to the tokenizer. (CVS 2011)
FossilOrigin-Name: e5540ce047e0215904005bc9df4ff0d1d0a3c1d1
2004-10-07 19:03:01 +00:00
drh
5719628afb Convert many constants to have type "const". (CVS 2006)
FossilOrigin-Name: d790c84c5a889928d07f5394fffef0cbb8d5f214
2004-10-06 15:41:16 +00:00
drh
2aa6ca45c1 In lemon, allows open() using the "b" option to avoid \r problems on windows.
Ticket #897. (CVS 1956)

FossilOrigin-Name: b5b2e3db09831fe808f9f2692a836eef716df1c5
2004-09-10 00:14:04 +00:00
drh
9db55dfb98 Fix lemon so that inserted code always ends in a newline. Ticket #895. (CVS 1955)
FossilOrigin-Name: 13fba17e3f75c08142db6acc8884a78ac0bcdfd6
2004-09-09 14:01:21 +00:00
drh
af805ca035 Lemon escapes backslashes in filenames in #line directives it generates.
Ticket #892. (CVS 1943)

FossilOrigin-Name: d53047cbbc4e618c7bb5161b6f82876bb113db25
2004-09-07 11:28:25 +00:00
drh
7f4680c92e Remove the \001 character that lemon inserts automatically in its
output file.  The need for this character has expired and it creates
confusion for users.  Ticket #877 (CVS 1920)

FossilOrigin-Name: acfc59186ac7452c0a74dc4ef8df9a1c94fc4f46
2004-08-30 14:22:31 +00:00
drh
7ac25c7510 Enhance lemon so that a @X instead of just X in the code expands to the
major token value rather than the minor token value.  Use this to make
the parser a few hundred bytes smaller. (CVS 1895)

FossilOrigin-Name: 28215096e0748b5b02776ddb4c964e0161bc0f16
2004-08-19 15:12:26 +00:00
drh
3e27c02625 First cut at a analysis tool for version 3.0 databases. (CVS 1862)
FossilOrigin-Name: 7c7f698b2eda7b1b34f5ca7fe104145d8bbd8f56
2004-07-23 00:01:38 +00:00
drh
0bb132bedc Lemon collapses common destructors and reduce actions into a single case. (CVS 1837)
FossilOrigin-Name: 3c5aa850eeec5c75c5200a3707852cc5fc9e780b
2004-07-20 14:06:51 +00:00
drh
6d08b4d647 Add the '%ifdef' capability to lemon. Other minor changes. (CVS 1836)
FossilOrigin-Name: 522ff721ccc33c4b89072fed4e451f0df82e8140
2004-07-20 12:45:22 +00:00
danielk1977
eac7a362f6 Fix two more memory leaks. (CVS 1603)
FossilOrigin-Name: 98b48704a1ce983677cdb269c24f7bca4ed606f7
2004-06-16 07:45:24 +00:00
drh
218dc69436 Synchronize lemon.c to the version on the 2.8 branch. (CVS 1513)
FossilOrigin-Name: 6ab3af8847a7b0f1508824c9d8e0ec9685219371
2004-05-31 23:13:45 +00:00
drh
cc83b6e071 Add an extra assert() to lemon.c to make debugging easier. Ticket #692. (CVS 1305)
FossilOrigin-Name: 818bdba5dc25cda56716fdda1781a3d4ecb3a111
2004-04-23 23:38:42 +00:00
drh
60d316542f Do not sort terminal symbols by name. The terminals remain in the same order
that they are encountered in the grammar file.  This results in parse tables
that are 25% smaller. (CVS 1261)

FossilOrigin-Name: f36b122d9767fa9e6dc5bcce04b5606d67cad3d9
2004-02-22 00:08:04 +00:00
drh
784d86f716 Fix a bug in the parser table compression algorithm of lemon. (CVS 1249)
FossilOrigin-Name: 8d3e924975681a871e0eeac3b6a62cffdb947ac7
2004-02-19 18:41:53 +00:00
drh
240c5795d5 Preliminary fix for ticket #599. More testing and analysis needed. (CVS 1208)
FossilOrigin-Name: dc5be2c82b591a385adf02863d89e113272e2ebd
2004-02-08 00:40:52 +00:00
drh
6810ce677d Rework internal data structures to make the VDBE about 15% smaller. (CVS 1203)
FossilOrigin-Name: 8273c74bd09d1a044cb5154498b0a39939f6e3ed
2004-01-31 19:22:56 +00:00
drh
3ddfdf7ac6 Optimizations to the LEMON parser template. (CVS 1143)
FossilOrigin-Name: 06db29df8f0c1cd29e696537e622f0c5456056f5
2003-12-22 14:53:19 +00:00
drh
8548a059ff Comment changes to the lemon parser template. Change some sqliteMalloc() calls
to sqliteMallocRaw() for speed.  Update the website template. (CVS 1114)

FossilOrigin-Name: c637caf13f579959ecdb6b134d0114e8efbcac60
2003-10-22 22:15:27 +00:00
drh
fdbf928b08 Fix bugs in lemon associated with the change to a perfect hash table. (CVS 1113)
FossilOrigin-Name: c0d1b26966aeb445fea5792e5a9e93632e758c2a
2003-10-21 16:34:41 +00:00
drh
8b582012de Convert lemon to use a single perfect hash table for storing the actions.
This should make the resulting parser both smaller and faster. (CVS 1112)

FossilOrigin-Name: 4f955c00076b16166ff837749efb84201eab3c3a
2003-10-21 13:16:03 +00:00
drh
dc339ee29c The prior fix of ticket #360 was incorrect and caused a memory leak. This
check-in plugs the memory leak and correctly fixes ticket #360. (CVS 1040)

FossilOrigin-Name: fc490f677b89e623b41f9e7f5f3bade9b981562c
2003-06-29 20:25:08 +00:00
drh
3b2129cf77 A change to lemon related to ticket #313. (CVS 972)
FossilOrigin-Name: b59d9033d5556015543ac5ca23110ccbeb4391f0
2003-05-13 00:34:21 +00:00
drh
b5a20d3ceb Remove the begin_hook and commit_hook APIs. They were a bad idea. Add a
"trace" method to the TCL interface. (CVS 929)

FossilOrigin-Name: 6289b863590ecc5de3d1efaaa60aa6f3f64fefb3
2003-04-23 12:25:23 +00:00
drh
f9a2e7bb8d Change lemon to use <stdarg.h> instead of <varargs.h> because GCC no longer
supports varargs.h.  Tickets #288 and #280.  Ironically, lemon originally
used varargs.h because stdarg.h was not supported by the compiler I was
using in 1989 (which was gcc if I recall correctly.) (CVS 905)

FossilOrigin-Name: 7902e4778ec86e25ad949ae7a6d55b63ac0e85f3
2003-04-15 01:49:48 +00:00
drh
86bc1c8273 Add the "space_used.tcl" script to the tools directory. This script is used
to measure how much disk space is used by each table and index of a database. (CVS 789)

FossilOrigin-Name: 83b2c27a568cd67cd5162d513766b23ff9fc2227
2002-11-24 14:52:27 +00:00
drh
8f619ccd3c Modify the build process so that the VDBE opcode numbers and the table
that contains the opcode names are both automatically generated. This makes
it much easier to create new VDBE opcodes. (CVS 746)

FossilOrigin-Name: eb54d455b0325d3be96daf6c220c4ee3e0da1a85
2002-09-08 00:04:50 +00:00
drh
d94a669894 Fix the memory leak introduced by check-in (725). (CVS 726)
FossilOrigin-Name: b957dafc26383af514795df18bc7b8f367c9bd21
2002-08-25 18:29:11 +00:00
drh
b27b83a941 Fix for ticket #134: Change the lemon.c sources to work around a problem with
the AIX C compiler. (CVS 715)

FossilOrigin-Name: 07f6020bb56d6d1bffdd936017f61cfae5bd134b
2002-08-14 23:18:57 +00:00
drh
0de8c11292 Prepare for the 2.5.5 release. (CVS 661)
FossilOrigin-Name: 00f83c2576f4a9689720d344788f66219c1f6827
2002-07-06 16:32:14 +00:00
drh
0bd1f4ea5a Added the %fallback directive to the lemon parser generator and used this
in the parser to make the parse tables much smaller.  This reduced the size
of the library by 15K. (CVS 605)

FossilOrigin-Name: 7ac5bd293cbb2bf252f31f1571f7efac7e77280a
2002-06-06 18:54:39 +00:00
drh
4d908a3b43 Update the misuse.test script so that it will work under Windows. Changes
to the speed testing script to support version 2.4.12. (CVS 560)

FossilOrigin-Name: 232b7ef2c8207eb6d2564a641446267d3dec97af
2002-05-10 14:37:30 +00:00
drh
0ac6589202 Fix for ticket #1: Implement the GLOB and LIKE operators as functions that
can be overridden.  This way, a developer can change the LIKE operator to
be case sensitive, for example. (CVS 537)

FossilOrigin-Name: 51572bf71774d7631c7083be90b806e621bc9bee
2002-04-20 14:24:41 +00:00
drh
1f245e488a Change the way that lemon handles %extra_argument. (CVS 427)
FossilOrigin-Name: ffc387a48a9864b7f323314fbf8295b5bb2a3bd1
2002-03-11 13:55:50 +00:00
drh
7218ac7098 Bug fix: updates within a transaction would fail if there was existed
a temporary table. (CVS 425)

FossilOrigin-Name: 02cc2d60b2a5ee50efdbd90df90810ba559a453f
2002-03-10 21:21:00 +00:00
drh
cd61c2816f Added the default_cache_size and default_synchronous pragmas. Added additional
tests for pragmas.  Added a new speedtest script. (CVS 421)

FossilOrigin-Name: 161c0c5f5db66815e4345c9b5f7a600c03a67475
2002-03-06 22:01:34 +00:00
drh
e684090012 Optimizations to the processing of integer comparisons. (CVS 420)
FossilOrigin-Name: b7a7dae919be0e4c35b1fe8cb24fa7359a4b1200
2002-03-06 03:08:25 +00:00
drh
4b845d7ef4 Change the pager locking mechanism so that we don't have to write page 1
to the journal and to the database unless it actually changes. (CVS 419)

FossilOrigin-Name: 480eef1a3a4f049bc0d0cbee32dc8a8d138597c6
2002-03-05 12:41:19 +00:00
drh
603240cf5d Add the ability to turn of calls to fsync() using the "synchronous" pragma.
Increased the default cache size from 100 to 2000 and made the "cache_size"
pragma persistent. (CVS 418)

FossilOrigin-Name: 414da4af1f4aebc3936ca339fbc7932add081912
2002-03-05 01:11:12 +00:00
drh
1b2e032999 Bug fixes and additional tests for the subquery flattener. (CVS 411)
FossilOrigin-Name: 2c05389eda391e38894fc6969e29766df82a8fec
2002-03-03 02:49:51 +00:00
drh
b29b0a5227 Modify lemon to use much less memory for its parser tables. This reduces
the size of the library by 50K, which is important for an embedded library. (CVS 389)

FossilOrigin-Name: 67a135a051e7c96ddbfe85976539b4b8372c7026
2002-02-23 19:39:46 +00:00
drh
b59499c73b Bug fix in lemon: 3-way conflicts (SHIFT/REDUCE/REDUCE) were not detected or
resolved.  This is now fixed.  Also, table compression works a little better. (CVS 388)

FossilOrigin-Name: 8da0ac9a8bb859377613dd18f4f423eb49c7338b
2002-02-23 18:45:13 +00:00
drh
ba99af57ac Make lemon 64-bit clean (CVS 294)
FossilOrigin-Name: 475e2fedda2256cc1cfdffa1b12745bc401e552d
2001-10-25 20:37:16 +00:00
drh
6d4abfbee5 More changes for 2.0.7. (CVS 293)
FossilOrigin-Name: f8328a5f11801c5124f9a8dace22df3c1cfb2191
2001-10-22 02:58:08 +00:00
drh
b19a2bc603 Disclaimed copyright. Preparing for release 2.0. (CVS 250)
FossilOrigin-Name: 4e926efe2b59adfec4086eb1d2ba830238facb4c
2001-09-16 00:13:26 +00:00
drh
3543b3e0ba Release 2.0-alpha-1 (CVS 247)
FossilOrigin-Name: 264f23315e682909abb47912f48733f641772a4c
2001-09-15 00:57:59 +00:00
drh
a1b351af54 Bug fixes and speed improvements. Delete is still slow. (CVS 244)
FossilOrigin-Name: 7da856cd94d2572070e40762e5bc477679e60042
2001-09-14 16:42:12 +00:00
drh
c4a3c779b1 Added transaction support (CVS 196)
FossilOrigin-Name: 35a8feed0d10e780c477f7440fbe80637fcf9906
2001-04-04 11:48:57 +00:00
drh
960e8c6317 Bug fixes from Oleg Oleinick (CVS 195)
FossilOrigin-Name: 1f0197d504fa2bde15b287ac6c0102cacdb1e482
2001-04-03 16:53:21 +00:00
drh
03e7e9516f Perpare to fork SQLite2.0 develop into a separate tree (CVS 184)
FossilOrigin-Name: 4f00e27f17a15504543c5bbb8765c88bacd7257e
2001-02-11 16:58:21 +00:00
drh
d9e5075ff6 :-) (CVS 1711)
FossilOrigin-Name: 0529c979fd17995aff82e21b91b5cc833f23d8ef
2001-01-21 22:03:30 +00:00
drh
61bc272814 bug fix in lemon (CVS 136)
FossilOrigin-Name: 6f4c080739333dbbc3556b5cf96f341f62167646
2000-08-20 11:42:46 +00:00
drh
6e142f5479 remove all memory leaks (CVS 80)
FossilOrigin-Name: bf98cf82a73c54c4eced04994bb1a019844dfc03
2000-06-08 13:36:40 +00:00
drh
b0c86771d5 :-) (CVS 44)
FossilOrigin-Name: cd83d3cfeb26ebf0d33e7113d0ee549c9cfd55c5
2000-06-02 23:21:26 +00:00
drh
b1edd01ec9 :-) (CVS 42)
FossilOrigin-Name: 11e3296319843356cf09832577f7dea4b33c78be
2000-06-02 18:52:12 +00:00
drh
75897234be initial check-in of the new version (CVS 1)
FossilOrigin-Name: 6f3655f79f9b6fc9fb7baaa10a7e0f2b6a512dfa
2000-05-29 14:26:00 +00:00