drh
c1bcd9cc3e
Fix an assert() so that it does C-compiler does not combine an assert()
...
conditional with a production code conditional and thereby confuse the mutation
testing script.
FossilOrigin-Name: 2fa5288a7ef43f1fb26037c1b5e84b7b90400623
2016-09-05 19:57:46 +00:00
drh
b29e60c448
Catch vector size mismatch problems during name resolution to avoid later
...
problems.
FossilOrigin-Name: 56562a0346170cf7b72445976864b058437a8ac3
2016-09-05 12:02:34 +00:00
dan
80aa545337
Fix a problem causing the affinity of sub-select row-value elements to be ignored in some contextes.
...
FossilOrigin-Name: 7d9bd22c0715ede2592ee1fa7ebc215aded1ca1b
2016-09-03 19:52:12 +00:00
drh
4910a76d45
Performance optimizations.
...
FossilOrigin-Name: f1d06c49ba0d814dc7ffb538aac3f4e6251fd8f0
2016-09-03 01:46:15 +00:00
drh
106526e1bc
Fix a minor problem in sqlite3FindInIndex() related to rowids being used
...
as part of the index.
FossilOrigin-Name: 829f802be7d4647dd815b739bbc9e1d1ac6a224d
2016-08-26 22:09:01 +00:00
drh
a84a283d18
Fix the sqlite3FindInIndex() to ensure that it always uses a prefix of
...
the index and uses no repeated columns. Enhanced comments.
FossilOrigin-Name: b9fc89e432fbe4e5b41959a42797641907e075e3
2016-08-26 21:15:35 +00:00
drh
363fb95bc3
Add an EXPLAIN QUERY PLAN line for when a index is used to implement
...
an IN operator.
FossilOrigin-Name: 171aa833a2e1650c3d9cf9bd6438ae46f6c35871
2016-08-26 19:54:12 +00:00
drh
6fc8f36490
Enhance sqlite3FindInIndex() so that it is able to make use of the
...
primary keys at the end of an index.
FossilOrigin-Name: 4b589fbfcc4265902de0f552961d2df497a184da
2016-08-26 19:31:29 +00:00
drh
0dfa4f6fcc
Allow ROWID values in indexed vector comparisons.
...
FossilOrigin-Name: b0cc6be4eb81f21b11796e1f14d4412bf21dea6e
2016-08-26 13:19:49 +00:00
drh
64bcb8cfbb
Comment improvements. Put ALWAYS and NEVER macros on three unreachable
...
branches.
FossilOrigin-Name: 397617009e07004596476d6f5644fdf84c376f54
2016-08-26 03:42:57 +00:00
drh
a28f85b076
Remove an unreachable branch from sqlite3ExprAffinity()
...
FossilOrigin-Name: 9d96f61481704e5ec399ee425f0ebb246902ecc5
2016-08-26 01:02:09 +00:00
drh
e347d3e813
Refactor the sqlite3ExprCodeIN() routine for improved maintainability.
...
FossilOrigin-Name: b56705ae6374db9db82613ef89faa1a1e6b00a18
2016-08-25 21:14:34 +00:00
drh
ecb87ac88d
Improvements to IN operator code generator comments. Avoid unnecessary
...
Copy operations on the LHS of the IN operator.
FossilOrigin-Name: b6344298783a1207cba3f635939ddc9ba922ab67
2016-08-25 15:46:25 +00:00
drh
18016ad2bb
Simplified VDBE code for the vector NOT IN null-scanning loop.
...
FossilOrigin-Name: 7ae504e62e9bbbbd85a676f3c3922b7fd0cc73d2
2016-08-24 21:54:47 +00:00
drh
62659b2a80
In sqlite3FindInIndex(), improve internal comments and avoid an
...
unreachable branch.
FossilOrigin-Name: 55945fc12f8157e32e6850e41575c0c6422d29e7
2016-08-24 18:51:23 +00:00
drh
321e828d03
Fix more unreachable branches.
...
FossilOrigin-Name: 6099c180db55396d6307538a5428ae5ef1b82d10
2016-08-24 17:49:07 +00:00
drh
d0b67a8654
Add a NEVER() on an unreachable branch in comparisonAffinity().
...
FossilOrigin-Name: 505a2f20eac62d4e170f003255c8984e4f3b0918
2016-08-24 15:37:31 +00:00
drh
ac6b47d164
The previous OOM fix was bad. Back it out and replace it with a better one.
...
FossilOrigin-Name: 1e3bc3698a4b779e6af8e3c727929c4dbddf3edb
2016-08-24 00:51:48 +00:00
drh
894241c847
Avoid a potential null-pointer dereference following an OOM.
...
FossilOrigin-Name: 25f6ed8de4df9c9890d4a352a6d11084433e82ea
2016-08-24 00:25:27 +00:00
drh
e835bc1285
Simplify the row value misuse error message.
...
FossilOrigin-Name: 838c50a5bf46fd0340839d577fa28ba02b4f2034
2016-08-23 19:02:55 +00:00
drh
66860af3dd
Fix a problem with rowvalue UPDATE when the rowvalue is not the left-most and
...
the RHS is a multi-column subquery.
FossilOrigin-Name: e149e6b93a9afb3d574309c0db60e221e24078f7
2016-08-23 18:30:10 +00:00
drh
abb9d5f189
Fix an uninitialized variable in CASE expression code generation.
...
FossilOrigin-Name: c8ffae05e13033ec7425bf0f002df31f550bb7f1
2016-08-23 17:30:55 +00:00
drh
12abf408ff
Fix the vector BETWEEN operator so that it only evaluates the left-most
...
vector expression once. Add support for vector comparisons in the CASE
operator.
FossilOrigin-Name: 07e69f43a294d35b5145a2b0242ee42d50adab14
2016-08-22 14:30:05 +00:00
drh
db45bd5e82
Reinstate the mechanism in BETWEEN that avoids evaluating the first expression
...
more than once, but fix the affinity extractor so that it works with this
mechanism. The de-duplication of the first expression still does not work
for vector expressions, though.
FossilOrigin-Name: 2f39987f21bd6dae8d2be610a1fd5f06f8878e9e
2016-08-22 00:48:58 +00:00
drh
84b19a3da1
The docs promise the in "x BETWEEN y AND z" the x expression is only evaluated
...
once. That is no longer true, and so some tests are failing. This needs to
be fixed before merging to trunk.
FossilOrigin-Name: e50d264fdc2f08d19202c68f73f18df301cb233d
2016-08-20 22:49:28 +00:00
drh
d832da7f40
Further comment enhancements. No changes to code.
...
FossilOrigin-Name: d4562a9e7b1eaff41466210e3a0caaf374ec5a92
2016-08-20 21:11:25 +00:00
drh
76dbe7a8d0
Clarification of code comments in expr.c. Clean up the implementations
...
of sqlite3ExprIsVector() and sqlite3ExprVectorSize() slightly.
FossilOrigin-Name: 4fb66d6592b141a4a71359250dbd1ac454569cb9
2016-08-20 21:02:38 +00:00
drh
8bd0d58e1c
Fixes for problems following OOM errors.
...
FossilOrigin-Name: 9041ee4a6f0e8389297f887f1431ab5cfe783390
2016-08-20 18:06:14 +00:00
drh
9854260bca
Do not duplicate the Expr.pLeft subtree of a TK_SELECT_COLUMN node.
...
FossilOrigin-Name: 8384c77ebb3f65fbc54c199885926f2066f0b140
2016-08-20 17:00:16 +00:00
dan
f358009a93
Fix a segfault that could occur if a query that used a vector comparison contained certain types of syntax errors.
...
FossilOrigin-Name: 203f07c5e140e74cf91d0c1e20135c21236f0fc1
2016-08-20 15:01:24 +00:00
drh
8762ec1935
Improvements to comments. No code changes.
...
FossilOrigin-Name: 4165d20f64d778a4e48f511a37cfced8579d4dbe
2016-08-20 01:06:22 +00:00
drh
a1251bc40d
Add support for vector assignments in the SET clause of an UPDATE statement.
...
FossilOrigin-Name: f320d47d6b7b08d9552c8444004bc256348bda90
2016-08-20 00:51:37 +00:00
drh
fc7f27b9d2
Change the way TK_SELECT_COLUMN is handled so that the subquery is only
...
generated once even if part of the vector comparison is used for indexing
and the other part is now. This change also is a pathway to vector assignment
in UPDATE statements.
FossilOrigin-Name: d8feea7dcde83179bff303072426561cfe825e58
2016-08-20 00:07:01 +00:00
drh
39a11819f3
Improved comments on sqlite3CodeSubquery(). No changes to code.
...
FossilOrigin-Name: acea4ee136def4815d22eec240c5903a72bde9bd
2016-08-19 19:12:58 +00:00
drh
a2f629251f
Fix to the vector less-than operator. All legacy tests passing now.
...
FossilOrigin-Name: ec70a67ebc997f457be4d52d8affc37e142dc3ff
2016-08-13 12:37:47 +00:00
drh
79752b6e63
Attempt to simplify the logic and generated code for vector comparisons.
...
Basic comparison operators are working, but there are many indexing test
failures still to be worked through.
FossilOrigin-Name: dfc028cfbe7657d20727a2670ecadb1575eb8cbb
2016-08-13 10:02:17 +00:00
drh
471b4b92bd
Add VdbeCoverage() macros on newly added VDBE branch operations.
...
FossilOrigin-Name: 381aa73141db8ec59adbcb09e71af660ee4ae5ce
2016-08-12 11:25:49 +00:00
drh
a48d7e7749
Fix a post-OOM memory leak.
...
FossilOrigin-Name: 14009b32b955b42cfd5f0c2ce7d4b3ce19ce201e
2016-08-12 11:01:20 +00:00
dan
17994e3bca
Fix some problems with handling "no such collation sequence" errors.
...
FossilOrigin-Name: 8278be06fa69e3266866220bdaf5be45a5fcfa23
2016-08-11 12:01:52 +00:00
dan
adeb970da2
Merge trunk changes with this branch.
...
FossilOrigin-Name: 0e927a7e0250a65fd8e97b322cd69e93fadd13f0
2016-08-08 16:52:11 +00:00
drh
cc15313cc9
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option.
...
When enabled, the "unknown function" error is suppressed for EXPLAIN and
a no-op function named "unknown()" is substituted. This facilitiates using
the command-line shell to analyze queries from applications that contain
many application-defined functions that are not normally available to the
shell.
FossilOrigin-Name: b7f30a9ff20d580fdaecdcf2b644d09ad6c2575e
2016-08-04 12:35:17 +00:00
dan
d66e5794d1
Fix stat4-based cost estimates for vector range constraints.
...
FossilOrigin-Name: 18af74abc8ceae47ab9fbee3e3e5bb37db8fcba5
2016-08-03 16:14:33 +00:00
dan
f9b2e05c75
Fix SQLITE_OMIT_SUBQUERY builds.
...
FossilOrigin-Name: 339f85f414a484e44d2502d1ff7281caf9b7c838
2016-08-02 17:45:00 +00:00
dan
553168c706
Fix a problem with vector range constraints involving the rowid column. And other issues.
...
FossilOrigin-Name: 3ef75d45ebcd8ede91596d69e55fe7d685008a60
2016-08-01 20:14:31 +00:00
dan
870a0705fe
Fix a problem with IN(...) constraints where the LHS is a sub-select that is an aggregate query.
...
FossilOrigin-Name: 1f4dba87da4a44ad26223ad965731164c0d9bad9
2016-08-01 16:37:43 +00:00
dan
5c288b929a
Fix problems with vector == comparisons and NULL values.
...
FossilOrigin-Name: 059d0d05354e6efab7892c97b339ffa0b5303587
2016-07-30 21:02:33 +00:00
dan
625015e0c9
Remove the EP_Vector expression flag.
...
FossilOrigin-Name: e9d9c6d46b46160fad6aa6e3441a65a09157515f
2016-07-30 16:39:28 +00:00
dan
19ff12dd76
Fix some issues with vector range constraints and the column cache. Also vector range constraints and rowid columns.
...
FossilOrigin-Name: 42607366bfc2dceb1013797a973b3b8df75dcb4d
2016-07-29 20:58:19 +00:00
dan
145b4ea519
Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only.
...
FossilOrigin-Name: 4dfebff2924f46284d5b9cda69175f79b29d6028
2016-07-29 18:12:12 +00:00
dan
7b35a77b1a
Fix further issues with multi-column IN(...) operators. Also some error handling cases surrounding row values.
...
FossilOrigin-Name: cc3f6542bec99b00d2698889bcea2aa0b587efa0
2016-07-28 19:47:15 +00:00