Commit Graph

1382 Commits

Author SHA1 Message Date
drh
75e99a4727 Fix to the previous check-in so that it works on a intel Mac. (CVS 4962)
FossilOrigin-Name: 1d67f41c885d052ab10a33892938a85b56882b3d
2008-04-03 20:09:06 +00:00
drh
d543a42248 Use an improved RDTSC access routine. (CVS 4961)
FossilOrigin-Name: b4eba9c533f6aac9dde4f2c9796fe02e25158a0f
2008-04-03 19:40:59 +00:00
drh
17afdd238f Changes speedtest8 and speedtest16 so that the database file can be specified
on the command-line.  Allows speed testing against a :memory: database. (CVS 4960)

FossilOrigin-Name: 64badc50531668de45d76a3dcd90db17e1fe1ab1
2008-04-03 17:57:24 +00:00
drh
7720d6448a Add the speedtest8.c and speedtest16.c files to the tools subdirectory. (CVS 4958)
FossilOrigin-Name: b8d211a76fa56d812fc1758b58d65eef832494cb
2008-04-03 16:01:27 +00:00
mlcreech
6f10b3c0c9 Replace SQLITE_EXTERN with SQLITE_API in exported variables when generating
the amalgamation.  Should fix #2982 (CVS 4845)

FossilOrigin-Name: f134c282ea841fe35f322a1f8c326242c6ad7b24
2008-03-09 01:14:41 +00:00
mlcreech
98dc4b1aba Clean up recent autoconf-related additions, add config.h to the amalgamation (CVS 4833)
FossilOrigin-Name: 8044623062e9aa43593c46e3e5d5bc7361ea7418
2008-03-06 16:28:58 +00:00
mlcreech
3a00f907a9 Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819)
FossilOrigin-Name: 9c6694bb61a8ecdbfb2d05e5e05a8cc97b792240
2008-03-04 17:45:01 +00:00
drh
f5e7bb513c Add the Bitvec object for tracking which pages have been journalled.
This reduces memory consumption and runs faster than the bitmap approach
it replaced. (CVS 4794)

FossilOrigin-Name: 7c57bdbcdb84d95419ec7029d2e13c593854a8d8
2008-02-18 14:47:33 +00:00
drh
2d7636e212 The power-of-two first-fit memory allocator is now working. (CVS 4793)
FossilOrigin-Name: d134d29cea971eb01a0e0fd94341ab79e2d5b57a
2008-02-16 16:21:45 +00:00
drh
820a90694e Version number to 3.5.5. Include FTS3 in the amalgamation by default
(but disabled unless compiled with -DSQLITE_ENABLE_FTS3).  Fix a memory
allocation problem. (CVS 4757)

FossilOrigin-Name: 72411043e60d5358d5a7adf566d662d65d3b3336
2008-01-31 13:35:48 +00:00
rse
d18eef5c57 remove an unused variable (CVS 4751)
FossilOrigin-Name: 88846195474e620d0c3029d464d074aea6e82a22
2008-01-27 10:35:56 +00:00
drh
01495b9921 Improvements to test coverage in the lemon-generated parser and in the
sqlite3_get_table() interface. (CVS 4745)

FossilOrigin-Name: 9f95d79daeb5e7f6fd62f3c896dae4d332121d1c
2008-01-23 12:52:40 +00:00
drh
4b2f9368cb Improved test coverage for the tokenizer and sqlite3_complete() interface.
Fix bugs in parsing blob literals and SQL variables beginning with $. (CVS 4743)

FossilOrigin-Name: c82033faf8bdb83ce43f0dd1611408e7796d53de
2008-01-22 23:37:09 +00:00
drh
643167ff21 Add the fault injector module in fault.c. Use it as a basis for memory
allocation failure testing. (CVS 4742)

FossilOrigin-Name: 1a335e180183b414fcc3510ce28b98b21cd134a6
2008-01-22 21:30:53 +00:00
drh
5517625960 Remove dead code from the lemon-generated parser. Better testing
of the sqlite3_file_control() interface, and in particular make sure
the interface works on :memory: databases. (CVS 4738)

FossilOrigin-Name: 83ca4fc7dc18d6deca58fe4181905eb9754e03da
2008-01-22 14:50:16 +00:00
drh
c4dd3fd280 Changes to lemon to generate additional comments in the output file and
to remove unreachable code.  Additional test cases for improved test
coverage. (CVS 4736)

