aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
Commit message (Collapse)AuthorAge
* Provide hints to the btree layer during the creation of transient tablesdrh2010-08-30
| | | | | | | when it is possible for those tables to use a hash rather than a binary tree. No use is current made of those hints, though assert() statement verify their accuracy. FossilOrigin-Name: 4fead8e714c7e50a9d246467e62bc846ef6180a0
* Fix some compiler warnings in the MSVC build.shaneh2010-08-18
| | | FossilOrigin-Name: 1f5662b7db5d623c8d99c45a8d97a0aa4427593f
* Return an error when parsing "?NNN" if NNN is so large it cannot be stored ↵dan2010-08-17
| | | | | as a 32-bit int. FossilOrigin-Name: fc9014be0f00d046e7ba830a644f9ce93eca5db8
* Do not allow automatic indices for the RHS of IN expressions which are notdrh2010-07-28
| | | | | correlated subqueries. Ticket [8011086c85c6c404014c9] FossilOrigin-Name: 267492d3a7eff7b7b24ed6bd6d6ff55148fe37f3
* Enhance the LIKE/GLOB query optimization so that it works as long as theredrh2010-07-22
| | | | | | | is an index with the appropriate collating sequence and even if the default collating sequence of the column is different. Ticket [4711020446da7d93d99]. FossilOrigin-Name: 9f932655f9eb9fdab16d7deed98b7cad414e0ca6
* The expression list on the RHS of an IN operator can no longer be emptydrh2010-07-14
| | | | | | | because an empty expression list is now optimized out by changes in check-in [c288ac644d0bf]. Therefore add ALWAYS() macros around tests for the expression list being non-empty. FossilOrigin-Name: fd130ae56c0e23f2d5b4a82f1a09e89ed7ae1e85
* Make the result of an IN or NOT IN expression with an empty set on the drh2010-07-14
| | | | | | right-hand side always either false or true, respectively, even if the left-hand side is NULL. Ticket [80e031a00f45dc] FossilOrigin-Name: c288ac644d0bfda2b9bc204dc86df8e74d4f6843
* Make sure the value of an INTEGER PRIMARY KEY column supplied to triggersdrh2010-05-14
| | | | | | and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. FossilOrigin-Name: 636f86095eb1f4bdcfb0c9ed846c4c6b3589c10b
* Remove the OP_Variable optimization of check-in [48b77b04935d894] since itdrh2010-05-12
| | | | | can lead to malfunctions as described in ticket [26ff0c82d1e90]. FossilOrigin-Name: 7838163d087780a6fb403a17641b96f71baec088
* Optimization: Convert an ORDER BY clause into a no-op if the query alsodrh2010-04-26
| | | | | contains a GROUP BY clause that will force the same output order. FossilOrigin-Name: ca9d86baf70f210d331ce93102177c8005c494cb
* Modify the vdbe so that the comparison operator opcodes do not modify the ↵dan2010-03-05
| | | | | data type of operands. Fix for [aa92c76cd4]. FossilOrigin-Name: 8858042fa1449516a2c7dbb991dca3eb6c5794cb
* Comment out unused code when SQLITE_OMIT_FLOATING_POINT is selected.drh2010-01-13
| | | | | Added testcase() macros to boundary conditions in util.c routines. FossilOrigin-Name: dfc6595d347ea87923a857778b68751103f535d2
* Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined.drh2010-01-12
| | | FossilOrigin-Name: 66bab8561926963a87f15ad559cba36545c9892c
* Fix the expression comparison logic to take the COLLATE operator into account.drh2010-01-07
| | | | | Ticket [360c6073e197] FossilOrigin-Name: 44bb1bfe5dedd8054ddd933941ee4112ed8d3b68
* Adjustments to column cache handling in order to restore 100% branchdrh2009-12-30
| | | | | test coverage. FossilOrigin-Name: cc6b959bc1f968e08eea1afd387201d70a0c1e80
* Remove some code in the column cache that is no longer used. Replace it withdrh2009-12-30
| | | | | an assert(). FossilOrigin-Name: 1f890efb7863bd743b9f6ef841e0c0c4e67d76e1
* Remove obsolete comment text from expr.c. No functional code changes.drh2009-12-30
| | | FossilOrigin-Name: 84058be0beb799bc989d73a8d4cd8791ab709395
* Immediately purge entries from the column cache when the associated registerdrh2009-12-24
| | | | | | | | undergoes an affinity change. Ticket [eb5548a849]. Enhance the SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it can disable the column cache for testing purposes, in an effort to prevent future problems of a similar nature to this one. FossilOrigin-Name: ea4e57e1c1b6663ceb12872e31a8503f6c14e3d8
* Change so that deleting an Expr structure requires only one frame per level ↵dan2009-11-23
| | | | | in the expression tree, not two. FossilOrigin-Name: a4380ab326e4b0de29271c824d041193e86b7139
* Remove an unreachable branch from the OP_Affinity suppression logic.drh2009-11-19
| | | FossilOrigin-Name: 598727e6dae87f133c658fa125684f6ad978be60
* Fix a bug introduced with recent optimizations: The unary minus operatordrh2009-11-19
| | | | | is TK_UMINUS, not TK_MINUS. FossilOrigin-Name: 4bd43307090258f8652c995b056101c51b81274a
* Suppress more instances of unnecessary OP_IsNull and OP_Affinity opcodes.drh2009-11-18
| | | FossilOrigin-Name: bf6c0bd1c5568c6292ea0a64c8a5071e1bd3079a
* Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes.drh2009-11-17
| | | FossilOrigin-Name: ebb0c8a3e977dc741704e733b5a5d931d9b27028
* Changes to test_intarray.c so that it build with SQLITE_OMIT_VIRTUALTABLE.drh2009-11-13
| | | | | Added testcase() macros to expr.c. FossilOrigin-Name: f0599d28fabe9e67a7150a91c266cb7655a2002e
* Enhance the OP_Found and OP_NotFound opcodes so that they can accept andrh2009-11-12
| | | | | | | array of registers as an unpacked record in addition to a record built using OP_MakeRecord. Use this to avoid OP_MakeRecord calls during IN expression processing. FossilOrigin-Name: b9eab885cd2ca1a1633329e7036c125e8dba62c5
* Factor out the IN operator code generation into a subroutine. Use thisdrh2009-11-12
| | | | | subroutine to implement both logic and branching versions of the IN operator. FossilOrigin-Name: fcff5b7e2d059ffb8d21df57d0c9648bd876e813
* Factor out the code generator for BETWEEN into a subroutine.drh2009-11-12
| | | FossilOrigin-Name: 5735f60b23460e7677b9c982a26bc13b0f4ed02b
* Generate VDBE code for the built-in COALESCE() and IFNULL() functions. Thisdrh2009-11-11
| | | | | | allows unused arguments to never be evaluated, which is a performance win when the unused argument is a subquery. FossilOrigin-Name: 30055b257c3c65f8123cad5ac6c62c4c6ca2c900
* Create a new datatype "ynVar" to hold "nVar" (number of variable) values.drh2009-11-04
| | | | | | This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. FossilOrigin-Name: 24a4d520d540d92b611abc4eb57dc6da9be4eac6
* Fix compiler warnings on MSVC build.shane2009-11-03
| | | FossilOrigin-Name: 01c4b5b84ec7ce589e20ea66e80011f092ab32f0
* Avoid storing the result register for EXISTS and SELECT in any field ofdrh2009-10-30
| | | | | | the Expr object - simply return the register number as the return value of the function that codes those expressions. FossilOrigin-Name: 7253f8fad1efe6b88666f0f8740d247ff07a7640
* Reduce the memory required by prepared statements that use the IN operator drh2009-10-29
| | | | | with a list on the right and an INTEGER PRIMARY KEY on the left. FossilOrigin-Name: e7984ad2f7e4be30e7198ebd6609a7f6177513e2
* Add the experimental sqlite3_reoptimize() API.dan2009-10-15
| | | FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
* Change the version number to 3.6.19. Fix a couple of incorrect testcase()drh2009-09-23
| | | | | macros associated with the new IS and IS NOT operators in expr.c. FossilOrigin-Name: e3b73394bf9c0391e997079b160eace3589415ab
* Generalize the IS and IS NOT operators so that their right-hand side can bedrh2009-09-23
| | | | | | | an arbitrary expression and not simple the constant NULL. They work like = and <> except that NULL values compare equal to one another an unequal to everything else. FossilOrigin-Name: 98853f6104076c50ea92175e17a3254bfbbd4619
* Combine the OP_Statement and OP_Transaction opcodes.dan2009-09-08
| | | FossilOrigin-Name: aec9dbd8d21c55c3945287a3dfa55d3ed168f977
* Do not reuse function parameters in subsequent expressions since the drh2009-09-03
| | | | | | function call might have triggered a text encoding change. Fix for ticket [2ea2425d34be]. FossilOrigin-Name: f22e388727f0ba0f187cdee51ff8ba17a5d50b8a
* More fixes and comment updates.dan2009-09-01
| | | FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
* More fixes for test cases.dan2009-08-31
| | | FossilOrigin-Name: 85d9f23be1e8673dbda42e43b9b23332ada9225f
* Fix some authorization callback problems.dan2009-08-31
| | | FossilOrigin-Name: 8a746fbfd51f70f56e25ade59df49d2dc03c131c
* Fixes for new triggers scheme.dan2009-08-30
| | | FossilOrigin-Name: 9eb91efda5241609ff18ff15ef5eaa0e86788eab
* Changes to support recursive triggers.dan2009-08-28
| | | FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
* Change the expression code generator to account for the fact that the newdrh2009-08-21
| | | | | | sqlite3AtoF() never returns NaN. Also, clarification of a comment in where.c. FossilOrigin-Name: 75f596a04a74eb3a538c7be5b41756c970a21a1b
* Change the way an Expr that has been converted to TK_REGISTER stores its ↵dan2009-08-19
| | | | | original opcode. The previous method, overloading Expr.iColumn, did not work in all cases. FossilOrigin-Name: 71ea9d0e148fbd3d633651c61c81044e37cf88b9
* Merge with 709e16145e.dan2009-08-19
|\ | | | | FossilOrigin-Name: 6c8a0e2b37d9f4399ef90a44cbc492526201d0d5
| * Unknown functions in the DEFAULT clause of a table cause an error whendrh2009-08-18
| | | | | | | | | | the DEFAULT value is needed. Ticket [2d401a94287b5]. FossilOrigin-Name: 093917d7fda442012dfd1a1b2f20f85d2eefa093
* | First version of sqlite_stat2 (schema forces exactly 10 samples).dan2009-08-17
|/ | | FossilOrigin-Name: dd96bda2a85c1d94fb4a0bf5f27e2977f7f7e42e
* When extracting values from a record to use in an UPDATEd version of that ↵danielk19772009-07-27
| | | | | record, apply OP_RealAffinity if required. Fix for #3992. (CVS 6945) FossilOrigin-Name: 3616766a6f5c8179cc55444c29ecf29cc69f88ce
* Remove an unused variable from sqlite3ExprListDup(). Ticket #3973. (CVS 6898)drh2009-07-16
| | | FossilOrigin-Name: 17c05aefd6c9e938a4cc5d3de348d8c8fdc9394d
* Fix the comment on the sqlite3PExpr() subroutine. Ticket #3924. (CVS 6789)drh2009-06-19
| | | FossilOrigin-Name: 4bb96db6b4d2cfa71430a2646c1082a494e3519f