1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00
Commit Graph

442 Commits

Author SHA1 Message Date
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
danielk1977
6eacd28a28 Fix a case in where.c where a crash can follow a malloc failure. Also modify test code in test8.c to check a return code that was being dropped (causing a test in vtab_err.test to fail). (CVS 6567)
FossilOrigin-Name: 9664e2b6c69271a7ca55af7812a186773a7c6592
2009-04-29 11:50:53 +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
46619d6787 Make sure that the optimizer realizes that an "x IS NULL" contraint does not
necessarily give a single-row result even on a UNIQUE index.  Ticket #3824. (CVS 6545)

FossilOrigin-Name: 207335fdbf992a2f5bc5982b3163a38016ba1b21
2009-04-24 14:51:42 +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
044925be0b Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both
regular and virtual tables. (CVS 6537)

FossilOrigin-Name: ecbef45011f1f98d940b2d3492941213d9f04172
2009-04-22 17:15:02 +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
danielk1977
732dc5526b Fix a segfault that followed a malloc failure introduced by (6527). (CVS 6532)
FossilOrigin-Name: 08e71b114087cfddd36c066265982172fcb41c9a
2009-04-21 17:23:04 +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
85799a4715 Only enable WHERE-tracing when both TEST and DEBUG are enabled. (CVS 6463)
FossilOrigin-Name: 55b93649258204797f56a58322cf31b564469633
2009-04-07 13:48:11 +00:00
drh
081a166489 Always enable WHERE-tracing on a test build.
Oops - accidentally included a debugging change to pragma.c in 
this check-in.  The real fix for the pragma problem is in the
following checking. (CVS 6458)

FossilOrigin-Name: 567cf90b038a37da93d02954ef8f9f435dcc9a38
2009-04-07 00:43:28 +00:00
drh
69a442ef1f Make sure the reverse_unordered_selects pragma works even on unindexed
tables that are queried without a WHERE clause (CVS 6453)

FossilOrigin-Name: d8c6b28a734fccbbbd567d98ffa7e6557280f737
2009-04-06 12:26:57 +00:00
drh
e3e2ae4a6f Turn off the debugging macros in where.c - left on by mistake in the
previous check-in. (CVS 6404)

FossilOrigin-Name: b601a57582051184baa37b807b1e18db93313e13
2009-03-29 00:15:54 +00:00
drh
75572e9de9 Improvements to cost estimation for evaluating the IN operator.
Ticket #3757. (CVS 6403)

FossilOrigin-Name: 0c438e813c411e8f9e92d6c7405fccb7a36e110a
2009-03-29 00:13:03 +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
296a483c2e Allow the keyword INDEXED to be used as the name of a table or index or
column - for backwards compatibility. (CVS 6370)

FossilOrigin-Name: 53149c9f5d5cfaba3374703cd3af92a9d4cf8718
2009-03-22 20:36:18 +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
shane
c0688ea172 Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335)
FossilOrigin-Name: 5477833ec7f707ea9937d3fd6a6d8ab49f2016f1
2009-03-05 03:48:06 +00:00
danielk1977
2d2e7bd32e Reverse commit (6315) for now. (CVS 6317)
FossilOrigin-Name: 0e7c369c23a8767b4d3e5cdd47c14716992fb71a
2009-02-24 10:14:40 +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
d336e222f4 Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310)
FossilOrigin-Name: e43ed649630cbc49a6f2a25a26a4a6b5fce84c48
2009-02-20 10:58:41 +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
shane
fbd60f826d Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250)
FossilOrigin-Name: 5cef400023205b55152b91441acc78f9cd8d58a9
2009-02-04 03:59:25 +00:00
shane
63207ab262 Remove compiler warnings under MSVC. (CVS 6249)
FossilOrigin-Name: 6301f08a2b32289a49c4af994f2770318c444b49
2009-02-04 01:49:30 +00:00
shane
d87897dfa2 Minor changes to remove a few MSVC compiler warnings at /W3. Ticket #3610. (CVS 6215)
FossilOrigin-Name: c74c78e4eb7f6d674b7564b33387db996fbe5725
2009-01-30 05:40:27 +00:00
danielk1977
25f42fe7a1 Remove incorrect ALWAYS macro associated with empty IN() sets. Ticket #3602. (CVS 6202)
FossilOrigin-Name: f3c09a0cb8bfc1a112c31b556d8921d5c75c5eef
2009-01-24 09:56:15 +00:00
drh
a7e770612b Make sure the OR-clause optimizer takes the cost of sorting into account.
Reset the rowid cache on the OP_Rewind and OP_Last opcodes.  Bump the
version number so that we can do an emergency release.  Ticket #3581. (CVS 6173)

FossilOrigin-Name: d28b58209bf5eb575d0cad8dc71ac043395c6471
2009-01-14 00:55:09 +00:00
drh
96c7a7d95f Fix a bug caused by overzealous code test coverage simplifications.
Bug found by TH3. (CVS 6157)