FossilOrigin-Name: 2a0bc1e186532a0bfe36ca18fda74a5e7a199227
2008-01-22 01:48:05 +00:00
danielk1977
7c9aaa7058 Define SQLITE_CORE=1 at the start of the amalgamation file for the benefit of any extension source code (i.e. fts3) appended to it. Ticket #2858. (CVS 4649)
FossilOrigin-Name: 6dea8c16384443ed4ab59d1e2694534992ec3118
2008-01-01 05:49:07 +00:00
drh
9892c5d1f4 Fix some issues with lemon. Tickets #2852 and #2835. (CVS 4641)
FossilOrigin-Name: 5283e0d1467e0fc0ebbd1be553b5a8762e9c7975
2007-12-21 00:02:11 +00:00
drh
0349688fbc Fix a bug in the TCL code for sqlite3_analyzer. (CVS 4590)
FossilOrigin-Name: 7c2cf4542852a81daf29a930ab103c52bb678326
2007-12-04 13:41:51 +00:00
drh
71674ce9ce Make sure the _LARGEFILE_SOURCE macro occurs before any system
includes.  Ticket #2739. (CVS 4508)

FossilOrigin-Name: 36465aeb1f8f92d336faf16c25608c9a8a6585d3
2007-10-23 15:51:26 +00:00
drh
979aeaa395 Add the new memory allocator to the amalgamation. Improvements to
out-of-memory handling. (CVS 4498)

FossilOrigin-Name: b58c2b37a5deb19ce0ef78629989016743a46bb3
2007-10-20 16:36:31 +00:00
drh
b496099751 Changes lemon so that the generated parser does not accept prior to
seeing the EOF token.  This is a lemon change only and does not
effect SQLite.  Ticket #2550. (CVS 4473)

FossilOrigin-Name: 1c68d93412a608f5164ad984ff290ab3b832bf7a
2007-10-05 16:16:36 +00:00
rse
38514a9fb2 get rid of remaining GCC 4.3 -Wall compiler warnings by initializing two variables and one structure properly (although the code path was already rather safe) (CVS 4439)
FossilOrigin-Name: d748694f8d9b14d98b6fe7ceb404754692761705
2007-09-20 11:34:17 +00:00
danielk1977
a15db35304 Minor fixes for the OMIT_INCRBLOB compilation option. (CVS 4430)
FossilOrigin-Name: 87e37eabf0ddef252bbc12f6857d33c2b136dcd3
2007-09-14 16:20:00 +00:00
drh
386ef28bc2 Remove the last traces of SQLITE_ENABLE_REDEF_IO. (CVS 4377)
FossilOrigin-Name: 38dff76ddf0ec7d2cd0d2e1282f9c36558e5661a
2007-09-03 15:26:20 +00:00
drh
61f6dc608f Make mutex functions available to loadable extensions. Fix the
amalgamation generator to include the latest source files. (CVS 4346)

FossilOrigin-Name: 293a3f837bd6c6a26f694a9210e59ace23abb6bb
2007-08-30 17:15:37 +00:00
drh
428e282662 Make the latest interfaces usable by loadable extensions. (CVS 4343)
FossilOrigin-Name: e9b2700b8c30b0255c9e33419ff18bdebb78087a
2007-08-30 16:23:19 +00:00
drh
46c99e0f5d Work around problem with forward declarations of constants in MSVC
in the amalgamation.  Ticket #2574. (CVS 4304)

FossilOrigin-Name: dc80b2e1f4e1d31479aad9f39e651e62f2601fb8
2007-08-27 23:26:59 +00:00
drh
97c8ec325d Bring the amalgamation builder up to date with the latest changes.
Remove some vestigial code. (CVS 4303)

FossilOrigin-Name: 0ae30e5c76d9094307ea086a9993a953631ab9da
2007-08-27 21:49:34 +00:00
drh
aa9f112137 Change names of constants in lemon.c to work around name conflicts
on Solaris.  Ticket #2583. (CVS 4274)

