aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
Commit message (Collapse)AuthorAge
* Do not allow table-valued function syntax on ordinary tables and views as thosedrh2015-11-21
| | | | | | objects are not table-valued functions. Fix for ticket [73eba7ba5c7c0fc]. FossilOrigin-Name: ff5716b89f99d9c4568a39f1f52524528a631623
* Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores thedrh2015-09-19
| | | | | same behavior exhibited by all prior releases.) FossilOrigin-Name: b1278301e37220a075c1bae88c0fcca2ef7a7d5c
* Omit all use of Expr nodes for TK_AS, as those nodes no longer served a usefuldrh2015-09-05
| | | | | purpose and in fact interferred with the query planner. FossilOrigin-Name: 7ab0b258eabfcfb7f1b0bd1b12e166d2f267823d
* Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive namedrh2015-09-01
| | | | | for what that bit means. FossilOrigin-Name: ff5137a6dd8cb2a9b629b3a244f52665e9c9ebce
* Not only date/time functions, but also functions like sqlite_version() anddrh2015-08-31
| | | | | changes() need to be prohibited from use inside of indexes. FossilOrigin-Name: 487131303980f15dd5e1b6695b4f29efda229eb8
* Make the distinction between truly deterministic functions and date/timedrh2015-08-31
| | | | | | | functions which only return the same answer for a single query. Only truly deterministic functions are allowed in indexes. Add new expression index test cases. FossilOrigin-Name: c77554b5c42327106a7b90334e9cc3c07b007c76
* Merge enhancements from trunk.drh2015-08-26
|\ | | | | FossilOrigin-Name: ec6ddb3d481d005c304a26c948c9c808586750e9
| * Evaluate expressions only once when the same expression is used in both thedrh2015-08-26
| | | | | | | | | | result set and in the ORDER BY clause. FossilOrigin-Name: c2f3bbad778504681b39ab9399a1eb3c1a35ab3f
* | Add code to maintain indexes with expression arguments across DELETE, INSERT,drh2015-08-25
| | | | | | | | | | | | | | and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. FossilOrigin-Name: efaabdb71626bdc03768e87e186c72f6f3da75b2
* | Changes toward being abld to process indexes on expressions. Not there yet - drh2015-08-25
|/ | | | | this check-in is just movement in that direction. Some tests are failing. FossilOrigin-Name: 0ad0f8d77d8f95ca2ffb7745d18219f5e87dc89c
* Remove some redundant code: Call sqlite3ResolveExprListNames() rather thandrh2015-08-24
| | | | | calling sqlite3ResolveExprNames() in a loop - in two places. FossilOrigin-Name: bdaf66465b6b1bdad10c08d9527b98e7000a41e4
* Fix a couple C99-isms that cause compile errors on MSVC.drh2015-08-20
| | | FossilOrigin-Name: bc577fe6cbbe5385d81d6fa0f3c34bb1c833f0d6
* Fix corner-case memory management issues in table-valued functions. Changedrh2015-08-20
| | | | | | virtual table handling so that if xDestroy is missing the table is eponymous only even if xCreate is present. FossilOrigin-Name: 774e6a14b124bbae4da0e188b62aee9ffb8c3745
* Correctly handle empty function argument lists on table-valued functions.drh2015-08-20
| | | FossilOrigin-Name: a7acc7878b8bb8e27a0da67b2dbb7bd51df4859b
* A list of arguments following a table name translates into equalitydrh2015-08-19
| | | | | constraints against hidden columns in that table. FossilOrigin-Name: 40e12cfe4c29475417ba89fb637b4c763cf74016
* Minor refactor of the SrcList object so that it is able to hold the argumentdrh2015-08-19
| | | | | list to a table-valued-function in the FROM clause. FossilOrigin-Name: b919376147597c4b73421abe5788f893baf1560b
* Test that the left and right sides of a compound SELECT operator have the ↵dan2015-06-23
| | | | | same number of expressions in the expanded expression list before beginning to generate code. FossilOrigin-Name: 4df852ce26c95d5d23c83dbe9c59d2c3435acddf
* CTEs have never add working rowids. So disallow the use of the "rowid" columndrh2015-05-27
| | | | | within CTEs. FossilOrigin-Name: 0055df0445932a43e42b318ef88672dcbe312c3a
* Remove a faulty assert() statement.drh2015-05-07
| | | FossilOrigin-Name: 5f2539da8cb9df99029ab4ab7023804722697673
* Fix a faulty assert() in the "AS" alias resolution logic of the parser.drh2015-04-23
| | | FossilOrigin-Name: b5e43602833249aa4b73337bf85b7f308450dab6
* In the expression-tree comparison routine, do not compiler Expr.iColumndrh2015-04-17
| | | | | and Expr.iTable for TK_STRING expressions. FossilOrigin-Name: b67bb16c72c3e015ea82665ada9b5d3289ef6fb2
* Always resolve symbols in all ORDER BY clauses of a compound-SELECT, evendrh2015-04-17
| | | | | illegal ORDER BY clauses. FossilOrigin-Name: 6c39ef73d5899eabdb46db50c2b00c2d8381a41a
* Fix a faulty assert() statement in the name resolver associated with thedrh2015-04-15
| | | | | | optimization that converts compound selects with ORDER BY COLLATE into subqueries. FossilOrigin-Name: c72324ef9243946550ae3d974826502b1cc5eb10
* Correctly handle COLLATE operators applied to COLLATE operators in andrh2015-04-15
| | | | | ORDER BY clause. FossilOrigin-Name: 9e1f837b08facbc7a2b6196770599a58233e725c
* When doing the (dubious) conversion of double-quoted identifier into stringdrh2015-04-15
| | | | | | literal for MySQL compatibility, be sure to also clear the iTable value from the Expr entry to avoid an assert. FossilOrigin-Name: d7211b68107ea669de39e0aa81a1be40901e1487
* Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses ↵dan2015-04-04
| | | | | attached to compound SELECT statements. FossilOrigin-Name: 427b50fba7362e5b447e79d39050f25ed2ef10af
* Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc".drh2015-02-09
| | | FossilOrigin-Name: 4ef7ceced2b0000d21f7f8014384c04a0e4661d3
* Fix over-length source code lines in resolver.c. No logic changes.drh2015-02-09
| | | FossilOrigin-Name: c12edb85076d0832e3a0abbbba4d07f3cb5d7f0e
* If a table is the right operand of a LEFT JOIN, then any column of thatdrh2014-12-04
| | | | | | table can be NULL even if that column as a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. FossilOrigin-Name: 6f6fcbe4736b9468a495c684d5eebc8bfe5c566a
* Increase the resolution of the second parameter to the likelihood() SQLdrh2014-10-25
| | | | | | function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. FossilOrigin-Name: 0f08924fe0c52a85a103f67bee9809e0f8f884b0
* Enhance the automatic index logic so that it creates a partial index whendrh2014-10-24
| | | | | doing so gives the same answer for less work. FossilOrigin-Name: d95d0313c447f5baeabdb17284d8606331ab7d49
* Do not flatten aggregate subqueries that contain min() or max() functionsdrh2014-09-15
| | | | | | | so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. FossilOrigin-Name: 0bdf1a086b3946722f4d4b328e25917f61c14713
* Fix typos in comments. No code changes.peter.d.reid2014-09-06
| | | FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
* Updates to evidence marks and requirements. No changes to code.drh2014-08-11
| | | FossilOrigin-Name: 62d38308b519a5362f559b296a0cf1acccf8f673
* Update requirements marks. No changes to code.drh2014-08-08
| | | FossilOrigin-Name: 7556bd9aa5db1b9cd92d0e48effcda9fe96f3128
* Add the likely() function for symmetry with unlikely(). The likely(X)drh2014-06-17
| | | | | function means the same thing as likelihood(X,0.9375). FossilOrigin-Name: 38965484199153e3e5b999f5196c1d66e5296f60
* Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca].mistachkin2014-03-04
| | | FossilOrigin-Name: 5bcd0b1ca5d73ffbe7978ee9d73fe5e769e3d3a2
* Make sure "rowid" columns are correctly resolved in joins between normaldrh2014-02-12
| | | | | tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. FossilOrigin-Name: 5d01426ddfb2d47c57f93f71378594e637424be0
* Make sure the update hook is not invoked for WITHOUT ROWID tables, asdrh2013-11-26
| | | | | | | the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. FossilOrigin-Name: 0978bac6b8aee229d7a0d148546f50d380d06a06
* 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
* Changes to make the new constant expression factoring logic more generaldrh2013-11-15
| | | | | and more testable. FossilOrigin-Name: d10fb49a92f5f6e93093ae83544e5aec7984361a
* Fix harmless compiler warnings.drh2013-11-08
| | | FossilOrigin-Name: 0077c0772a884b54d81fa3733aac6f0c364ef1a8
* Report an error when trying to resolve column name "rowid" in adrh2013-10-23
| | | | | WITHOUT ROWID table. FossilOrigin-Name: 36bcc9cb885523fba2f3b0d152de9e08073668c1
* Fix a typo in a requirements mark comment. No changes to code.drh2013-10-16
| | | FossilOrigin-Name: e5a439cfa5c921187e4aa7050832ec2660fba13d
* Additional test cases and requirements marks for the unlikely(),drh2013-10-11
| | | | | likelihood() and instr() functions. FossilOrigin-Name: 5f01cd36ee8678a07b79f9e01855daffb6bb8c43
* 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
* | Additional unlikely() test cases. Logic tweaks to support test coverage.drh2013-09-11
| | | | | | FossilOrigin-Name: 5d00cce74a7aefaf30022ae971ab1e0451e0ad6e