aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
Commit message (Collapse)AuthorAge
...
* Add support for the WINDOW clause.dan2018-06-08
| | | FossilOrigin-Name: 19c983b511f1c823fdfb051713681b4c779f02fa83b41189afca0a9b8b72048d
* Merge latest trunk changes into this branch.dan2018-06-04
|\ | | | | FossilOrigin-Name: 83d6416a868fac81a78c9507185a48d00920e4322276245e285946f760915f4a
| * Ensure that sqlite3AuthRead() is only call for TK_COLUMN and TK_TRIGGERdrh2018-06-02
| | | | | | | | | | | | | | expression nodes. This fixes a harmless assert() identified by OSSFuzz. Move the assert() into a position where it is tested even if the authorizer is disabled. FossilOrigin-Name: d0c3beef7cdc680c0768ddd18f766a4ca7be822c1eb1776b2f73b7433d9962dc
* | Add support for window functions row_number(), rank(), dense_rank() anddan2018-06-02
| | | | | | | | | | percent_rank(). FossilOrigin-Name: 91c1cb7a217d0991a08256269f6c55ef185c25362d57b36bfbd2d85dab38e58f
* | Evaluate multiple window functions in a single pass if they use the samedan2018-05-17
| | | | | | | | | | | | window definition. Add xValue callbacks for other built-in aggregate functions. FossilOrigin-Name: c9f0f140941660ff368e5bb5752d54feb1964b7a9eac986d4bfb8f24a1c20d86
* | Start of experimental implementation of SQL window functions. Does not yetdan2018-05-16
|/ | | | | work. FossilOrigin-Name: 3781e520854808fe02ad3fe77dd11fc917448c58ff1fd79123289dd91937decd
* Add new testcase() macros and fix a bug that was revealed when trying todrh2018-04-18
| | | | | cover all the new test cases. FossilOrigin-Name: 266a99f7c068aadbd08157d1d495a428109ad7a32d872f8026e8db0f89c40f91
* Remove the MySQL upsert syntax. As an optional alias to the insert tabledrh2018-04-16
| | | | | name in order to finish out PostgreSQL upsert syntax emulation. FossilOrigin-Name: 810d9f63be46c1452718b05e51c519fb64e9fabf2f1813b5e07b1041dbb71880
* Add support for the "excluded.*" names in the UPDATE clause of an upsert.drh2018-04-16
| | | FossilOrigin-Name: 0203f34faae07fbea0bff2d23b81fb37df8854cded4cdadac5a034132a096b6d
* Merge changes from trunk.drh2018-04-16
|\ | | | | FossilOrigin-Name: 54d96772e78b7f57d5b590aebe34a139ade73629aebe16677372650b33513b1d
| * Reduce the size of the NameContext object by grouping seldom-used fieldsdrh2018-04-16
| | | | | | | | | | into a union. FossilOrigin-Name: dba3095feeeb55b5c0ebe33bdd4be8ba1f24478406685d3a042a69d9c380e742
* | Fix another typo in a comment.drh2018-04-12
|/ | | FossilOrigin-Name: 046bb6d25865041477f046f24c39a4791224f5b622ff70eda909d8ee3c097511
* Code simplifications. New test cases.drh2018-02-26
| | | FossilOrigin-Name: 57508518ef9d003d259ba98dcc32e5104aca26731a7161808741fe10bc0830d0
* Get the "DEFAULT true" and "DEFAULT false" phrases working correctly indrh2018-02-26
| | | | | CREATE TABLE. FossilOrigin-Name: 8002f87d96b3f885cd208e7d204907a33ba60c4057ce2338b71e2de41215b0e5
* Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE,drh2018-02-26
| | | | | and IS NOT FALSE operators. FossilOrigin-Name: cf2abd59be9971a55bd3d6c5df374c6aaa23bf81819482b42f01ee2484dcd739
* Experimental implementation of IS TRUE and IS FALSE operators. All TRUE anddrh2018-02-26
| | | | | FALSE to act like constants if the names do not resolve to a column name. FossilOrigin-Name: 40314bc999af08ab10e654241208842b4bb95b19858d11249444372250ea4160
* In the parse tree, combine LIMIT and OFFSET into a single expression rooteddrh2017-11-14
| | | | | | on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. FossilOrigin-Name: 3925facd942c9df663f9b29b1e6f94f6be14af8c2b99eb691bfc836b4c220826
* Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds.dan2017-11-10
| | | FossilOrigin-Name: 72be33f9c84de3ec4afc40549482417456ca82c1d16b473dc034b144055271e5
* Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWIDdrh2017-11-09
| | | | | | tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. FossilOrigin-Name: 62fe56b59270d9d7372b1bb8a53788a40d20d0f111fe38c61dd6269848592c70
* Remove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is alwaysdrh2017-10-21
| | | | | defined. FossilOrigin-Name: 6ec82acde81a46a75ed5931fc7dd813f2523753106ad7b8f0b544b9da9824d5a
* The EP_Resolved flag on the Expr object is not required for correctness nordrh2017-07-12
| | | | | performance, so remove it. FossilOrigin-Name: 54f55d3b7973e326541a81bfb2e752a2f6618e4fec9a3631b95f28e12e9c6e34
* More aggressive use of EP_Leaf on expression nodes, to help prune searches.drh2017-07-07
| | | FossilOrigin-Name: c1a1d68c8219c8072e60af5c46a30849ae9a04fa1a6b2a8b22b82fec069d691d
* Consider the values bound to SQL variables when determining whether or not adan2017-06-24
| | | | | partial index may be used. FossilOrigin-Name: 7b59c353b805c64689b4ae9df347705acbb5f116346ad77af8ce087da7893747
* Size and performance optimizations to sqlite3ResolveExprNames().drh2017-05-31
| | | FossilOrigin-Name: af8c0fed93c830c50641d95691bb507c31947a15529aba2a88bfaa66b3a3287a
* Optimizations to the Walker object and its methods to make the code a littledrh2017-05-29
| | | | | smaller and to help it run a little faster. FossilOrigin-Name: 6854a34ed708259f2280f7ee56cec09f7fc99810dc739dc2814ddeae286aa2c4
* More size and speed improvements in the expression name resolver.drh2017-03-07
| | | FossilOrigin-Name: e0a3d39f51a50420bae97e2bc9a8c01a5b0d3db8
* Small size reduction and performance increase in the name resolver routinedrh2017-03-07
| | | | | for expressions. FossilOrigin-Name: 1a3554e1d71b666325ff377fae5329d79ce5c05f
* If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced withdrh2017-01-19
| | | | | | | in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. FossilOrigin-Name: 9ed38521617136223a667988aed40e25797faf84
* Handle some obscure "row value misused" cases that could cause segfaults ordan2016-11-11
| | | | | assertion failures. FossilOrigin-Name: fba5fddb1c40af75634b01c1f06d2610df697e01
* Fix harmless compiler warnings.drh2016-10-05
| | | FossilOrigin-Name: 2dde3375124198560c8ff15f87aadde2afd722c5
* Allow deterministic functions in the WHERE clause of a partial index.drh2016-10-03
| | | FossilOrigin-Name: c6e9b9421805c904b20900b711fa0e51773aef3e
* Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly.drh2016-09-16
| | | FossilOrigin-Name: a3e3b3e1c57178ccd38fc7375ec1de8e8ae45372
* Catch vector size mismatch problems during name resolution to avoid laterdrh2016-09-05
| | | | | problems. FossilOrigin-Name: 56562a0346170cf7b72445976864b058437a8ac3
* Rename the Db.zName field to Db.zDbSName to make it more descriptive and todrh2016-08-18
| | | | | | distinguish it from all of the other "zName" variables scattered throughout the code. FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
* Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option.drh2016-08-04
| | | | | | | | | When enabled, the "unknown function" error is suppressed for EXPLAIN and a no-op function named "unknown()" is substituted. This facilitiates using the command-line shell to analyze queries from applications that contain many application-defined functions that are not normally available to the shell. FossilOrigin-Name: b7f30a9ff20d580fdaecdcf2b644d09ad6c2575e
* Only disable the one-pass DELETE optimization if the WHERE clause containsdrh2016-05-04
| | | | | | | a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. FossilOrigin-Name: aae389692a2ed2cc92151d51fb2cd5a16921c469
* Improvements to the application-defined function mechanism so that it isdrh2016-02-15
| | | | | | more compact and runs faster, especially when the application defines thousands of new SQL functions. FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
* Remove an unnecessary memset() from the symbol name resolver.drh2016-01-20
| | | FossilOrigin-Name: da527ddae06460ab4b706cdb871de2188ebaf5ac
* Combine the xFunc and xStep pointers of the FuncDef object into a singledrh2016-01-14
| | | | | pointer xSFunc. FossilOrigin-Name: 0d1b3d7d3ca66cb0b97493f1aeade1703af3c9f4
* Fix typos in requirements text and update requirements marks. No changesdrh2015-12-03
| | | | | to code. FossilOrigin-Name: 8534a46c06601ad35b97caee442371f24c718d0f
* 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