1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-06 15:49:35 +03:00
Commit Graph

919 Commits

Author SHA1 Message Date
drh
79f02cef78 If compiling FTS3 in the amalgamation, include the ctype.h header file.
Ticket #3843. (CVS 6618)

FossilOrigin-Name: 660108ef7a3c45f735789ba1039be2c37a8b0d0e
2009-05-07 14:11:52 +00:00
danielk1977
de630353d8 Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599)
FossilOrigin-Name: cac4f3d812f0a02ca5c1fa78d366f694403929a8
2009-05-04 11:42:29 +00:00
drh
dee0e404d6 Changes to facility full coverage testing of util.c. (CVS 6597)
FossilOrigin-Name: a612299092a48b38c5f9cf430bbcaf41777cbcb3
2009-05-03 20:23:53 +00:00
drh
e61922a6a1 Remove the aFKey hash table, which was not being used. Simplify the
FKey object.  Simplify the hash.c module since the copyKey parameter
formerly used only by aFKey is now no longer required. (CVS 6594)

FossilOrigin-Name: 80c43a355c6e482457abc2f9c3ad3a565cec55fb
2009-05-02 13:29:37 +00:00
drh
24fb627afa Record within the Token structure itself whether or not the token has
been dequoted.  This steals one bit from the length of a token and
thus limits the size of tokens to 1GiB. (CVS 6589)

FossilOrigin-Name: 12bcb03d9b9e1a31c1a3c67cbb4263cc0af2f3d0
2009-05-01 21:13:36 +00:00
drh
1c5141484c Changes sqlite3TempInMemory() to take a const parameter. (CVS 6576)
FossilOrigin-Name: aa29a14ca040db25dadbca787aa75be3b7588415
2009-04-30 12:25:10 +00:00
danielk1977
d829335e42 When SQLite is configured to use in-memory temp files (either by setting SQLITE_TEMP_STORE during compilation or using the temp_store pragma at run time), store statement/savepoint journals in memory also. Ticket #3825. (CVS 6575)
FossilOrigin-Name: 38f8c5a14cd221af9e115a0fea689f2ff39e30e5
2009-04-30 09:10:37 +00:00
drh
8a1e594c9f Simplifications to the symbol table implementation in hash.c. For very small
symbol tables (less than 10 entries) a simple linked list is used instead
of a hash table.  Number of hash table buckets is limited to prevent large
allocations. (CVS 6559)

FossilOrigin-Name: 5c737835dec9e6038b304c198aa14337a6f23c1c
2009-04-28 15:43:45 +00:00
drh
336a5300de Get rid of the special RowSet processing in where.c and move that into
clients.  Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary
RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546)

FossilOrigin-Name: 98606bee9e41b8969fb639fc43864e230185ca43
2009-04-24 15:46:21 +00:00
drh
ceea33217b Rework the column-cache mechanism to be more robust (and more correct).
The column-alias cache is currently disabled, (CVS 6538)

FossilOrigin-Name: dd4d67a67454a3ff13c286a2a8360c5f0432c91d
2009-04-23 13:22:42 +00:00
drh
6149526c25 Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply
pulls the rowid from the deferred seek target and does not actually move
the cursor or do a seek.  Other where.c cleanups. (CVS 6536)

FossilOrigin-Name: 1c508a99822caa383e7e24b5d09a9bddd2ee3a00
2009-04-22 15:32:59 +00:00
drh
1b26c7ccfa Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535)
FossilOrigin-Name: e963bed0fe3ce5fa32f04b930e5ed0956dc2aa47
2009-04-22 02:15:47 +00:00
drh
733bf1b1e2 Extend the Rowset object to contain all the capabilities of Rowhash in
addition to its legacy capabilities.  Use Rowset to replace Rowhash.
In addition to requiring less code, This removes the 2^32 result row
limitation, uses less memory, and gives better bounds on worst-case
performance.  The Rowhash implementation has yet to be removed. (CVS 6534)

FossilOrigin-Name: b101cf70b75c9772aaf50e0eadd0cfa37c84d193
2009-04-22 00:47:00 +00:00
drh
cd5a9729d2 Allocate the initial RowHash object using lookaside. (CVS 6530)
FossilOrigin-Name: 9b30ab7199d8b51bdea8ec7f0410281527623673
2009-04-21 16:15:15 +00:00
danielk1977
1d46146b58 Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527)
FossilOrigin-Name: f61e4cd93682fd98bea2a71d346f9eaa68454390
2009-04-21 09:02:45 +00:00
drh
12ffee8cb9 Minor refactoring of the expression-compaction logic for clarity of
presentation.  New comments added.  The EXPRDUP_DISTINCTSPAN flag is
removed as obsolete. (CVS 6470)

