aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
Commit message (Collapse)AuthorAge
...
* | Modify the OP_Once opcode so that it works correctly in trigger ↵dan2011-12-09
| | | | | | | | | | sub-programs. This is a candidate fix for [7bbfb7d442]. FossilOrigin-Name: 557c69055a300b4082830b5f4803091dca1c3140
* | Cherrypick the [7e5b56b1c6] fix for the sqlite3SelectDup() routine drh2011-12-07
| | | | | | | | | | into trunk. FossilOrigin-Name: 7fc535090ca3416706dff4abce10ac2d7f775e02
| * More compact notation for the parse-tree view.drh2011-12-07
| | | | | | FossilOrigin-Name: 0eb3f8b1e3a196811fb54a5e2645debe6119610a
| * Bug fix in sqlite3SelectDup(). Make sure the pNext pointer is valid.drh2011-12-07
| | | | | | FossilOrigin-Name: 7e5b56b1c602d4adfd4496a9c877f3b685b2d360
| * Improvements to the data-structure explain subsystem. Most queries nowdrh2011-12-07
| | | | | | | | | | give a reasonably detailed graph of their parse tree. FossilOrigin-Name: 0aa7d3d2346bdddcc4e1e25ee26d13c8594885e5
| * Begin adding the data-structure explaining subsystem. All is contained withindrh2011-12-06
|/ | | FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
* Do not reuse temp registers originally allocated to a subroutine withindrh2011-12-06
| | | | | | | the main body of the program logic, since if the subroutine is called while the reused temp registers are in use, their values will get clobbered. Candidate fix for ticket [3a77c9714e63330] FossilOrigin-Name: 092d53315e50be42b51ef7b3069c82c32a129b6a
* Add assert() statements and eliminate needless variable assignments in orderdrh2011-10-14
| | | | | | | to get the clang scan-build utility to report zero problems against the SQLite core. Clang's static analysis did find one real problem - but it was in the command-line shell, not in the SQLite core. FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
* Make sure the query optimizer for aggregate queries knows that expressionsdrh2011-10-13
| | | | | (x='a') and (x='A') are different. Ticket [fa7bf5ec94801e7e] FossilOrigin-Name: e43da426e66e6b63d5ed9610a6308aba0089313b
* Fix a problem with SQLITE_OMIT_TRACE that was introduced by the recentdrh2011-09-16
| | | | | OP_Once change. FossilOrigin-Name: 96be3f7b59b3ed4703b907e29db629df34b2b56f
* Add the new OP_Once opcode. Use it to clean up and simplify variousdrh2011-09-16
| | | | | | one-time initialization sections in the code, including the fix for ticket [002caede898ae]. FossilOrigin-Name: 7f00552b739fad79517b042a6ed61abe743a917b
* Materialize subqueries using a subroutine and invoke that subroutinedrh2011-09-15
| | | | | | prior to each use of the subqueries manifestation. Fix for ticket [002caede898aee4] FossilOrigin-Name: 4b8357ee3c4ccdbd34e0cd077efd84cca677f496
* Instead of a temporary b-tree, use a linked-list and merge-sort to sort ↵dan2011-09-02
| | | | | records in main memory in vdbesort.c. FossilOrigin-Name: 7769fb988d9be0f2d8129aaac19620ac88f9b4a6
* Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries.dan2011-07-08
| | | FossilOrigin-Name: 9f14fa56ba31afe3de8b0cf26ed09573a2cc2283
* Avoid unnecessary duplication of SQL parameter names.drh2011-06-01
| | | FossilOrigin-Name: e704e8690ae35decc9769a45cf8d519ccad8b79d
* Refactor the SQL parameter processing so that parameter names for valuesdrh2011-06-01
| | | | | that are optimized out of the prepare statement are not forgotten. FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
* Fix the P4_TRANSIENT constant so that it works correct - so that it reallydrh2011-04-05
| | | | | | makes a copy of the string for the P4 argument. Use P4_TRANSIENT wherever appropriate. Change P4_STATICs of schema names to P4_TRANSIENT. FossilOrigin-Name: bf664b206bf6f5c1941da1986dfe2c0d1831d5e4
* Fix additional cases of possible signed integer overflow, especially withdrh2011-03-08
| | | | | regard to negation. FossilOrigin-Name: 2d5800bd8cfc7d7f5578a71b1aeaa74b2ec4b372
* Fix all known instances of signed-integer overflow. Within SQL expressions,drh2011-03-05
| | | | | | | integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. FossilOrigin-Name: abf21394124a0af46f072793718964cee2ce55d0
* Fix an instance of signed arithmetic overflow and an one bit-shift overflow.drh2011-03-05
| | | | | Mark six other signed arithmetic overflow locations that need fixing. FossilOrigin-Name: 04abab71ecd52f6070b9f84781a3df3d6dba7722
* Remove a no-op code path from sqlite3ExprIsInteger(). Replace it with andrh2011-02-17
| | | | | assert() that proves it always does nothing. FossilOrigin-Name: 7af66d1bd53fd5973281646511e4e1d3b16601a3
* Prevent a segfault when automatic indices try to use a column with andrh2011-02-10
| | | | | | unknown collating function. Ticket [77aa3b1e6592582e38605d36]. This check-in also removes some stray \r characters unrelated to the problem. FossilOrigin-Name: f01030a0df4f94f886ab209ee8766b095da28c1e
* Make sure code *compiles* with each OMIT and ENABLE option. Mostly changes ↵shaneh2011-02-09
| | | | | to test modules. FossilOrigin-Name: 7cc515edc9cade2bc6c74699b3e4153bf2b74ebb
* Add the ability to disable constant factoring using sqlite3_test_control().drh2010-12-06
| | | | | | Add a TCL interface to this new capability and add tests cases to the TCL test scripts to actually use the new capability. FossilOrigin-Name: ad8bc68197f2b47435149c3dbc035f4e7210fc76
* Back out part of the previous change that was not really necessary in orderdrh2010-12-06
| | | | | to fix [80ba201079ea60], and which in fact serves no useful purpose. FossilOrigin-Name: fa9eef865f2f399870305bef82296db25e5b3e90
* Initialize all constants at the very beginning of a prepared statement.drh2010-12-06
| | | | | | | Do not allow constant initialization to occur once control flow has a chance to diverge, to avoid the possibility of having uninitialized registers. Ticket [80ba201079ea60807]. FossilOrigin-Name: c5c53152d68218bb5e7f922271dd7c50da2361c1
* Further enhancements and fixes for explain query plan.dan2010-11-09
| | | FossilOrigin-Name: 73c93f5a2a32ee8c5d07c9ba33b2641e72626627
* Enforce the MAX_EXPR_DEPTH limit while building expression trees during SQL ↵dan2010-10-28
| | | | | parsing. FossilOrigin-Name: 2625eee0cb7f22dba61459b689e33a03ecebb6da
* Changes to remove sqlite3FitsIn64Bits().shaneh2010-09-30
| | | FossilOrigin-Name: 43fef1cab6315f837782ea601d5a2aeb9843ab3c
* Rework the text to numeric conversion routines so that they work with eitherdrh2010-09-30
| | | | | | UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. FossilOrigin-Name: 14eed3a0e0a45c6f2904a3a134aa27c159916f7b
* Replace some unreachable branch instructions with assert() statements.drh2010-09-28
| | | FossilOrigin-Name: 88b84bf18a4b27626f8a0a2d313706ddd4f13749
* Tweaks to help facilitate structural test coverage.drh2010-09-28
| | | FossilOrigin-Name: ff49a5f00b3aa83bdacc95a32d60527c740a6c09
* Test case and fix for the specific failure of ticket [b351d95f9cd5ef17e9d9dbae].drh2010-09-28
| | | FossilOrigin-Name: 57789cfe674dbbd4d5e4663774d1e7c541f7bdc4
* Continuing work toward detecting and fixing shallow-copy misuse.drh2010-09-28
| | | FossilOrigin-Name: d0342f4bb9d25dd1dba3957778faa993fb9cc81c
* Simplifications to the expression code generator. Remove about 80 lines ofdrh2010-09-27
| | | | | older and obsolete code. FossilOrigin-Name: 53f5cfe11516d0496c7760378b6305c3088d479f
* 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