aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
Commit message (Collapse)AuthorAge
...
* Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset().drh2017-02-16
| | | FossilOrigin-Name: ff5e733cbffd73faa4046e0f1c7f24bb6e131738
* Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" fordrh2017-02-13
| | | | | consistency. FossilOrigin-Name: 670f10b24230863688270d12ac519609ade2302b
* Fix indexes on expressions so that they can be actually used withdrh2017-02-11
| | | | | a COLLATE clause. FossilOrigin-Name: e464b919f76520b45bb58983c6702db59d820ee4
* Ensure that indexed expressions with collating sequences are handleddrh2017-02-11
| | | | | correctly. Proposed fix for ticket [eb703ba7b50c1a5]. FossilOrigin-Name: 9689d04b8250139e32078b2aa9748edcc6231bcd
* Modify the sqlite3SelectDup() routine to avoid recursing on Select.pPrior.dan2017-02-03
| | | FossilOrigin-Name: a7674ead5be986c66f7d61d598adc7e5728bcd30
* Further minor enhancement and size reduction in drh2017-01-31
| | | | | sqlite3ExprAssignVarNumber(). FossilOrigin-Name: eacfdcf25796ea29b5e63499c3d7397498305ad9
* Performance optimization in sqlite3ExprAssignVarNumber().drh2017-01-31
| | | FossilOrigin-Name: 5987ca1ff94ed3c1666f783bb15b16158aa7e1db
* Factor constant functions out of the inner loop since they are more expensivedrh2017-01-04
|\ | | | | | | | | than the extra OP_Copy needed to move the result into place. FossilOrigin-Name: 80ad317f89c46db0d0d252aefdc036a34a61183d
| * Clean up the implementation of constant function factorization.drh2017-01-04
| | | | | | FossilOrigin-Name: 2ab997e47998d261bd6190bbce5c09f3fbd4cfd3
| * Attempt to factor out constant functions from the interior of table scans,drh2017-01-04
|/ | | | | since functions can often be expensive to compute. FossilOrigin-Name: 62e9270a8057d758621da33adb27fad14225f95d
* Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG.drh2017-01-03
| | | FossilOrigin-Name: f778f58ae4ea3e16f51b94591a2c1e563dcb0cde
* Merge all the latest changes from trunk.drh2017-01-03
|\ | | | | FossilOrigin-Name: c27cd8a8127b81d3176f6a5b9915c9b3c69574fb
| * Defer size checking on row-value assignments for when the RHS is a SELECTdrh2017-01-03
| |\ | | | | | | | | | | | | until after the "*" wildcards have been expanded. FossilOrigin-Name: 36944be6be5c42096f5da84187ff203af26b08ae
| | * Improvements to the way vector assignment size checking is done. Size checksdrh2017-01-03
| | | | | | | | | | | | | | | when the RHS is a SELECT are deferred until after "*" wildcards are expanded. FossilOrigin-Name: 696219b11049930cdbc38f574820f4bbaf8621bb
| * | Fix a typo on a comment. No code changes.drh2017-01-03
| |/ | | | | FossilOrigin-Name: abc27b6023e28a717bfa15648ddc152bda9c7b96
| * Improved assert()s on the sqlite3ExprListDup() logic for TK_SELECT_COLUMN.drh2017-01-03
| | | | | | FossilOrigin-Name: 14da99d41f7968bf816203b4ae11c1f0d1ee0b5d
| * Put an ALWAYS() on an unreachable branch in the sqlite3ExprListDup() routine.drh2017-01-02
| | | | | | FossilOrigin-Name: 2caaaab5e07f6b76d66fbe4e93a4b956937427d8
| * Proposed fix for the row-value TRIGGER UPDATE problem described in drh2017-01-02
| | | | | | | | | | ticket [8c9458e7]. FossilOrigin-Name: 61a442ea2ceec2cbd327dae0ff5214e1f3c69ec0
| * Detect row-value comparison size mismatches even when the size of onedrh2017-01-01
| | | | | | | | | | operand is obscured by an unexpanded subquery. FossilOrigin-Name: 2c4d167ccd4be591487f404de9ee629fd484c8bf
* | Add the built-in affinity() SQL function.drh2016-12-26
|/ | | FossilOrigin-Name: 57e40e1cb1bcd3dd8473d2fdeecc9c7ff3d6192b
* Add check to prevent a VList from growing after pointers to labels have beendrh2016-12-23
| | | | | taken. FossilOrigin-Name: aa23d7eaf69f5ecbf9500b2353846094cae41e6c
* Fix the VList object so that it actually works.drh2016-12-23
| | | FossilOrigin-Name: 9dcd85698af46fd5ba34004ca690d368c4ae3078
* Use the VList object to replace Parse.azVar for tracking the mapping betweendrh2016-12-23
| | | | | | SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. FossilOrigin-Name: 68ecafa1425a41358c88f41efea3262f1b4490f2
* Refactor the Table.nRef field as Table.nTabRef for easier grepping.drh2016-12-14
| | | FossilOrigin-Name: 9cae4c2e300e20304ced0dc8c1415c4922185928
* Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recentlydrh2016-12-07
| | | | | coded instruction. FossilOrigin-Name: 28883e8f3e92a8015fb5f6c8ae8580833931543d
* Prevent the flattening or where-term push-down optimizations from obscuringdan2016-12-07
| | | | | misuses of SQL row values that can lead to crashes or assert() failures. FossilOrigin-Name: 433d16ff3adfede3be53d5b0e0512f37e225591b
* Performance improvement and size reduction in the Expr node allocatordrh2016-12-06
| | | | | function sqlite3PExpr(). FossilOrigin-Name: 2a81763e68cdf9b8c46389b1e1a87bc2084b53e7
* Fix then handling of the (oversized) integer literal -0x8000000000000000.drh2016-11-30
| | | FossilOrigin-Name: 3816bb415ecfd4f36430d0fcbc878e382975de60
* Add a comment to help clarify the EP_FromJoin hack in exprCodeBetween().drh2016-11-25
| | | FossilOrigin-Name: 6df7c5747e0247b14bf015ef4320ddcf6fccf694
* Code constant vector components outside of any loops in CASE and BETWEENdan2016-11-23
| | | | | expressions. Fix for [1a684656]. FossilOrigin-Name: c08aff13ead3e6a8b92c0f031b08f7e556922e70
* Avoid storing redundant fields in sorter records when the sort-key drh2016-11-11
|\ | | | | | | | | and data have fields in common. FossilOrigin-Name: b835cf3e507b910b6a3e0f802ce2c40a72d0c227
| * Avoid storing redundant fields in sorter records when the sort-key and data havedan2016-11-10
| | | | | | | | | | fields in common (as in "SELECT a FROM t1 ORDER BY 1"). FossilOrigin-Name: 0af62fdbd8e2aab14718ff8bcb5934f05463c176
* | Enhance the OP_IdxInsert opcode to optionally accept unpacked key material.drh2016-11-09
|/ | | FossilOrigin-Name: 89d958abbac45f2ca5954080cd9e74ec9a07ebb2
* Use NOT NULL partial indexes when the query is constrained by a singledrh2016-11-02
| | | | | LIKE or GLOB. FossilOrigin-Name: 9b3a3b41b59a7ce7d3dd82c7402d6fdc6a5ca43c
* Size and performance optimizations on the sqlite3ExprAssignVarNumber() routine.drh2016-10-03
| | | FossilOrigin-Name: 109852e51e2cc2674940ba3e5097a92e66f88bb8
* Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing indrh2016-10-03
| | | | | the token length from the parser. FossilOrigin-Name: d15ae2e530cffea60263f203ac5f89b6790f4bd5
* Fix an obsolete comment on a variable definition in expr.c. No code changes.drh2016-10-03
| | | FossilOrigin-Name: 012ff6dd306328f7ea71a6600471c871e7ffe37b
* Fix an always-true conditional left over from the previous commit.drh2016-09-30
| | | FossilOrigin-Name: ab12fce3318db447995e1465f34a1e43cd623d6a
* Fix the Parse.aColCache column cache so that all of the valid entries are drh2016-09-30
| | | | | in the first Parse.nColCache slots. FossilOrigin-Name: 6028502059ccbd3699637b7a70a6d8ce1b7c3dad
* Add the EP_Leaf flag bit to the Expr.flags field to indicate Exprdrh2016-09-23
| | | | | | nodes that do not have substructure. Use that bit to avoid unnecessary recursion. FossilOrigin-Name: 8a6ea455cd1bf42ae0a7f1f1789baf88d782db13
* Use sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in thedrh2016-09-23
| | | | | expression tree, where appropriate. This is both smaller and faster. FossilOrigin-Name: afac0709cec577a7851e3711730712cf12eeb6af
* Remove the internal sqlite3CodeOnce() interface, replacing it with adrh2016-09-22
| | | | | direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. FossilOrigin-Name: c3774c6a5fe48af91fda28e9e18c6ed9053ea992
* Improved performance in sqlite3ExprCodeTarget().drh2016-09-19
| | | FossilOrigin-Name: 75146165dcc1ae1faab46b1a7333ef795d5eeac5
* Revise the implementation of OP_Once so that it is smaller, faster, and usesdrh2016-09-18
| | | | | | less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. FossilOrigin-Name: 6bf5ba10d28f1b0a32aa9a560ae3143a1235eadb
* Fix a out-of-order variable declaration for some compile-time configurations.drh2016-09-09
| | | FossilOrigin-Name: 6ac932c92a61cd68cc5b1816216e4748a5c7b3cd
* Remove an unnecessary branch from expr.c.dan2016-09-06
| | | FossilOrigin-Name: 7cc9746c5414e02012efb8180f9eca2646800e74
* Enhance the sqlite3GetTempRange() and sqlite3ReleaseTempRange() internaldrh2016-09-06
| | | | | | routines so that they use sqlite3GetTempReg() and sqlite3ReleaseTempReg() when nReg==1. FossilOrigin-Name: 4071da2f87a2f24a279ac3bced8c794ad374b47c
* Fix a typo in a comment in expr.c.dan2016-09-06
| | | FossilOrigin-Name: 288e934f356ff6276b3e7581ac0f998ca6e93610
* Simplified logic to extract a column from a row value.drh2016-09-05
| | | FossilOrigin-Name: e8f105c3009e9b667db2afc0088b020a2b94d370
* Fix an assert() so that it does C-compiler does not combine an assert()drh2016-09-05
| | | | | | conditional with a production code conditional and thereby confuse the mutation testing script. FossilOrigin-Name: 2fa5288a7ef43f1fb26037c1b5e84b7b90400623