dan
3e6a141130
Fix some harmless gcc compiler warnings. Mostly in fts5, but also two in the core code.
...
FossilOrigin-Name: 5d44d4a6cf5c6b983cbd846d9bc34251df8f4bc5
2015-12-23 16:42:27 +00:00
drh
1c75c9d7f1
Ensure that the Expr objects that describe indexed expressions are not modified
...
by code generation. Fix for an assert() problem found by Jon Metzman using AFL.
FossilOrigin-Name: 34073ce87d88a02313217023ae92e15939192cd9
2015-12-21 15:22:13 +00:00
drh
72ea29d7ae
Changes to avoid undefined behavior in memset() and memcpy() and in the
...
comparisons of pointers from different allocations. All problems are found
by analysis tools - none have been seen in the wild.
FossilOrigin-Name: 901d0b8f3b72e96ffa8e9436993a12980f5ebd51
2015-12-08 16:58:45 +00:00
drh
2edc5fd73a
Remove an incorrect ALWAYS() macro. Fix for ticket [e5c6268dd807fa8950] -
...
a problem introduced in SQLite 3.9.0 and found by libFuzzer.
FossilOrigin-Name: 824ad96f72cb0c948ec98aca9d17a7e6790c575f
2015-11-24 02:10:52 +00:00
drh
62aaa6ca88
Fix over-length source code lines. No logic changes.
...
FossilOrigin-Name: 198d191b2f5ef7d63ac0093c701955c9052fd734
2015-11-21 17:27:42 +00:00
drh
1167d32716
Make the internal sqlite3PExpr() interface responsive to the
...
TKFLG_DONTFOLD flag on the operator parameter.
FossilOrigin-Name: b10ab59fb8a696d11a269f3904e799c687246aea
2015-10-28 20:01:45 +00:00
drh
0691191d26
Merge in all trunk changes prior to the BTREE_FORDELETE enhancement.
...
FossilOrigin-Name: 53d5a4add6b60722ad77daf98b6b8983b081e16a
2015-10-26 18:51:09 +00:00
drh
b0df963465
Fix a comment in expr.c and add a CORRUPT_DB to an assert() in btree.c.
...
FossilOrigin-Name: 0df371d1a51c2028aefa4c704707773750317689
2015-10-16 23:55:08 +00:00
drh
0030aaad67
Merge recent enhancements from trunk. Version now 3.9.1.
...
FossilOrigin-Name: 26fa091d68e89a0b6af61ba706d23a9f37e8025a
2015-10-16 20:53:57 +00:00
drh
ce78bc6e7e
Enhance the use of the column cache for UPDATE statements, making them
...
more efficient for the case where a column is modified to be an expression
of other unmodified columns.
FossilOrigin-Name: 871e091df651b2275a672c35ff938bd4b6db0d7f
2015-10-15 19:21:51 +00:00
drh
99f4647ef5
Merge in all the 3.9.0 updates from trunk.
...
FossilOrigin-Name: 29444149342fc6b1ea8cd34c2c8e1fcb06eaa7ed
2015-10-14 20:09:54 +00:00
drh
728e0f91bb
Compiler warning fixes: Rename some local variables from "j1" to avoid a
...
name collision with the j1() bessel function in the math library. Omit a
dummy initializer that gcc 4.6.3 does not like.
FossilOrigin-Name: 9ddef84d432813f3ece8012047d08441caa3315d
2015-10-10 14:41:28 +00:00
drh
4b92f98ccc
Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)
...
magic numbers in Index.aiColumn[]. Add asserts to help verify that
Index.aiColumn[] is always used correctly. Fix one place in FK processing
where Index.aiColumn[] was not being used correctly.
FossilOrigin-Name: 7d272aa62cd4cbbf4b5d04e3b918de27671e8301
2015-09-29 17:20:14 +00:00
drh
81966bea22
Merge enhancements from trunk.
...
FossilOrigin-Name: 66fe06832614010d3156d7b21a760af9957018cc
2015-09-15 17:31:47 +00:00
drh
0b8d255c37
Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful
...
purpose and in fact interferred with the query planner.
FossilOrigin-Name: 7ab0b258eabfcfb7f1b0bd1b12e166d2f267823d
2015-09-05 22:36:07 +00:00
drh
163c29c5f3
Merge enhancements from trunk.
...
FossilOrigin-Name: 25ee3000e94d60d8c1d7b980f416dcc33eb11105
2015-09-03 14:39:33 +00:00
drh
34de0c8c5e
Merge enhancements from trunk.
...
FossilOrigin-Name: 1ab10cbf27245961b40eda1ce70f35646f0a9966
2015-09-03 14:18:12 +00:00
drh
076e85f59c
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
...
with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().
FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b
2015-09-03 13:46:12 +00:00
drh
2991ba050b
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
...
sqlite3VdbeAddOp2(v,OP_Goto,0,i).
FossilOrigin-Name: be78f413df1b0d874b44a866ef6bf17543d7e8a2
2015-09-02 18:19:00 +00:00
drh
4970d4032e
Merge enhancements from trunk.
...
FossilOrigin-Name: 29570a604806e2a60a8eef7eaf1dce022d2a7004
2015-09-01 18:31:19 +00:00
drh
390b88a448
Case should not be significant when comparing function names.
...
FossilOrigin-Name: e2f1caf117b0a9632d52246717ab202852982339
2015-08-31 18:13:01 +00:00
drh
e14796085a
Merge enhancements from trunk.
...
FossilOrigin-Name: ec6ddb3d481d005c304a26c948c9c808586750e9
2015-08-26 18:04:23 +00:00
drh
5579d59fb3
Evaluate expressions only once when the same expression is used in both the
...
result set and in the ORDER BY clause.
FossilOrigin-Name: c2f3bbad778504681b39ab9399a1eb3c1a35ab3f
2015-08-26 14:01:41 +00:00
drh
1f9ca2c84c
Add code to maintain indexes with expression arguments across DELETE, INSERT,
...
and UPDATE statements. Legacy tests pass, but the new code paths are still
largely untested. The query planner currently makes no effort to use
expression indexes.
FossilOrigin-Name: efaabdb71626bdc03768e87e186c72f6f3da75b2
2015-08-25 16:57:52 +00:00
drh
108aa00a87
Enhances the parser so that it accepts arbitrary expressions for the arguments
...
of an index, though the code generator still rejects everything other than
simple column names. The sqlite3RestrictColumnListSyntax() routine is removed
since that feature is now handled by the parser.
FossilOrigin-Name: bed42116addabcf3dfdc2e2d51ae183965704988
2015-08-24 20:21:20 +00:00
drh
bc622bc045
Disallow the use of COLLATE clauses and the ASC and DESC keywords within
...
foreign key constraints and in the argument list to common table expressions.
FossilOrigin-Name: 83cbc4d8761498647794affffa961a4fca311be7
2015-08-24 15:39:42 +00:00
drh
e792b5b420
Fix a comment typo on sqlite3ExprAlloc(). No code changes.
...
FossilOrigin-Name: 518d6220a12fb1289f699ef0821e6adfcd286ed0
2015-08-23 20:48:29 +00:00
drh
c1bd84124b
Merge recent enhancements from trunk, including table-valued expressions.
...
FossilOrigin-Name: b9927c876c1d4e146cb6a603d82cd2489594084d
2015-08-20 23:45:59 +00:00
drh
8a48b9c0b1
Minor refactor of the SrcList object so that it is able to hold the argument
...
list to a table-valued-function in the FROM clause.
FossilOrigin-Name: b919376147597c4b73421abe5788f893baf1560b
2015-08-19 15:20:00 +00:00
drh
07194bff0e
Fix a bug in sqlite3ExprContainsSubquery().
...
FossilOrigin-Name: be254715b5f56900e57ed57a179ca8d7bb68685d
2015-08-13 20:34:41 +00:00
drh
bec2476afc
Merge in all the trunk changes from the previous year. This breaks the
...
cursor-hint mechanism, but provides a baseline for trouble-shooting.
FossilOrigin-Name: 82a7a61bc0883b1e7432548e4890791717aa1bb3
2015-08-13 20:07:13 +00:00
drh
9c7c913cd6
Cache the sqlite3_context structure in the P4 operand of VDBE programs
...
for faster SQL function dispatch.
FossilOrigin-Name: 2abc44eb3b9d489321baa50bc25e17dafbda3687
2015-06-26 18:16:52 +00:00
drh
5f02ab0976
Make sure that the likelihood() function does not mess up generation of
...
result-set code when it is used (inappropropriately) in a result-set
expression.
FossilOrigin-Name: 7cdbae625eb029538a693d2bebec465a6f65fb90
2015-06-20 13:18:34 +00:00
drh
36b80349b7
Add the OP_ColumnsUsed opcode (when compiled with
...
SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which
columns of a btree cursor will be used.
FossilOrigin-Name: 711a176cbfad5dde6defa9648fba6d0d663af134
2015-06-12 12:54:15 +00:00
drh
72bc8208f0
When generating code for partial indexes, be sure not to modify the
...
index condition expression in the schema.
FossilOrigin-Name: e63d01c69c3e50f49ee3022a519c4f3e91f00520
2015-06-11 13:58:35 +00:00
drh
38b4149ca1
Factor out the TreeView parse tree printing module into a separate file.
...
FossilOrigin-Name: c32ce54ca46a4be4373983be6fd44b1f3a0250d1
2015-06-08 15:08:15 +00:00
drh
4490c40b90
Split FROM-clause subquery flattening and code generation into separate loops.
...
FossilOrigin-Name: be8e3fc70e4c13b28b07985df3457960f58ffddd
2015-06-05 22:33:39 +00:00
drh
97bae794c2
Add a new opcode to the VDBE that gives the b-tree a hint about the set
...
of columns in a table or index that are actually used by the query.
FossilOrigin-Name: f167bba446b78dd7538d0b2bae3e6678f3b1ba28
2015-06-05 15:59:57 +00:00
drh
d62fbb50e6
Change the name of SrcList.a[].zIndex to the more descriptive
...
SrcList.a[0].zIndexedBy.
FossilOrigin-Name: 6a9cf063379118dbb95c6cdc6d60af50e9867177
2015-06-04 12:08:53 +00:00
drh
05883a3409
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB.
...
FossilOrigin-Name: bce3f04186cd2d69414a5a98b5b77dc8f060554a
2015-06-02 15:32:08 +00:00
drh
fcb9f4f3ca
Corrections to comments in expr.c. No code changes.
...
FossilOrigin-Name: f925389eaf5bf8962a28fcaa652b75caa606efba
2015-06-01 18:13:16 +00:00
drh
0a96931b76
Fix a minor coding inefficiency found during pre-release inspection.
...
FossilOrigin-Name: cc50883d67334507227e1384fef6cc7c93fd7de1
2015-05-05 16:57:52 +00:00
drh
00808deed0
Improvement to "ID" formatting on the ".selecttrace 0x1ff" debugging function.
...
FossilOrigin-Name: 01c50cee37bfaddfecdda014728c35a1be1d991a
2015-04-23 13:00:42 +00:00
drh
b496a8f547
Add an ALWAYS() around a new branch that was made unreachable by an even
...
newer change.
FossilOrigin-Name: 592c010478fba7410424f011a62e019c826f1ac3
2015-04-20 01:13:33 +00:00
drh
d0c7305313
Fix a potential NULL pointer deference on a corrupt database schema.
...
FossilOrigin-Name: dc61b292d8eaf422ca8a2b18f1caccef1a5389fd
2015-04-19 19:21:19 +00:00
drh
7693c42f1a
In the expression-tree comparison routine, do not compiler Expr.iColumn
...
and Expr.iTable for TK_STRING expressions.
FossilOrigin-Name: b67bb16c72c3e015ea82665ada9b5d3289ef6fb2
2015-04-17 19:41:37 +00:00
drh
772460fd4c
Improvements to the way VALUES clauses are parsed.
...
FossilOrigin-Name: ec5a493ad27593ca78899b3001630c1898b940ff
2015-04-16 14:13:12 +00:00
drh
1978d171cb
When adding the implied "LIMIT 1" to the end of a scalar subquery, make sure
...
that subquery is not a VALUES-only query as such queries cannot deal with
LIMIT clauses.
FossilOrigin-Name: 7c27310bdf6b4af44a0811a2787ed64966d720d2
2015-04-15 05:20:44 +00:00
drh
311efc70a7
Add a test case for what was formerly thought to be an unreachable condition:
...
when the LHS of an OR operator contains an error and the RHS contains an IN
operator.
FossilOrigin-Name: 3872742591add4e94033484c2844e7d7ab69674b
2015-04-15 04:20:58 +00:00
drh
74893a4cdb
Fix a potential NULL pointer dereference following a syntax error.
...
FossilOrigin-Name: 8d27e3e16a9be79fe227e833f4770ebe09a9d90b
2015-03-22 10:23:17 +00:00