aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
Commit message (Collapse)AuthorAge
...
| * Add test cases and fix a comment.drh2016-07-27
| | | | | | FossilOrigin-Name: 50f8ea37fb9647c4a9da2c269a4d6f54b10ce96b
| * When estimating the cost of an index scan, factor in the cost savings ofdrh2016-07-27
| | | | | | | | | | | | being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. FossilOrigin-Name: a59b5622f7cc6e502d71aabc12c053582cd03609
* | Fix some problems with multi-column IN(SELECT...) processing.dan2016-07-27
|\| | | | | FossilOrigin-Name: 719a3b2035a335ca8b9704646b1d641011e3ea0e
| * Fix typos in comments. No changes to code.mistachkin2016-07-10
| | | | | | FossilOrigin-Name: 77c692a6704cd877ba35d0afb774ab9b46364d59
* | Fix where.c handling of "IN (SELECT ...)" expressions when the SELECT ↵dan2016-07-26
| | | | | | | | | | returns more than one result column. Also error handling for other row value constructor cases. FossilOrigin-Name: 061b8006034f06a0311b4304c8b14d2c8b0153df
* | Allow vector IN(SELECT ...) expressions to use an index if either all the ↵dan2016-07-23
| | | | | | | | | | indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause). FossilOrigin-Name: e2fd6f49b1b145bec09c581cc982b89429643ae9
* | Modifications towards better vector IN(...) support on this branch. Not ↵dan2016-07-13
| | | | | | | | | | activated yet. FossilOrigin-Name: 34e35c71b25b0aa2d8931040feb260a78cc48c49
* | Add some support for using row value constructors in certain parts of SQL ↵dan2016-07-09
|/ | | | | expressions. There are many bugs on this branch. FossilOrigin-Name: b2204215b231202aef7a218411cc2ddaecf28f35
* Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN ↵dan2016-06-16
| | | | | (SELECT ...)" in cases where expression can use an index that may contain NULL values. FossilOrigin-Name: 0b1579caf06a2c42433b8bc9dc28c9ad381aa07c
* Add the CSV extension to the test fixture. Fix a memory leak in the CSVdrh2016-06-02
| | | | | | extension. Add test cases for the CSV extension, including one that uses a WITHOUT ROWID virtual table participating in the OR optimization. FossilOrigin-Name: 95f483e86e30ae68108904400e18ed41d389446b
* Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeIntdrh2016-05-26
| | | | | and OP_NotExists. This makes the code slightly smaller and faster. FossilOrigin-Name: ffe80a1bfa014943a614fc6993c1749b9bfec4c1
* Fix a couple of assert() statements that were failing with OOM error tests.dan2016-04-16
| | | FossilOrigin-Name: 8eb3d7d8360530f364bbbebac53e1f0e6753d924
* Performance optimization to sqlite3Dequote() and its callers.drh2016-04-11
| | | FossilOrigin-Name: 9efe2265b1e70172778d333c5b9d9a76095427ab
* Performance optimization for the sqlite3ExprListDelete() routine.drh2016-04-11
| | | FossilOrigin-Name: 2764aeaa11f38cf2ff4d6191e6d5466ddb203022
* Performance optimizations in the column cache of the code generator, anddrh2016-04-11
| | | | | especially the sqlite3ExprCacheRemove() routine. FossilOrigin-Name: e35b345cf858018ae0c07f79725f8d58062168db
* Simplification and performance improvements in sqlite3ExprDup() and itsdrh2016-04-11
| | | | | subroutines. More work is possible in this area. FossilOrigin-Name: 476cc2838824e0667e80ce527b9caa551dee4a77
* Performance improvement in sqlite3ExprDelete().drh2016-04-11
| | | FossilOrigin-Name: 60ad80e3af4bae9f5c74fedf09eec9689e2e3dbf
* Factor out the common operation of setting the Expr.x.pSelect field of andrh2016-04-11
| | | | | Expr object into a subroutine. FossilOrigin-Name: 6a5cceee486c5e3625556e4c7076ff90e9d8fa43
* Fix a register allocation bug in the VDBE code generator fordrh2016-03-19
| | | | | PRAGMA integrity_check; FossilOrigin-Name: 88439a866b3b16ad7c308ebe59198662a05e7eeb
* A more compact implementation of the code generator for thedrh2016-03-17
| | | | | IS and IS NOT operators. FossilOrigin-Name: 8607e3ac7a9d44372a4a66da21bbb3d28ae2528a
* Slight simplification to the query optimizer logic associated with IN (SELECT).drh2016-03-09
| | | FossilOrigin-Name: 2c55c3c2950cafdc256ab540f60dc4609b9c354b
* When optimizing expressions of the form "x IN (SELECT ...)" make sure thatdrh2016-03-09
| | | | | the subquery is not correlated. Fix for ticket [5e3c886796e5512]. FossilOrigin-Name: 1ed6b06ea3c432f920fb2b66b6042be906c5d21c
* Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reducedrh2016-02-27
| | | | | the amount of memory needed to hold the schema. FossilOrigin-Name: d8c94a46dfa94930732c2de2aa79675c5087d36e
* Improvements to the application-defined function mechanism so that it isdrh2016-02-15
| | | | | | more compact and runs faster, especially when the application defines thousands of new SQL functions. FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
* Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majoritydrh2016-02-05
| | | | | cases where db is guaranteed to be not NULL. FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
* Improvements to the way that OOM errors are processed.drh2016-02-05
| | | FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
* Add the sqlite3TokenInit() utility function.drh2016-01-22
| | | FossilOrigin-Name: 7323175337b7ba85ac932ca892b28860f6a5b688
* Avoid unnecessary calls to memset() for a small performance improvement.drh2016-01-18
| | | FossilOrigin-Name: 9e8c23acf74944a165c733682a956948b15bd401
* Combine the xFunc and xStep pointers of the FuncDef object into a singledrh2016-01-14
| | | | | pointer xSFunc. FossilOrigin-Name: 0d1b3d7d3ca66cb0b97493f1aeade1703af3c9f4
* Reduce the number of calls to memset() in sqlite3DbMallocZero().drh2016-01-08
| | | FossilOrigin-Name: cede2bf8e42ac140a8cc75a1d173083f543ba467
* Fix some harmless gcc compiler warnings. Mostly in fts5, but also two in the ↵dan2015-12-23
| | | | | core code. FossilOrigin-Name: 5d44d4a6cf5c6b983cbd846d9bc34251df8f4bc5
* Ensure that the Expr objects that describe indexed expressions are not modifieddrh2015-12-21
| | | | | by code generation. Fix for an assert() problem found by Jon Metzman using AFL. FossilOrigin-Name: 34073ce87d88a02313217023ae92e15939192cd9
* Changes to avoid undefined behavior in memset() and memcpy() and in thedrh2015-12-08
| | | | | | comparisons of pointers from different allocations. All problems are found by analysis tools - none have been seen in the wild. FossilOrigin-Name: 901d0b8f3b72e96ffa8e9436993a12980f5ebd51
* Remove an incorrect ALWAYS() macro. Fix for ticket [e5c6268dd807fa8950] - drh2015-11-24
| | | | | a problem introduced in SQLite 3.9.0 and found by libFuzzer. FossilOrigin-Name: 824ad96f72cb0c948ec98aca9d17a7e6790c575f
* Fix over-length source code lines. No logic changes.drh2015-11-21
| | | FossilOrigin-Name: 198d191b2f5ef7d63ac0093c701955c9052fd734
* Make the internal sqlite3PExpr() interface responsive to the drh2015-10-28
| | | | | TKFLG_DONTFOLD flag on the operator parameter. FossilOrigin-Name: b10ab59fb8a696d11a269f3904e799c687246aea
* Merge in all trunk changes prior to the BTREE_FORDELETE enhancement.drh2015-10-26
|\ | | | | FossilOrigin-Name: 53d5a4add6b60722ad77daf98b6b8983b081e16a
| * Fix a comment in expr.c and add a CORRUPT_DB to an assert() in btree.c.drh2015-10-16
| | | | | | FossilOrigin-Name: 0df371d1a51c2028aefa4c704707773750317689
* | Merge recent enhancements from trunk. Version now 3.9.1.drh2015-10-16
|\| | | | | FossilOrigin-Name: 26fa091d68e89a0b6af61ba706d23a9f37e8025a
| * Enhance the use of the column cache for UPDATE statements, making themdrh2015-10-15
| | | | | | | | | | | | more efficient for the case where a column is modified to be an expression of other unmodified columns. FossilOrigin-Name: 871e091df651b2275a672c35ff938bd4b6db0d7f
* | Merge in all the 3.9.0 updates from trunk.drh2015-10-14
|\| | | | | FossilOrigin-Name: 29444149342fc6b1ea8cd34c2c8e1fcb06eaa7ed
| * Compiler warning fixes: Rename some local variables from "j1" to avoid adrh2015-10-10
| | | | | | | | | | | | 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
| * Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)drh2015-09-29
| | | | | | | | | | | | | | 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
* | Merge enhancements from trunk.drh2015-09-15
|\| | | | | FossilOrigin-Name: 66fe06832614010d3156d7b21a760af9957018cc
| * Omit all use of Expr nodes for TK_AS, as those nodes no longer served a usefuldrh2015-09-05
| | | | | | | | | | purpose and in fact interferred with the query planner. FossilOrigin-Name: 7ab0b258eabfcfb7f1b0bd1b12e166d2f267823d
| * Merge enhancements from trunk.drh2015-09-03
| |\ | | | | | | FossilOrigin-Name: 1ab10cbf27245961b40eda1ce70f35646f0a9966
| * | Case should not be significant when comparing function names.drh2015-08-31
| | | | | | | | | FossilOrigin-Name: e2f1caf117b0a9632d52246717ab202852982339
| * | Merge enhancements from trunk.drh2015-08-26
| |\ \ | | | | | | | | FossilOrigin-Name: ec6ddb3d481d005c304a26c948c9c808586750e9
| * | | Add code to maintain indexes with expression arguments across DELETE, INSERT,drh2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge enhancements from trunk.drh2015-09-03
|\ \ \ \ | | |_|/ | |/| | FossilOrigin-Name: 25ee3000e94d60d8c1d7b980f416dcc33eb11105