aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
Commit message (Collapse)AuthorAge
...
* Minor code simplification.drh2018-09-20
|\ | | | | FossilOrigin-Name: 22ae8a52dd2fb744f467c7dccf1d7fe7c7cef0e1dcc897dd492f897e84c9facb
| * A minor code simplification, saved in a branch for future reference.drh2018-09-19
| | | | | | FossilOrigin-Name: 5e458f4a92743effb9a3d3249767424fed8b444a05ca136c4a55d60c4d70c2cc
* | Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a newdrh2018-09-20
|/ | | | | | | EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer. This reduces the size of the Expr object by 8 bytes, reduces the overall amount of code, and shaves over 1 million cycles off of the speed test. FossilOrigin-Name: ad130bb86e74e6ce165fdbdce3a19699510f0e62071c1c7923b5a4538d888c7c
* Extend RENAME TABLE to edit triggers and views. Still buggy.dan2018-08-29
| | | FossilOrigin-Name: 01308bae3acf33f78b5bb90892085eab340df093aafc17e6ccf6a7d6cf324897
* Remove an unnecessary IN_RENAME_COLUMN macro from resolve.c.drh2018-08-25
| | | FossilOrigin-Name: 5858c0bde7c210f07cfa72cee95325847b26733abab4f56301b57cd816931e97
* Fix a problem with renaming a column that occurs as an "excluded.colname"dan2018-08-24
| | | | | construction in an UPSERT that is part of a trigger program. FossilOrigin-Name: bb2f7234968157b605522dea8e115d8772ab4234147894089d6e48fedf5d6a5d
* Avoid incorrectly replacing tokens that refer to a column being renamed via andan2018-08-24
| | | | | | alias. For example, do not overwrite "xyz" when "a" is renamed in "CREATE VIEW v1 AS SELECT a AS xyz FROM tbl WHERE xyz=1" FossilOrigin-Name: ad072a835f97ff418f5919d94f547ce8afb4fc7c7b590deba41f1e62136a79ac
* Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() anddan2018-08-21
| | | | | sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). FossilOrigin-Name: b9ae9a0a188b82d7066f6ef7d21592889df0a61559e9a0e01819e9d5a92c3f36
* Ensure that CREATE VIEW, TRIGGER or INDEX statements can be edited by ALTERdan2018-08-17
| | | | | | TABLE RENAME COLUMN even if they use collation-sequences or user-defined-functions that are not available. FossilOrigin-Name: 540014efd6a048373313c6cd9413de10d5d7114daf537cf5999ccf3c5c3f9358
* Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy.dan2018-08-09
| | | FossilOrigin-Name: fa0fc01eb48a864f0a3d43f9b805d5ed2e530846ee0c34fcbc2eabd9e5696277
* Fix a harmless warning about comment formatting in the previousdrh2018-07-10
| | | | | | check-in. Simplify the ORDER BY dereferencing logic so that it avoids unreachable branches. FossilOrigin-Name: 0f6ec605e131ab3d53b9df32af0a3207146a9abbd22dcabd6ef050b92f96735d
* Fix a segfault caused by having identical window functions in the select-listdan2018-07-02
| | | | | and ORDER BY clause of a SELECT statement. FossilOrigin-Name: 693b4350d741391226a33ab6a05eaad61e8ef1590176f01e8aed2a212e2d6419
* Fix a segfault caused by invoking a regular aggregate as a window-function.dan2018-07-02
| | | | | And some problems with count(*) when used as a window-function. FossilOrigin-Name: 4f3c8a82fd1c5b14d84f2301e34cfc8d52fe4b3a60840c39e895c11f2da529d9
* Further performance related tweaks for sqlite3RunParser().dan2018-06-29
| | | FossilOrigin-Name: 5eb4776598f5bba7ef21a2c58c03105544da73d642d7ffc146f84eff1993d71e
* Fix problems with using window-functions in correlated sub-queries.dan2018-06-23
| | | FossilOrigin-Name: 3e23cfc8133342a4de6813afdc33d726f06d625424b16d0999fb22be51bf8913
* Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC.dan2018-06-22
| | | FossilOrigin-Name: 5f04b016467342b5a796bf702ed25b621eb86f2961c1e703d276c93f2cb6aa89
* Clarify the relationship between a Window object and its associated Expr.dan2018-06-11
| | | FossilOrigin-Name: 0cd55e98a478740032f5569ddc00fa5b0e063e90db6e00ac7598c9b7c2fffeee
* Fix handling of window frames containing negative number of rows. e.g. "ROWS xdan2018-06-11
| | | | | PRECEDING AND y PRECEDING" where (x<y). FossilOrigin-Name: b6d9c7eda853420ae46a05bd432711e8bf9ebaa448c7d90ccfc0bcc338a87706
* 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