FossilOrigin-Name: 3da5578726cb22118dfca38a2098a1e378644387
2009-01-10 15:34:12 +00:00
drh
1c767f0df3 More coverage improvements. (CVS 6148)
FossilOrigin-Name: 6e171c0a64850013b26a223189d5bebcc0a01a8b
2009-01-09 02:49:31 +00:00
drh
103bd88cf7 Increased test coverage in where.c. (CVS 6146)
FossilOrigin-Name: 1e5725c5179660277c2e8c321877d7ee3ca21808
2009-01-08 21:00:02 +00:00
drh
171256c45c Increase test coverage of where.c. Make sure OR-optimization works on
UPDATE and DELETE in addition to SELECT.  (Bug found by coverage tests.) (CVS 6139)

FossilOrigin-Name: 4b2c08e8984befb12fa2173ca89d9f54cf764d22
2009-01-08 03:11:19 +00:00
drh
7c2fbdeba2 Add new test cases to increase coverage of where.c. (CVS 6138)
FossilOrigin-Name: 2e1ab51f05447f9c1f291636b53b1ec584003841
2009-01-07 20:58:57 +00:00
drh
5bd98aef66 Fix a bug in the LIKE query optimization. (Found by coverage testing.) (CVS 6137)
FossilOrigin-Name: fe90e9116b6e1e25cf3119d2777a8e9c135153ce
2009-01-07 18:24:03 +00:00
drh
1c8781f43b Fix compiler warnings. (CVS 6117)
FossilOrigin-Name: da770a8dff183b28aca287cafb9c8b82b98ea968
2009-01-06 14:19:36 +00:00
drh
813f31eafe Fix a problem in the WHERE clause generator when the FROM clause is empty. (CVS 6114)
FossilOrigin-Name: a7015625610624be1645e918d0a62cf85bec86ce
2009-01-06 00:08:02 +00:00
drh
04bbcd5ce9 Fix a bug in the multi-index OR cost estimator. Remove leftover "breakpoint"
commands from test scripts. (CVS 6086)

FossilOrigin-Name: b090d5736d7eaec17a39d3133e1587b1d2a42acb
2008-12-30 17:55:00 +00:00
drh
46129af9fb Get EXPLAIN QUERY PLAN working with the multi-index OR optimization.
Added new test script "where9.test". (CVS 6084)

FossilOrigin-Name: 4b6460221011e02bedb724169e8e4793e539e65a
2008-12-30 16:18:47 +00:00
danielk1977
9357416a25 Add a few more tests to where8.test. (CVS 6081)
FossilOrigin-Name: ac28aa8b618d59628c5b8fc6fe649ec14f554b11
2008-12-30 15:26:29 +00:00
danielk1977
5f0ff5d527 Add a couple of extra tests for the "WHERE ... OR" optimization. (CVS 6077)
FossilOrigin-Name: 35c87585b81866e73a58adffe6af79ddcac57cf6
2008-12-30 12:00:12 +00:00
danielk1977
992347f2ed Fix a bug in where.c causing a malfunction when an INDEXED BY clause specified an unusable index on other than the leftmost table in the FROM clause. Ticket #3560. (CVS 6076)
FossilOrigin-Name: f8ff0212129ce602a1e1e9ad702c47b9302f2f21
2008-12-30 09:45:45 +00:00
drh
954701a054 Always make sure WhereClause objects are initialized to zero when they
are first allocated. (CVS 6073)

FossilOrigin-Name: 7d0ae55d6b2d263382f034eb89bbc368fab6a9bc
2008-12-29 23:45:07 +00:00
danielk1977
fdc4019b46 Add test file where8.test. (CVS 6072)
FossilOrigin-Name: bff460ec2c3e250de034a6b34312b897bb2f3749
2008-12-29 18:33:32 +00:00
danielk1977
381a4a4882 Remove an old variable declaration that was commented out using a C++ comment. (CVS 6071)
FossilOrigin-Name: 0b972f14f00340cbd4e310dea6d1a4f1c05f5628
2008-12-29 14:51:05 +00:00
drh
ca8c4667a8 Multi-index OR optimizer response to ORDER BY rowid.
But fix in sqlite3_stmt_status(): report a full table scan
when "ORDER BY rowid" is used without constraints. (CVS 6069)

FossilOrigin-Name: 3464d369d3b6899ec726cf5b42b68b1dac2ba982
2008-12-28 20:47:02 +00:00
drh
294352578e Optimize WHERE clauses that constain AND, BETWEEN, and LIKE terms as operands
of an OR. (CVS 6068)

FossilOrigin-Name: 67cf24b30e087796cfb0fccf47328e72ade5ecdc
2008-12-28 18:35:08 +00:00
drh
6df2acd216 Simplify the VM code that implements WHERE claues. (CVS 6067)
FossilOrigin-Name: fa95f843e179a38f663978d675607c4c3037928d
2008-12-28 16:55:25 +00:00
danielk1977
8044294743 Fix a virtual table related assert() that can fail following a malloc failure. (CVS 6064)
FossilOrigin-Name: c6fd3b8f29927c0fc634f82885f144c78f0105d9
2008-12-24 11:25:39 +00:00
drh
23d04d5a20 Continuing improvements to the multi-index OR-clause optimizer. Added a
few simple test cases. (CVS 6062)

FossilOrigin-Name: 55d4f493e7df8515574a75caec9967d6c71b6012
2008-12-23 23:56:22 +00:00