aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
Commit message (Collapse)AuthorAge
...
* Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schemadrh2014-02-06
| | | | | version checks that OP_VerifySchema used to do. FossilOrigin-Name: 2f3376ebf13df44e6acf27cb1f07172cd8b34033
* Do not mark the ephemeral tables used to hold the RHS of IN clauses asdrh2014-02-04
| | | | | | | | unordered because the NGQP will use those ephemeral tables to help order the output. This is not an issue for standard SQLite since ephemeral tables there are always ordered, regardless of the hint. It only affects systems that substitute an alternative storage engine. FossilOrigin-Name: f2504089df0bf4011864e67825b37f6aa3d03458
* Make sure that sqlite3SelectDup() initializes the nSelectRow of thedrh2014-01-29
| | | | | duplicate Select object. FossilOrigin-Name: 5bb29b82109224a2ad02920658fabd8fb0f27b3f
* Fixes for various clang warnings.drh2014-01-24
| | | FossilOrigin-Name: 87bf60637e5863c54c5e2d05aaaca0835b7aace8
* Fix harmless compiler warnings.drh2014-01-22
| | | FossilOrigin-Name: dea2ca6a159d5dcfd8deceedf1c2a73fb4ac1cfc
* Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Setdrh2014-01-18
| | | | | query as a test case. FossilOrigin-Name: 2ad4583c0cc7988f0dfe78fd0a2eb0fdb92d835a
* Allow only a single recursive reference in a recursive CTE. Also require ↵dan2014-01-16
| | | | | that this reference is not part of a sub-query. FossilOrigin-Name: a296b73360d34c9364eceb2cc09a9a92adc4abb8
* Disable the flattening optimization if the parent query is the recursive ↵dan2014-01-16
| | | | | part of a recursive CTE and the sub-query is a compound query. FossilOrigin-Name: 6bfa387e82de47ca1f40225fe28d873e29d6f481
* Fixes so that SQLITE_OMIT_CTE builds work.dan2014-01-15
| | | FossilOrigin-Name: 3908e2ea2e7e5f466cbbbffdc27e0fe8dc9751ac
* When resolving names, consider a reference to a recursive CTE column as ↵dan2014-01-15
| | | | | equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. FossilOrigin-Name: 61be2da0ae623c1572819481508b044e9d32f294
* Don't try to verify the schema of transient table (such as generated insidedrh2014-01-15
| | | | | a WITH clause) when generating code for "IN table" operators. FossilOrigin-Name: 860aa936634a60d68e3954fc408a96a9260394e0
* Disable the flattening optimization if the sub-query is a recursive CTE.dan2014-01-15
| | | FossilOrigin-Name: 9472f6d820a7fb233936d9b8f7a39c9d4c4d6d73
* Add code to handle recursive CTEs.dan2014-01-14
| | | FossilOrigin-Name: a5c2a54a07d35166911abc792008c05dea897742
* Add code to handle non-recursive CTEs in the same way as SQL views.dan2014-01-13
| | | FossilOrigin-Name: a26f399ba485e8127c276c5f103ec6c555e11734
* Fix an typo that breaks the build when SQLITE_ENABLE_TREE_EXPLAIN is defined.drh2014-01-04
| | | FossilOrigin-Name: f461e2b3973d0fe6a7b8cb7a3aaab8a30b3e16c0
* Improvements to the column-cache for nested AND/OR operators.drh2014-01-04
| | | FossilOrigin-Name: 4e725f53131d3584319c710c8710a068989543c6
* Be more aggressive in optimizing constant conditional expressions.drh2014-01-02
| | | FossilOrigin-Name: b7e39851a75b87ebca747b26a39989560fd6362b
* Combine adjacent single-register OP_Copy instructions into a singledrh2013-12-20
| | | | | | multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. FossilOrigin-Name: 2ae22dc0cbed2feca4baf89d02aaace0331971d6
* Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set.drh2013-12-18
| | | FossilOrigin-Name: 4c6a659c432e4f7c0285f58675a67f967b07bb0d
* Do not reuse factored constants that might have had their encodings changed.drh2013-11-21
| | | FossilOrigin-Name: 487f20366ce77f0c90865d10d5aaedd95af98694
* Fix the code generator to honor turning off constant expression factoring.drh2013-11-21
| | | FossilOrigin-Name: 882622662dfadf49c65c7d80b7fd87533d079ce9
* When one or more arguments to a function are constants, try to factordrh2013-11-21
| | | | | out just those arguments into initialization code. FossilOrigin-Name: 50d350abbc9176cd6fc606bc45b8fc3020719500
* Remove the obsolete TK_CONST_FUNC token type.drh2013-11-21
| | | FossilOrigin-Name: 9b4217f055e9bced186b4c56a5753bd6da7115b5
* Add the ability to factor constant functions out of inner loops. But dodrh2013-11-21
| | | | | not factor out non-constant functions, like random(). FossilOrigin-Name: 1b0f779e19a5c0d51eddd2d88db50034d77d132c
* Simplifications to the VdbeCursor object.drh2013-11-20
| | | FossilOrigin-Name: 5562cd343d8f69242e06a51a7f1aef7ee7d78eec
* Add ALWAYS and NEVER macros to currently unreachable but important branches indrh2013-11-15
| | | | | sqlite3ExprCompare(). FossilOrigin-Name: cee835fe902e46f283257fb8ec9d9744c7d6dd77
* Changes to make the new constant expression factoring logic more generaldrh2013-11-15
| | | | | and more testable. FossilOrigin-Name: d10fb49a92f5f6e93093ae83544e5aec7984361a
* Improvements to the Expr comparison routine to make it more general.drh2013-11-15
| | | | | | Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. FossilOrigin-Name: 835be656bb0e83c8108104869166aa9dd850d265
* Rework the logic that factors constant expressions out of inner loops, makingdrh2013-11-15
| | | | | it both simpler and faster. FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
* Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfodrh2013-11-06
| | | | | for each index in the Index object, and reuse that one copy as much as possible. FossilOrigin-Name: defd5205a7cc3543cdd18f906f568e943b8b3a2c
* Standardize the error messages generated by constraint failures to a formatdrh2013-11-05
| | | | | | of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. FossilOrigin-Name: 54b221929744b1bcdbcc2030fef2e510618afd41
* Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() duringdrh2013-10-31
| | | | | | | SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. FossilOrigin-Name: 9b6d9e106aaa3c2efb33d234d26cf08cd3c967b9
* Fix issues with quering from an auxiliary index that must refer back to thedrh2013-10-31
| | | | | PRIMARY KEY index of a WITHOUT ROWID table. FossilOrigin-Name: cff1f55c52ff57557d9b728a5cd830a367091794
* Some inserts and queries working for multi-column primary keysdrh2013-10-23
| | | | | and WITHOUT ROWID. FossilOrigin-Name: b21d831b2aa55507dd9def2acb02cdbffddf10d1
* The Index object now has nKeyCol and nColumn. nColumn is the total numberdrh2013-10-22
| | | | | | of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. FossilOrigin-Name: a106ce86cd4afd1f81603826de77df1fb25e9ab5
* Improved estimates of the relative speed of index scans based on declareddrh2013-10-04
| | | | | | datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. FossilOrigin-Name: 07462bb6059f023c22a6c84a4a02afbd84e69255
* Remove one unreachable branch and add asserts() to dupedExprStructSize().drh2013-09-13
| | | | | | New asserts verify that removed branch is unused and that constants that are ORed together in the output do not overlap. FossilOrigin-Name: 86ad358b5a7567857f2f998fbb8266b7de9ec87e
* Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce).drh2013-09-12
| | | | | This is a naming change only. The logic is the same. FossilOrigin-Name: 695aee46e9bdf15159ab52db7f522b30c91aed0f
* Merge in the Expr.flags expansion to 32-bits. Use an extra bit to helpdrh2013-09-12
|\ | | | | | | | | optimize the sqlite3ExprSkipCollate() routine. FossilOrigin-Name: 4c84d1b4c20f18921dd705bf67e8225975b83e86
| * Increase the number of bits available in Expr.flags. Other tweaks aimed atdrh2013-09-12
| | | | | | | | | | making expression processing more robust. FossilOrigin-Name: 579a512538528cf4bb4381ba393c5d9e7310086b
* | Initial implementation of the unlikely() SQL function used as a hint todrh2013-09-06
|/ | | | | the query planner. FossilOrigin-Name: 036fc37a034093a4c6fc190633bd41c2b7230d77
* Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a singledrh2013-09-06
| | | | | new FuncDef.funcFlags field. FossilOrigin-Name: 97b10e66e98e84755aa577f8da017bf1aea2056c
* Fix several harmless compiler warnings. Fix a couple compiler issues with ↵mistachkin2013-08-28
| | | | | the shell. FossilOrigin-Name: 8917e9f9a0802cbfb6f33e2ab1c2f98e4df5babd
* Candidate fix for [d666d600a6].dan2013-08-21
| | | FossilOrigin-Name: 781592f32c8e1dcd59954c17211cf61349d1c0b1
* Add some extra assert() statements to silence a few clang warnings.dan2013-08-19
| | | FossilOrigin-Name: 1c63e9515b5f5cb9169928b108d002dcd18ad4fd
* Add a testcase() macro to verify OOM coverage.drh2013-08-06
| | | FossilOrigin-Name: d43dcbc488120aeb7104ab9e6a27f62bb348bf6a
* Remove unreachable branches in expr.c, replacing them with assert() anddrh2013-08-06
| | | | | testcase() statements. FossilOrigin-Name: 9103c27ceb3f4023ea3a41b679a10717d3f80210
* Factor all KeyInfo object allocations into a single function:drh2013-08-05
| | | | | | | sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. FossilOrigin-Name: 7301bedd94c8610568349953b18ff3575203e1b2
* Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches.drh2013-08-02
| | | FossilOrigin-Name: c5c0a8ab6c222185d5f9d4321e64d9f93cd36b7d
* More test cases and corresponding bug fixes.drh2013-08-01
| | | FossilOrigin-Name: 0c8cfdfae215c95cf167f404a1d346690b28e972