FossilOrigin-Name: e4e74cd0f9343448ea38e57f08bb4f0616825f31
2007-08-23 02:50:56 +00:00
drh
73be501329 More tweaking of linkage. Ticket #2554. (CVS 4200)
FossilOrigin-Name: 3759a38fe8e8a873dc3aae8dc99ca1010551b50b
2007-08-08 12:11:21 +00:00
drh
f7083bf6d2 Additional refinements on the amalgamation: Give a couple of constants
file scope and add the SQLITE_API prefix to some interfaces that need it.
Ticket #2554. (CVS 4199)

FossilOrigin-Name: c09ec102c4f62e492dd3676ef0aa1a183d6ce3b3
2007-08-08 01:04:52 +00:00
drh
0a0e131c7e Revise the amalgamation so that all symbols have file scope except those
that begin with "sqlite3_".  Ticket #2554. (CVS 4197)

FossilOrigin-Name: 73db545289a1a99bd48b22895d2a3ee86540f107
2007-08-07 17:04:59 +00:00
rse
8f30448a30 "extern" declarations inside function bodies are not every compiler's
favorite, so move to global scope. Additionally, at least under Unix
environment use <unistd.h> to get the proper prototype instead of using
a K&R-style own declaration. (CVS 4190)

FossilOrigin-Name: 5955a77d6c902dc65897ba19d6e06db3e10bd3ee
2007-07-30 18:31:53 +00:00
rse
43e47c8ec1 Get rid of the following compile-time warnings:
tool/mkkeywordhash.c:353: warning: array subscript has type 'char'
tool/mkkeywordhash.c:354: warning: array subscript has type 'char' (CVS 4189)

FossilOrigin-Name: c01d7944799d8a96a29f8d4f6d2bb7c4bb0e14bb
2007-07-30 18:26:19 +00:00
drh
e927818455 Additional diagnostics added to the "out" file generated by lemon. (CVS 4160)
FossilOrigin-Name: 7ef2aaf72a8a953df7a763dd94657bb4ff05294f
2007-07-18 18:16:29 +00:00
drh
26b0fc0bc5 Modify the amalgamation generator to identify every API using the
SQLITE_API macro which is normally defined to nothing but which can
be overridden on the compiler command-line to be "static" if desired.
Ticket #2453. (CVS 4125)

FossilOrigin-Name: 474a52347d454ad499d7a78c88eb995c9d3254d1
2007-06-26 00:52:39 +00:00
drh
b6a9eceab2 Change the name of sqlite3_atoi64 back to sqlite3Atoi64 so that it is clearly
and internal API.  Modify the amalgamation to use a macro SQLITE_PRIVATE
instead of the keyword "static" so the macro can be overridden to by nothing. (CVS 4124)

FossilOrigin-Name: 96190cf13dd7219f483308fea92d703328aac4c7
2007-06-26 00:37:27 +00:00
drh
c551dd804a Change the name of the "limits.h" source file to "sqliteLimit.h".
Ticket #2428. (CVS 4091)

FossilOrigin-Name: 64bcc41f12e902fd025c9ba36c09dd6e4cf25923
2007-06-19 15:23:48 +00:00
drh
b3905ab5e1 Add another scenario to the soak1.tcl script. (CVS 4081)
FossilOrigin-Name: 10e6822d4f1e0a94d5033b7b9efc1d8ed1e957d1
2007-06-16 14:19:36 +00:00
drh
2df37c0390 Add a script for "soak" testing. (CVS 4074)
FossilOrigin-Name: d4ea1287a8b013a97fcb55bb7f7feba427222bab
2007-06-15 18:43:37 +00:00
drh
b36d20d4ae Add a --nostatic option to mksqlite3c.tcl. With this option turned on,
the extra "static" storage class markers are not inserted into the
amalgamation. (CVS 4013)

FossilOrigin-Name: 57e17c7cda23a3b3e1d0a691af07c35c1c644dcc
2007-05-16 13:55:26 +00:00
drh
ee85813c94 Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958)
FossilOrigin-Name: e9f56ead0514f3eac75807ea710c1f035b8add4f
2007-05-08 20:37:38 +00:00
drh
84708bc93b Update the amalgamation builder for the latest changes. (CVS 3955)
FossilOrigin-Name: becd64d3615fc5738da4c70610d8849e0a70bed8
2007-05-08 17:59:42 +00:00
drh
a315289571 Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from
util.c.  Expect much more to follow. (CVS 3925)