FossilOrigin-Name: 44ded2ea67374f187a111df69c3f51f866735400
2009-04-08 13:51:51 +00:00
drh
65a73bad9e Fix the sqlite3_unlock_notify() interface so that when the callback is NULL
it simply cancels any outstanding callbacks. (CVS 6467)

FossilOrigin-Name: 9ccfcb760745df28b04e746355b1b6dec49a93de
2009-04-07 22:06:57 +00:00
danielk1977
2943c37228 Fix compilation and testing when SQLITE_OMIT_TRIGGER is defined. Ticket #3786. (CVS 6464)
FossilOrigin-Name: 277dace43d51fbc79c7a62fc841c150ecd8d0823
2009-04-07 14:14:22 +00:00
drh
ea598cbd8d Additional code to make sure and to assert that memory allocations have
8-byte alignment.  Ticket #3777. (CVS 6450)

FossilOrigin-Name: 208382e032134d9c78fe1cfcb98ce9defb4e3e26
2009-04-05 12:22:08 +00:00
danielk1977
20c6cc2b1b Remove the unused SQLITE_Vtab flag. (CVS 6425)
FossilOrigin-Name: fdd78962fcb988edfb4147394045fc5d3944c620
2009-04-01 18:03:00 +00:00
drh
769e97e032 Remove dead code from the UTF conversion routines. Fix a bug in
sqlite3_prepare16_v2() in which an out-of-memory error fails to
set the statement return pointer to NULL. (CVS 6423)

FossilOrigin-Name: 94e2f815ebb38981a2226d8aed9f3731f8833f7c
2009-04-01 16:33:37 +00:00
drh
7c01f1d754 Remove an unused parameter from sqlite3DequoteExpr. Fix another unrelated
and harmless compiler warning. (CVS 6386)

FossilOrigin-Name: 8589b0fcc51a32188386e442655fd91f421ca7f8
2009-03-25 16:51:43 +00:00
drh
1af466eb6b New assert()s added to verify that the Expr.token value is used correctly. Ticket #3743. (CVS 6378)
FossilOrigin-Name: cf3d84ab73b7f519921a984f88bdad81996a3a82
2009-03-24 15:31:28 +00:00
drh
d9da78a2c8 Changes to insure that lookaside memory allocations are never used to hold
schema content.
Ticket #3743. (CVS 6377)

FossilOrigin-Name: ea74d8dc62f5784089aa8ef098e97c505a79b176
2009-03-24 15:08:09 +00:00
danielk1977
bc73971db6 Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372)
FossilOrigin-Name: db1d4d2f5083adf5438c7f387b115180800e7bd9
2009-03-23 04:33:32 +00:00
danielk1977
be2296501c Make sure struct WhereClause is aligned on an 8-byte boundary. Fix for #3613, #3736. (CVS 6364)
FossilOrigin-Name: 093a0cf4adc8613f744c2ccdef61f0b30a46818c
2009-03-20 14:18:51 +00:00
danielk1977
bd43455c38 Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355)
FossilOrigin-Name: a60f4191791dd7bb49d5c95b350a9924845b59a8
2009-03-18 10:33:00 +00:00
danielk1977
21822c58b0 Fix a problem that could cause a crash when a shared-cache schema contains column default values. (CVS 6353)
FossilOrigin-Name: afadddc34eee3d6a39102b790ce1a869b33d4286
2009-03-17 17:48:59 +00:00
danielk1977
404ca07578 Add the sqlite3_unlock_notify() API. (CVS 6348)
FossilOrigin-Name: b649a6cc5bfefddd6a04b1183647d2923e0a0daa
2009-03-16 13:19:36 +00:00
shane
ce6fa1706a Converted EXPR_*SIZE macros to use offsetof() to avoid MSVC compiler warnings. (CVS 6334)
FossilOrigin-Name: 5e8e16f7d505a4b21272f1d300f366ee0e211e56
2009-03-02 17:18:48 +00:00
danielk1977
2f886d1d53 Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329)
FossilOrigin-Name: 3befe1ef7e6ebddedfa69579553a1b85b411ee98
2009-02-28 10:47:41 +00:00
danielk1977
2d2e7bd32e Reverse commit (6315) for now. (CVS 6317)
FossilOrigin-Name: 0e7c369c23a8767b4d3e5cdd47c14716992fb71a
2009-02-24 10:14:40 +00:00
danielk1977
a55331620e Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316)
FossilOrigin-Name: d4aa6593183224b6868a322511511c0bbf63b598
2009-02-24 10:01:51 +00:00
danielk1977
e2d7b24d08 Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315)
FossilOrigin-Name: 294ba6f743c9132dce0e73da480bd3c2071e7239
2009-02-23 17:33:49 +00:00
drh
699b3d4f89 Add the reverse_unordered_selects pragma. (CVS 6314)
FossilOrigin-Name: bc078e0007b6c3dc07722820bb53798b643212b3
2009-02-23 16:52:07 +00:00
danielk1977
6ab3a2ec8a Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
drh
ddb68e17fa Fix the declaration of sqlite3PendingByte so that it works with the
amalgamation. (CVS 6264)

