aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
Commit message (Collapse)AuthorAge
...
| * Allow CAST expressions and unary "+" operators to be used in the DEFAULTdrh2014-08-25
| | | | | | | | | | | | | | argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. FossilOrigin-Name: 91d8a8d0b792ea5c4fe68fd9caaf3345eddea486
| * A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code.drh2014-08-06
| | | | | | | | | | | | | | The error message is not quite as good, but as this error has apparently not previously occurred in over 8 years of heavy use, that is not seen as a serious problem. FossilOrigin-Name: 0ad1ed8ef0b5fb5d8db44479373b2b93d8fcfd66
| * Ensure that aggregate functions are not used when evaluating a defaultdrh2014-08-05
| | | | | | | | | | | | value for a table column. Candidate fix for ticket [3a88d85f36704eebe134f7]. FossilOrigin-Name: 29ba812825bf06ef230f2480bba0579653f0a52d
| * Improved VdbeCoverage() macros. A few minor simplifications to generateddrh2014-08-05
| | | | | | | | | | VDBE code. FossilOrigin-Name: 01f60027ad1841051fa493a646141445f8971357
| * Further enhancements to IN-operator processing.drh2014-08-04
| | | | | | FossilOrigin-Name: 7fdf26da1d2f40b80f9e44ff6f5af22ace8f95f3
| * Refinements to the enhanced IN-operator logic.drh2014-08-04
| | | | | | FossilOrigin-Name: 92ba2821468ecbfac2469161d81c873de67b2243
| * Enhancements to the code generator for the IN operator that result in muchdrh2014-08-02
| | | | | | | | | | | | faster queries in some cases, for example when the RHS of the IN operator changes for each row of a large table scan. FossilOrigin-Name: 436e884215e2b33ca3fbb555362237b12827c07a
| * A better comment on the generated code for the NULL-in-RHS-of-IN detectiondrh2014-08-01
| | | | | | | | | | logic. FossilOrigin-Name: 9bc1c730a366e75b760b58e7a343d39165b2a469
| * Improved detection and handling of NULL values on the RHS of a IN operator.drh2014-08-01
| | | | | | FossilOrigin-Name: 468e730036edac22cfeb9ea3515aa16e6bcd6650
| * Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarifydrh2014-08-01
| | | | | | | | | | | | comments explaining the IN-operator code, though it is not clear that the comments are correct even yet - more work to be done. FossilOrigin-Name: c11e55fabbc718cb324ecd3540453c25db98f50c
| * The idea of coding IN operator with a short list on the RHS as an OR expressiondrh2014-08-01
| | | | | | | | | | | | | | turns out to be helpful. If the list is of length 1 or 2, the OR expression is very slightly faster, but the ephemeral table approach is clearly better for all list lengths greater than 2. Better to keep the code simple. FossilOrigin-Name: e13175d3579e1045165bab091b3b28951d691704
| * Begin making changes to the IN operator in an attempt to make it run fasterdrh2014-08-01
| | | | | | | | | | and to make the code easier to understand. FossilOrigin-Name: ee0fd6aaf94cda1dce3fe752bfe3b0f83e0043f1
| * Refactoring: Change "pIndex->onError!=OE_None" to use a macro:drh2014-07-31
| | | | | | | | | | "IsUniqueIndex(pIndex)". Easier to understand that way. FossilOrigin-Name: e75b26ee357bb3d3c1a539b05d633ebf314726d7
| * Omit a pointless OP_Null when processing a value-list RHS of an IN operatordrh2014-07-31
| | | | | | | | | | where the LHS is a rowid. FossilOrigin-Name: 1361450a9dfe9476e8df98f370a3695752252245
| * Deactivate the DISTINCT in a SELECT on the right-hand side of an IN operator,drh2014-07-31
| | | | | | | | | | | | since it should not make any difference in the output but dues consume extra memory and CPU time. FossilOrigin-Name: f4cb53651b1e352fae7378878b830a902bcd9248
| * Remove a surplus function prototype. #ifdef code that is not used whendrh2014-07-23
| | | | | | | | | | hex integers are omitted at compile time. FossilOrigin-Name: a5b383e077e4b277a65920f7cc202f32f07aa9ee
| * Change the hex literal processing so that only the SQL parser understandsdrh2014-07-23
| | | | | | | | | | | | | | hex literals. Casting and coercing string literals into numeric values does not understand hexadecimal integers. This preserves backwards compatibility. Also: Throw an error on any hex literal that is too big to fit into 64 bits. FossilOrigin-Name: 6c6f0de59bf96b79c8ace8c9bfe48c7a6a306a50
| * Revise the affinity returned for expressions flagged as 'generic'. Fix for ↵mistachkin2014-06-26
| | | | | | | | | | [9a8b09f8e6]. FossilOrigin-Name: 92f7ad43dbfe4e02490df2f932c3c74fb89064d6
| * Remove the unused second argument from sqlite3ExprCachePop(). Add andrh2014-04-13
| | | | | | | | | | ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). FossilOrigin-Name: ab23abf392175d3e256ff619b13abbbe732a49ed
| * Merge trunk fixes for "x IN (?)" handling.drh2014-03-20
| |\ | | | | | | FossilOrigin-Name: eca35871c34374ca9189c7c9b6d490ac3c30357f
| | * Remove a testcase() that is now always true due to the "x IN (?)" optimization.drh2014-03-20
| | | | | | | | | | | | | | | Add an ALWAYS() around a conditional in the parser that cannot be false. FossilOrigin-Name: d5a1530bdc7ace053d05d1a037551110021d3758
| | * The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] isdrh2014-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. FossilOrigin-Name: 2ea4a9f75f46eaa928ba17e9e91bc0432750d46d
| | * Fix harmless compiler warnings.drh2014-03-20
| | | | | | | | | FossilOrigin-Name: b1435f26b07b2208cfcca557f96342a5bd0d5328
| * | First attempt at getting block-sort to work. This is an incremental check-in.drh2014-03-19
| |/ | | | | | | | | There are many problems still to be worked out. FossilOrigin-Name: 59742dd4c5259883850044d0938248b009ebd045
| * Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coveragedrh2014-02-18
| | | | | | | | | | testing. FossilOrigin-Name: b92d31a97d5fe4606d9ae1393c7f3e052f46bf5a
| * Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL valuesdrh2014-02-18
| | | | | | | | | | | | | | | | on the RHS on the first iteration, then remember the result. There has been logic to do this for year, but it didn't work right and ended up repeating the NULL test on every iteration. This inefficiency was found using the VDBE coverage testing tools. FossilOrigin-Name: 915f6f1c7aab54583729e60bdc1565f25ecc6f74
| * Add logic to do test coverage measurements on the VDBE code.drh2014-02-17
| | | | | | FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
| * Enhance the code generator for INSERT INTO ... SELECT so that the SELECTdrh2014-02-16
| | | | | | | | | | | | generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. FossilOrigin-Name: aa2d8b0e8154dd2f5e2c837dc11ab362b083495b
| * Use the WITH clause to help resolve names for SELECT statements on the leftdrh2014-02-09
| | | | | | | | | | of a compound query. Proposed fix for ticket [31a19d11b97088296a]. FossilOrigin-Name: 67bfd59d9087a987f15f6148efa1ff104983e1fb
| * 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 allow cursor hints to use expressions containing subqueries. Thisdrh2013-12-07
|/ | | | | change fixes the problem seen in the previous check-in. FossilOrigin-Name: bfefc57554853e467ee6aeaba8d08331406fa216
* Do not reuse factored constants that might have had their encodings changed.drh2013-11-21
| | | FossilOrigin-Name: 487f20366ce77f0c90865d10d5aaedd95af98694