FossilOrigin-Name: 16041116aaaa2d52a289aa02a24bef579ba60896
2007-05-05 11:48:52 +00:00
drh
ca5557f91d Change incremental vacuum to be triggered by a pragma rather than a command.
We have a lot to learn about this yet and we do not want to paint ourselves
into a corner by commiting to specific syntax too early. (CVS 3921)

FossilOrigin-Name: b13e497a326697ab42b429993a1eee7df3c0c3eb
2007-05-04 18:30:40 +00:00
drh
744f2f4658 Tighter compression of the keyword hash table. (CVS 3920)
FossilOrigin-Name: 681216767d7fabfccb0b12f6a81b18b6d1c252bf
2007-05-04 17:07:52 +00:00
drh
3f75584a30 Get the amalgamation builder working with incremental I/O. (CVS 3908)
FossilOrigin-Name: 92b53601657be3f1be70873b2960cd97b97f72a1
2007-05-03 16:55:32 +00:00
danielk1977
dddbcdcc68 Add largely untested code for the incremental vacuum function. (CVS 3876)
FossilOrigin-Name: f6a6d2b8872c05089810b1e095f39011f3035408
2007-04-26 14:42:34 +00:00
drh
bb5f18d2ca Additional coverage testing. (CVS 3823)
FossilOrigin-Name: 26b2e1aede3f776134b2d6e941d17a907843e650
2007-04-06 18:23:17 +00:00
drh
60218d2a0e The FOR EACH STATEMENT clause in a trigger is now a syntax error. It used
to be silently ignored.  STATEMENT is no longer a keyword. (CVS 3821)

FossilOrigin-Name: 8e2559b4da6329d7c21925d0850f7f91a3731975
2007-04-06 11:26:00 +00:00
drh
bd08af4871 Fix the amalgamation so that it works with -DSQLITE_ENABLE_REDEF_IO. Change
tclsqlite.c so that it can be appended to the amalgamation.  Create a new
amalgamation of header files for use by projects that want to redefine their
own I/O interface using -DSQLITE_ENABLE_REDEF_IO. (CVS 3817)

FossilOrigin-Name: f2caff870c81c08ec85aae72986c231ee986b251
2007-04-05 21:58:33 +00:00
drh
a55ca9e109 In the amalgamation, put date.c before os.c so that the time_t typedef
can be correctly resolved by windows compilers. (CVS 3793)

FossilOrigin-Name: 9c5697c70fa850ea700e8cc0c918791a1628ab10
2007-04-02 12:22:44 +00:00
drh
19df335841 Fix typos in the amalgamation builder script. (CVS 3786)
FossilOrigin-Name: a5070a2d11b4dad550a889d5fc005302208b6d75
2007-04-01 01:57:41 +00:00
drh
98495b4a91 Add the amalgamation generator to the makefile. (CVS 3783)
FossilOrigin-Name: a0f3c960fa3e958e12bc488451ee2d637562909b
2007-03-31 22:29:05 +00:00
drh
970f72478a Fix the amalgamation so that it can be compiled with REDEF_IO enabled. (CVS 3782)
FossilOrigin-Name: 6a3d6142d8be18bf2a9913f0329bcce48867304b
2007-03-31 16:29:06 +00:00
drh
b601861cc3 Make yypMinor available to the stack overflow callbacks in lemon
generated parsers.  This does not effect SQLite. (CVS 3761)

FossilOrigin-Name: 70c8c7e2ce5213778e63c200a6637849920deea6
2007-03-30 13:35:05 +00:00
drh
19c9e5694c Fix to token destructors in Lemon. This does not impact SQLite. Ticket #2175. (CVS 3753)
FossilOrigin-Name: 6195af49828bf04b61d24f116339780d3eb926a1
2007-03-29 20:13:53 +00:00
drh
b7bac72350 Get LEMON working again when YYSTACKDEPTH is greater than zero. (CVS 3739)
FossilOrigin-Name: e72c81dbb309709462e49c4e3e90c3e16ead1265
2007-03-29 02:26:45 +00:00
drh
b19fd012b0 Lemon change: compile the resulting parser with -DYYSTACKDEPTH=0 or set
the "%stack_size" parameter to 0 in the grammar and the parser stack
will be dynamically allocated using realloc() and free().  The default
behavior is to have a finite depth stack. (CVS 3738)