FossilOrigin-Name: 193c871f3d16ce982040334c543610d330117bd5
2009-02-05 16:53:43 +00:00
drh
c7a3bb94c2 Make the pending byte adjustable via sqlite3_test_control() on all builds,
not just on test builds. (CVS 6263)

FossilOrigin-Name: e8f192e2a93350a136d86bd9caceff65f52f3513
2009-02-05 16:31:45 +00:00
danielk1977
0410302e58 Commit first version of the 'backup' feature. (CVS 6241)
FossilOrigin-Name: 663479b417fc06ba1790a544f28694f8797cee57
2009-02-03 16:51:24 +00:00
drh
dc86e2b2cd Fix some minor compiler warnings. Added sqlite3Isalpha() for use in
the soundex() function. (CVS 6203)

FossilOrigin-Name: bfc71edca471221add6b32b867d0b15171974eaf
2009-01-24 11:30:42 +00:00
danielk1977
bea2a94850 Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197)
FossilOrigin-Name: 12f7346c13c180ed73d7a2e3b590be457360254a
2009-01-20 17:06:27 +00:00
danielk1977
78ca0e7eb4 When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196)

FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
danielk1977
45d6882fd9 Revert (6187). (CVS 6188)
FossilOrigin-Name: a353c1ab376b159c4d12532412365318cdbdcc60
2009-01-16 16:23:38 +00:00
danielk1977
443c0597fe This commit is an error. Reverted by (6188). (CVS 6187)
FossilOrigin-Name: aa67fd0cdb4f53a0c6e15c001d37554d15006718
2009-01-16 15:21:05 +00:00
drh
75d8f84678 Treat "or" as an ANSI-C keyword, even though it is not. Ticket #3588. (CVS 6185)
FossilOrigin-Name: ed4e308caaa50c55aa01cd34079f1be5c8a93c71
2009-01-15 17:40:42 +00:00
drh
8f941bc7a1 Add asserts to detect if a transaction commits without first incrementing
the transaction counter.  These asserts are intended to prevent future
problems similar to ticket #3584. (CVS 6179)

FossilOrigin-Name: b676ccfd9019e65b52251332d94de1b3018ec823
2009-01-14 23:03:40 +00:00
drh
47c3b3e099 When compiled with SQLITE_DEBUG (in other words, when assert() is enabled)
the ALWAYS and NEVER macros will throw an assertion if their arguments are
not true or false, respectively. (CVS 6159)

FossilOrigin-Name: 64a8dcd8d6152108809e4d10c459f1de5d36a435
2009-01-10 16:15:20 +00:00
drh
d1fa7bca39 Remove some unused code from expr.c in order to increase test coverage. (CVS 6156)
FossilOrigin-Name: 2cbea64fb00a1b5b8aa0e9c958b2a09256ae59bc
2009-01-10 13:24:50 +00:00
drh
6402250ea2 Simplifications to btree.c to improve test coverage. (CVS 6150)
FossilOrigin-Name: ac84f106d572e881136adc3434d00d70564f57cb
2009-01-09 14:11:04 +00:00
drh
853799a26e When the commit_hook calls a query recursively, make sure the commit_hook
is not invoked recursively.  Ticket #3564. (CVS 6107)

FossilOrigin-Name: 27ae406537c07073db46ecde40c65c78fbb73170
2009-01-03 14:04:38 +00:00