aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
...
* | Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy.dan2018-08-09
|/ | | FossilOrigin-Name: fa0fc01eb48a864f0a3d43f9b805d5ed2e530846ee0c34fcbc2eabd9e5696277
* Fix comments that were made obsolete by the removal of the column cache.drh2018-08-04
| | | FossilOrigin-Name: 2041231d56c7b02b785015ef4d1af260d61326eab1b2a304c17faa3e33f76441
* Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTabdrh2018-08-04
| | | | | opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. FossilOrigin-Name: 80236e81cefdf3d3cda3dbdb6de1575c38e4e248cc4b72ca9ee96d3aa0464bfd
* Further logic simplifications that flow out of the omission of the column cache.drh2018-08-04
| | | FossilOrigin-Name: 7d9072b027cc28dd8ecf5e2686d821017997445c15124eebe2839984622af4db
* Remove additional traces of the column cache.drh2018-08-04
| | | FossilOrigin-Name: db6052e9725368736abd19f14f97376582d35d07f543046d39991d767ed29851
* Completely remove the column cache logic, which has been a persistent sourcedrh2018-08-03
| | | | | | | of bugs for many years. We recent enhancements to the performance of the OP_Column opcode, the removing the column cache actually makes speed-check.sh run faster. It also saves about 1,800 bytes of code space. FossilOrigin-Name: 3f5f60cd7529330209027fdae8129cca420cec1050eae50a7750d0b715b56972
* Improvements to the parser to increase coverage. Fix the parser so thatdrh2018-07-27
| | | | | | at least one expresssion is required after PARTITION BY and within the list of expressions on VALUES(). FossilOrigin-Name: 02204f8b246c868846f39bd44f2e3bc0fab0275aa09ef3a0e5a8e3d58f484ca8
* Constant propagation is now restricted to just the WHERE clause. Thedrh2018-07-27
| | | | | | | mechanism is changed to take affinity and collation into account. This seems to give correct answers. But the search for constant propagation costs 4 million cycles in the speed test. FossilOrigin-Name: 82c67efb723dba387964f690cd459b420e59e3367d9589016597a76531596391
* Initial implementation of the WHERE-clause constant propagation optimization.drh2018-07-26
| | | FossilOrigin-Name: 2fb82ad8ebb6434438c0d235b1239444fb08c8711cea2c5a9ed955fedd0acdec
* Do not abort running queries due to a CREATE INDEX statement. Allow themdrh2018-07-24
| | | | | | to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. FossilOrigin-Name: 2bd593332da0aade467e7a4ee89e966aa6302f37540a2c5e23671f98a6cb599c
* Add a test-control to disable the skip-scan optimization.dan2018-07-12
| | | FossilOrigin-Name: 650a3fe03d61068e06f3097878a777ca8ed713a769444cdb3f8be7d1e19a0b83
* Minor comment changes. Add ALWAYS() macros on some unreachable branchesdrh2018-07-10
| | | | | in the xStep() methods of built-in window functions. FossilOrigin-Name: f2057542cf6860badb4ae6b1a0df94a78d5b2661dabf16f5705b3f8236521bea
* Identify Select objects within a single statement using small sequentialdrh2018-07-10
| | | | | | integers rather than "0x%p". This is more readable and yields the same result on successive runs. FossilOrigin-Name: a7cdc5bc85e0edfcc38f920c2ce91599bcbfdb49522d88b08c64596546d13881
* Enhancements and improved documentation to the byte-code branch coveragedrh2018-07-10
| | | | | | | | | | testing logic. Provide new macros that allow the code to specify that some branch instructions can never take the NULL path and that the OP_Jump opcode is only interested in equal/not-equal. The SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly differently (it provides the callback with a bitmask of the branch action, rather than an integer). FossilOrigin-Name: cd2da7e1ba4e78e68ccf65d4969df963c1e3085930e74419450bda2799381e05
* Enhance the TreeView mechanism so that it shows the window functiondrh2018-07-10
| | | | | data structures as part of the abstract syntax tree. FossilOrigin-Name: a2c0e1bec0d8a6f982572c4c5a8166319b8db0fe586057f7900f0ab72af6554e
* Instead of using a lemon %fallback directive, have the tokenizer try to figuredan2018-06-29
| | | | | out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. FossilOrigin-Name: 022079cb0d67be5ac0a50dd9a4d41ee55ce8df681ecd0a544170d75fc8649978
* Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC.dan2018-06-22
| | | FossilOrigin-Name: 5f04b016467342b5a796bf702ed25b621eb86f2961c1e703d276c93f2cb6aa89
* Fix a problem with using min() or max() as a window function.dan2018-06-19
| | | FossilOrigin-Name: 801074ce63d3f4825cc9fa508c42629a9f74e7f9e35c5f238343bb1cff4fbae1
* Fix problems with using window functions in CREATE VIEW statements.dan2018-06-18
| | | FossilOrigin-Name: 943bccd2a6bd4cf3e0534c1fa46885bfa2ba7b780ddcdff9f1ea4cbb3f04e786
* Add new API function sqlite3_create_window_function(), for creating newdan2018-06-18
| | | | | aggregate window functions. FossilOrigin-Name: da03fb4318fd2613ec5c5b109a3974ac1120c19ed16bed4ca85bbdc4b35c998c
* Fix problem with window functions min() and max() when used with a PARTITIONdan2018-06-14
| | | | | clause and a frame starting point other than "UNBOUNDED PRECEDING". FossilOrigin-Name: 43eb1e75a4d7ac0973ed8589bbaf379c24cdc8eacc4e613610d2d4c24d385dc1
* Merge latest trunk changes into this branch.dan2018-06-14
|\ | | | | FossilOrigin-Name: 5cf5f1808a51f9c2cfc98dd49b4f1ce860b53e935287f89868ce2fdbace8eb06
| * Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling withdrh2018-06-11
| | | | | | | | | | SQLITE_DEBUG, to do run-time verification of the column cache. FossilOrigin-Name: b37614a3670770919a7c7f8157c5fd6578d736447998640b52e5cef8174cadc2
* | Clarify the relationship between a Window object and its associated Expr.dan2018-06-11
| | | | | | FossilOrigin-Name: 0cd55e98a478740032f5569ddc00fa5b0e063e90db6e00ac7598c9b7c2fffeee
* | Merge recent trunk changes with this branch.dan2018-06-09
|\| | | | | FossilOrigin-Name: c71f23590c25b4cecd27722e6c0fc8e3bf320d399c7d9398b7016dd5cf5b05eb
| * Compute the bitmask of indexed columns for each index once when the Indexdrh2018-06-09
| | | | | | | | | | objecct is constructed, instead of recomputing it every time it is needed. FossilOrigin-Name: d735872ec383bbd220b08c61d25db9ff3675d2542b9e7867e7d6323a12e0cc23
* | Add support for the WINDOW clause.dan2018-06-08
| | | | | | FossilOrigin-Name: 19c983b511f1c823fdfb051713681b4c779f02fa83b41189afca0a9b8b72048d
* | Do not flatten sub-queries that contain window functions.dan2018-06-08
| | | | | | FossilOrigin-Name: 236cb75bd1f0d5eb86aa5f52d8d548e7263c34633833dcea9dfc934f142113b8
* | Fixes to allow group_concat() to be used as a window function.dan2018-06-08
| | | | | | FossilOrigin-Name: 89bbc9ba8f66853a7530453f146c9df1baacd8558468016cefa7602911f7578a
* | Merge latest trunk changes into this branch.dan2018-06-04
|\| | | | | FossilOrigin-Name: 83d6416a868fac81a78c9507185a48d00920e4322276245e285946f760915f4a
| * Store application-defined function names as lower-case to avoid the needdrh2018-05-26
| | | | | | | | | | | | | | for case conversions before calling xFindFunction on virtual tables. Avoid using lookaside to store the destructors for application defined functions, as lookaside should be reserved for transient allocations. FossilOrigin-Name: 777189ce88799f93f393fd14fd716111c85bcdcb23690fd561f78ea2bd2ce5da
* | Add support for window functions row_number(), rank(), dense_rank() anddan2018-06-02
| | | | | | | | | | percent_rank(). FossilOrigin-Name: 91c1cb7a217d0991a08256269f6c55ef185c25362d57b36bfbd2d85dab38e58f
* | Allow min() and max() to be used as window functions.dan2018-05-30
| | | | | | FossilOrigin-Name: c16125a884a9131b707ac20033968c4c3177ea79625a15efb64d754568c6c7a0
* | Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" windowdan2018-05-23
| | | | | | | | | | frames. FossilOrigin-Name: 3a203660f1e4da3b8d2d605c494f4843f6e00752f28042b49e11d7d6550dd406
* | Begin adding support for more esoteric window frames.dan2018-05-21
| | | | | | FossilOrigin-Name: bc4b81d60d40583de0f929730159011c1a7696802532ebd02220de3ace94a60d
* | 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
* Make the internal dynamic string interface available to extensions usingdrh2018-05-09
| | | | | | | the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. FossilOrigin-Name: 87f261f0cb800b06ad786f6df16f2c4dddd0d93dfdcc77b4a4eaa22920b56bf1
* In ORDER BY LIMIT queries, try to evaluate the ORDER BY terms first, and itdrh2018-05-03
|\ | | | | | | | | | | it becomes clear that the row will not come in under the LIMIT, then skip evaluation of the other columns. FossilOrigin-Name: c381f0ea57002a264fd958b28e4921cb9c9e73a10fb592f6bb64e6bc9bd16d39
| * Defer loading result column values into registers on an ORDER BY LIMIT untildrh2018-04-30
| | | | | | | | | | we know that the LIMIT does not exclude the current row. FossilOrigin-Name: ce4ef46058f4aaea6623a41255a2e4b69bb24f16a287391df48f6bacdb4c4989
* | Optimizations to the new EQP framework.drh2018-05-03
| | | | | | FossilOrigin-Name: 956fef361a795bd081d8e23ce4075dc8aafcee63ab7275d13b657b529d185b30
* | Fix a dangling-else problem that was causing recursive CTEs to malfunction.drh2018-05-02
| | | | | | | | | | Begin fixing test cases to work with the new EQP output. FossilOrigin-Name: 82ca44b82fed6814c84440ba8bfaa019488ab956e84ac165180e2fcece6facb2
* | Begin reengineering the EXPLAIN QUERY PLAN function to provide moredrh2018-05-02
|/ | | | | intuitive output. FossilOrigin-Name: 70b48a7972dfbb44af3ccd8ccd830e984bec88d80a78b3566a5de86a16e7fc14
* Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes thedrh2018-04-28
| | | | | | database to appear to be empty, causing the next transaction to reset it to an empty database. FossilOrigin-Name: 02e1a13c1f04bb72599b98f51240c78d0d050de264fef5808fd97db3f4c16dac
* Avoid many unnecessary calls to sqlite3ReadSchema() and sqlite3Init() whendrh2018-04-25
| | | | | the schema is known to be valid already. FossilOrigin-Name: 58cf812fd81329e82b3fdd61b7ad2040c9b90d2d80f592b9231e0e1902c8d577
* The ".selecttrace 0x2000" command causes just the top-level parse tree todrh2018-04-23
| | | | | | be displayed, after all transformations, and showing the EQP iSelectId at each level. FossilOrigin-Name: ca34c2dd20ee071e6f8d60f91dbf474515a688ba57949143483da1641246cb25
* Ensure that there are no bind-parameters or incorrect schema references indrh2018-04-23
| | | | | the UPSERT portions of an INSERT within a TRIGGER. FossilOrigin-Name: d47a6bdda0ce967a7b70bc6eb56278c8b79525622381ff4adcf04525eafc1461
* Add the %extra_context directive to lemon, as an alternative to %extra_argument.drh2018-04-21
| | | | | Use this to improve the performance of the parser. FossilOrigin-Name: be47a6f5262a43f477700579512fe7112a0872faedcbbe5c3383d13a08af6440
* Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT.drh2018-04-20
| | | FossilOrigin-Name: c37f39d18d41ae5ba6c4561d87cbbf71f3b6896b86cc5cff9cdf046b02dc521a
* Add the "sorter-reference" optimization, allowing SQLite to be configured sodan2018-04-18
|\ | | | | | | | | | | | | that some required values may be loaded from the database after external sorting occurs for SELECT statements with ORDER BY clauses that are not satisfied by database indexes. FossilOrigin-Name: ef74090a40ceaef2fd93a7613ec99a191ce986811c852e96f4a19719f18af4f0