FossilOrigin-Name: 06719b741ab1a2df0371f6d587563cc81eb8880a
2007-03-29 01:44:45 +00:00
drh
fdbcdee5ff The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM
commands. Ticket #2268.
 The regression test suite depends on both of these commands
and will not run if compiled with this option. (CVS 3727)

FossilOrigin-Name: cbebfb89603044e48b3a87b79d1eefbbc5b4c8a5
2007-03-27 14:44:50 +00:00
drh
91c58e23b2 Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full
regression.  Add the script for generating sqlite3.c. (CVS 3723)

FossilOrigin-Name: 42c038518c4ba0ef827a5717d450f95165b3c729
2007-03-27 12:04:04 +00:00
drh
ca44b5a3d9 Make the depth of the pushdown automaton stack generated by lemon
changable at compile-time using -DYYSTACKDEPTH=<number>. (CVS 3654)

FossilOrigin-Name: d8845ac1fbf8c3f483d47c35f908817ea37128ec
2007-02-22 23:06:58 +00:00
drh
0d5359b9d8 Add comments to the top of keywordhash.h. (CVS 3651)
FossilOrigin-Name: 0aa9ed5bbfb756967a6f761c5fc2f274a5466e2d
2007-02-21 16:44:33 +00:00
drh
fc6e0c985a Explanation of the "fragmentation" line is added to the help message at
the end of the output of sqlite3_analyzer. (CVS 3636)

FossilOrigin-Name: 31e5073c58f43b84d26218d70e6f6558c406803e
2007-02-13 01:41:52 +00:00
drh
0a0b77b0d2 Additional fixes to the new fragmentation feature of sqlite3_analyzer. (CVS 3635)
FossilOrigin-Name: 82aed271a4a69e3dad6013b83cc7d492b7fed164
2007-02-13 01:38:31 +00:00
drh
50c6706305 Changes to support fragmentation analysis in sqlite3_analyzer. (CVS 3634)
FossilOrigin-Name: bd6bc3b8f06919000fb082087dff7bbd335d07e9
2007-02-10 19:22:35 +00:00
drh
cb6c565eab Additional memory initialization in lemon - bug reported from wireshark.
Ticket #2172.  Note this problem only comes up with certain grammars,
and does not impact SQLite.  On the other hand, it might cause SQLite
to run slower.  So we might want to revisit this change at some point. (CVS 3594)

FossilOrigin-Name: d537aa5edecb5c7b84d8eb876453f385f6f3d91a
2007-01-16 18:19:12 +00:00
drh
61e339a60d Make sure the parser generated by lemon always calls destructors on
unused symbols, even if there is no action following the rule.
Ticket #2171. (CVS 3593)

FossilOrigin-Name: 0c5c1b931dfdc163f300f458e4b305c9f50e17f8
2007-01-16 03:09:02 +00:00
drh
e047921c78 Fix a bug in lemon. The code in which the error appears might well be
unreachable.  The changes does not effect the code that is generated for
the SQLite parser.  Ticket #2164. (CVS 3591)

FossilOrigin-Name: f4ee5d83e177e7ed9f180454c01d46a395a5715d
2007-01-12 23:09:23 +00:00
drh
f0fa1c1b9f Fix a bug in lemon that leads to an assertion fault given an invalid
grammar.  The bug and this fix do not effect on SQLite.  Ticket #2107. (CVS 3528)

FossilOrigin-Name: f2ad230f6dce98d664370d77845b5f585de20f08
2006-12-14 01:06:22 +00:00
drh
5048962a0f Avoid expanding %d contained in the action of a lemon parser rule.
Ticket #1063.  This is a fix for lemon only.  It does not effect SQLite. (CVS 3476)

FossilOrigin-Name: 81daedcf48372949b9df009ce6121a514ecf6f2e
2006-10-13 12:25:29 +00:00
drh
35c12830d1 Fix sqlite3_analyzer so that it works when compiled against Tcl8.5. (CVS 3458)
FossilOrigin-Name: e774adce8e461a70ead9474cd64cb05c2d633eb9
2006-10-03 12:08:54 +00:00
drh
f316c8c08b Fix sqlite3_analyzer so that it works on databases containing virtual tables. (CVS 3457)
FossilOrigin-Name: 47c8567fcb6b184ca13fcb67f80d261205c66fc8
2006-10-03 12:04:11 +00:00
drh
916f75fcbd Fix lemon so that it does not crash on a empty reduce action. Ticket #1892. (CVS 3333)
FossilOrigin-Name: 4207ebc4e107df9f9f046be652f061e53263c8dd
2006-07-17 00:19:39 +00:00
danielk1977
4b2688ab31 Modifications so that compilation and testing with the various OMIT macros defined works. (CVS 3276)
FossilOrigin-Name: c6ea353bd9f5fe6c9cc3349d2034ada283f9c80e
2006-06-20 11:01:07 +00:00
drh
4767d978de Fix a C++-ism in lempar.c. Ticket #1848. (CVS 3244)
FossilOrigin-Name: a0a3b34db86ef1c31d172ca1b56afd26d18e429f
2006-06-14 15:03:49 +00:00
drh
954f6b4763 Lemon correctly recognizes an empty grammar and errors out.
Fix for a bug reported on the sqlite-users mailing list. (CVS 3226)

FossilOrigin-Name: 55392922686691db3d41525a7f4cb7f976e73467
2006-06-13 13:27:46 +00:00
drh
d9f291ea95 Minor changes to lempar.c to reduce warnings on some compilers. (CVS 3224)
FossilOrigin-Name: dae71de10d0f34a001b8070266d4016baafa6623
2006-06-13 11:15:47 +00:00
drh
e09daa90ac Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210)
FossilOrigin-Name: 66370cb99bd93abb33e1e8433672da45e1795f78
2006-06-10 13:29:31 +00:00
drh
f3a5888dde Fix error processing in Lemon. SQLite does not use this feature of lemon
so it is uneffected. (CVS 3181)

FossilOrigin-Name: 864cac960390a31c240d34ffd62bb084ab780267
2006-05-08 15:14:19 +00:00
drh
9b8f447b36 Changes to get SQLite running on machines that use the EBCDIC character set. (CVS 3161)
FossilOrigin-Name: 4342b4997199241cafd6120c6abda665770e270c
2006-04-04 01:54:55 +00:00
drh
43617e9ab9 Code changes resulting from Coverity analysis.
http://scan.coverity.com/  Found 1 potential segfault in sqlite3_mprintf().
Also 2 failures to fclose() following a malloc() failure.  And lots of
cases where unnecessary conditionals could be removed from the code. (CVS 3126)

FossilOrigin-Name: e510e6dd9d6261f33b853af3b32d155b9d6b63b3
2006-03-06 20:55:46 +00:00
drh
6a714ded6c Use 64-bit integers in sqlite3_analyzer. Ticket #1666. (CVS 3059)
FossilOrigin-Name: 8b3068aca7b28d2b6c326f632bb9fe9b4940792d
2006-02-09 02:41:07 +00:00
danielk1977
9dfa60bf8c Add omittest.tcl script to automate testing compile-time OMIT symbols. (CVS 3031)
FossilOrigin-Name: 540d28a7d355d846cedfc21fb5156379fec830ce
2006-01-26 13:11:36 +00:00
drh
a7531c699a Sqlite3_analyzer reports an error if it runs into trouble. (CVS 3021)
FossilOrigin-Name: 388b9262281308d0a9dd16e2fb3df3425c2a491a
2006-01-24 02:19:53 +00:00
danielk1977
1576cd9251 Fixes for OMIT_SUBQUERY builds: Disable where clause OR->IN optimization. Include EXISTS keyword (for new CREATE TABLE syntax). Test file fixes. (CVS 2943)
FossilOrigin-Name: 8e79a0c24a03ccf960d6ccfb7c6b9b0f7c614e9b
2006-01-14 08:02:28 +00:00
drh
a073384f08 Add support for DROP TABLE IF EXISTS. (CVS 2843)
FossilOrigin-Name: a4c547de83d8b27f06a58f9e530a7c983ec1dc3a
2005-12-29 01:11:36 +00:00
drh
2646da7e52 Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810)
FossilOrigin-Name: 83a59151559d9496d4f546e03e65087ea974717d
2005-12-09 20:02:05 +00:00
danielk1977
261919cc16 Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800)
FossilOrigin-Name: e1606658f1b4530e3001db4779b5669c8d13c853
2005-12-06 12:52:59 +00:00
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