aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
Commit message (Collapse)AuthorAge
...
* | Recompute the set of columns used for each table when the table isdrh2020-03-21
|/ | | | | involved in query flattening. FossilOrigin-Name: a9bb71ba708ba72255ba8d18c9856e38ddf53eae2d61c8435149354fb2b2459e
* Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce().drh2020-03-11
| | | | | Other changes to make the new code cleaner. Test cases added. FossilOrigin-Name: d7f18489978fdbbe3ab317485518cac91a75416ccef55898301afdd76d3b415b
* Enhanced detection logic for preventing the use of static schema expressionsdrh2020-03-10
| | | | | by code generating routines. FossilOrigin-Name: 5f60b527b938c0778e8f725c635ce0dc5ed7a4e01fd6252aa2cdb64da2f625bc
* Report an error if the main, or any other, database encoding is modified by ↵dan2020-03-05
| | | | | an external process (perhaps using the backup API) after the db has been opened. FossilOrigin-Name: 895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862
* Change the sqlite3.pDfltColl (the default collating sequence for thedrh2020-03-05
| | | | | | | | | database connection) so that it is the collating sequence appropriate for the database encoding, not the UTF8 collating sequence. This helps to ensure that the database encoding collation is always used, even for expressions that do not have an defined collating sequence. Ticket [1b8d7264567eb6fc]. FossilOrigin-Name: 4a5851893c3d71cc823b6ab5df5e58a852cd322fff26290f1ea05b63d67f564a
* A better (smaller and faster) solution to ticket [4374860b29383380].drh2020-02-17
| | | FossilOrigin-Name: abc473fb8fb999005dc79a360e34f97b3b25429decf1820dd2afa5c19577753d
* Take care when checking the table of a TK_COLUMN expression node to see if thedrh2020-02-17
| | | | | | table is a virtual table to first ensure that the Expr.y.pTab pointer is not null due to generated column optimizations. Ticket [4374860b29383380]. FossilOrigin-Name: 9d0d4ab95dc0c56e053c2924ed322a9ea7b25439e6f74599f706905a1994e454
* Increase the default upper bound on the number of parameters in a singledrh2020-02-12
| | | | | SQL statement to 32766 (from 999). FossilOrigin-Name: 2def75693a8ae002375aff80db0e6c970c75f75e8b6ba64f2c518712badb0ae8
* Simplify the code by removing the unsupported and undocumented drh2020-02-07
| | | | | SQLITE_HAS_CODEC compile-time option FossilOrigin-Name: 5a877221ce90e7523059353a68650c5fdd28ed032807afc2f10afbfbf864bdfe
* Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if ↵dan2020-02-04
| | | | | database corruption is encountered. FossilOrigin-Name: 57c36a293e16bb4d9652874124ee1447bef278e08664bc8dd0070a0ee2ef1173
* Faster decoding of 32-bit variable-length integers in cases were we do notdrh2020-01-28
| | | | | need to know the number of bytes in the encoding. FossilOrigin-Name: 59a31b16b54a0068c81ee65bc2fa905c2c826e98da3a7ffd8c3ea860a2827b4a
* Rearchitect the way in which filenames are stored in the Pager object so thatdrh2020-01-10
| | | | | | | the sqlite3_uri_parameter() interface will work from journal and WAL filenames too. This check-in implements the central idea, and compile and runs somewhat, but crashes on an extended test. FossilOrigin-Name: 2ae77bd2335708343bce4541b4d2cf16edfe3fd5bc2dfb93757238c926aa960b
* Fix a problem that restricted edgy functions in TEMP tables.drh2020-01-09
| | | | | New test cases added. FossilOrigin-Name: 8878c40753566a8c4ccd1d413019cabde7569b947f730527d13bfc3db384e97d
* Check for whether or not it is safe to use non-innocuous functions as thedrh2020-01-08
| | | | | function is being coded, not when its name is resolved. FossilOrigin-Name: 1da802d54b689a462e1fe899c6ffa08ef14d34f36728b14b055b5a76b1edc274
* Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA.drh2020-01-07
| | | FossilOrigin-Name: f5fcf1fbc6473f8e91315b14d67745f2748010641b7463d1f4ca51e6fdf97462
* Refactor names of flags for improved legibility.drh2020-01-06
| | | FossilOrigin-Name: 411e8ec2219bb4181aaf2209fb1e7baf5e8df8b8c8adb82a69b48cf7e8e7e7d4
* Refactor the names of the new controls for restricting what actions the schemadrh2020-01-04
| | | | | can take behind the application's back. FossilOrigin-Name: 65d7d39a858c51ffd781f5a6335e029895e597aeb1e1ccdadea8ce79c8ad412f
* Enhance PRAGMA function_list so that it shows all instances of each FuncDef,drh2020-01-04
| | | | | | the number of arguments, the encoding, the type, and the flags. Use this capability to locate and fix incorrect function flags in the standard build. FossilOrigin-Name: 9ca906d24a2e88eddb2fd067783512b66cfc49dce1596d816a1c38a09d128218
* Invert the SQLITE_FUNC_SAFE bit to be SQLITE_FUNC_UNSAFE. The externaldrh2020-01-03
| | | | | | bit is still SQLITE_INNOCUOUS. It gets inverted as the appdef function is registered. FossilOrigin-Name: 1c266cb3be46d26e640752a99979acb1a1809361ba70ca3fca981c42383c360e
* When UNSAFE_IN_VIEW is disabled, only allow functions in views that aredrh2020-01-03
| | | | | tagged with SQLITE_INNOCUOUS. FossilOrigin-Name: 9ee79b254e4c51a2a41f7ed49ad389d8d7105e649483adb79772052fa0ade3c0
* Merge fixes from trunk.drh2020-01-03
|\ | | | | FossilOrigin-Name: 002406df22995880d002be2e4cebb4d560283d4e0d7a4b5a34edcb110802b543
| * When generating the name of a view (or common table expression) because thedrh2020-01-03
| | | | | | | | | | | | | | SQL does not specify a name, avoid the names "true" and "false" which might be confused for the boolean literals of the same name, leading to an inconsistent abstract syntax tree. FossilOrigin-Name: ff9492d3ff733c222ea67f23d478df1547641b5e2e6dd870b0b29e25c13f3739
* | Merge enhancements from trunk.drh2020-01-02
|\| | | | | FossilOrigin-Name: 091403a6705f5f1352c76eacbfdca75fe0bab12ab9b156842641de07c38d3f66
| * Merge the latest enhancements from trunk.drh2020-01-02
| |\ | | | | | | FossilOrigin-Name: bd57e6d923d3b04f0a07aaf18bf389d2b2b7efc7c57e8cb37e6ef910662d8397
| | * Ensure that when code for a scalar SELECT featuring window functions is ↵dan2020-01-01
| | | | | | | | | | | | | | | generated more than once by the planner, separate ephemeral tables are opened for each instance. FossilOrigin-Name: ce1417325273aba866767349b55d9bbfb61a08e716bebda2122918a9657ee38c
| | * New test-only SQL functions: implies_nonnull_row(), expr_compare(), anddrh2020-01-01
| | | | | | | | | | | | | | | | | | | | | expr_implies_expr(). The SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control is modified to toggle internal function access on and off for a single database connection. FossilOrigin-Name: 473892a8eceacf24d57fd0c72ff2a0b8be4e0d75e0af7a30bdb24fbc3b453601
| | * Factor out code generation for in-line SQL functions into a separate routinedrh2020-01-01
| | | | | | | | | | | | | | | inside of expr.c. FossilOrigin-Name: 586a65a28fc6cac77309612abc32a2e1017c65e0387f9f438f5d8ac8406da8eb
| * | Refactor names. Use "small" instead of "mini" to describe the smallerdrh2019-12-31
| | | | | | | | | | | | | | | of the two lookaside memory allocation sizes. FossilOrigin-Name: 88d244983854cdc1a369c5df09ae00f1098784db768ba4e17b963d187dcb1009
| * | Merge recent enhancements from trunk.drh2019-12-31
| |\ \ | | | | | | | | FossilOrigin-Name: 39d55579376906f212271ce9b2d367e3ad029fb173f22c7253312b467970208a
| * | | Cleanup and performance enhancements for mini-lookaside.drh2019-12-13
| | | | | | | | | | | | FossilOrigin-Name: 74805668430051032ae9b256c84e252755ee03075fc08293c948675ed40ec280
| * | | Merge fixes from trunk.drh2019-12-13
| |\ \ \ | | | | | | | | | | FossilOrigin-Name: 9c471195f6d3e4b00e2d0f909b306a4036352082dca5f016a8eece226e82163d
| * | | | Tie up the loose ends in the ExprList size reduction.drh2019-12-13
| | | | | | | | | | | | | | | FossilOrigin-Name: 59d0f3afe5249a2a6453fe7bc810c2c7beb896d3800174c7c90f9304c0b1ad88
| * | | | Work toward reducing the incremental size of an ExprList object to 24-bytedrh2019-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | per entry, from 32-bytes (on a 64-bit machine). This helps the new mini-lookaside allocator to run better by avoiding excessive reallocs. The current change mostly works, but still has a few loose ends to tie up. This check-in is merely a snapshot to save my work. FossilOrigin-Name: fdda76cfb01bf2b19522ac4558b443634d28a69b0828677c42682b645eae1f3b
| * | | | Change the name of the Expr.a.zName field to zEName, so that it has a namedrh2019-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that is distinct from other fields and variables and is hence easier to grep for. FossilOrigin-Name: d3783357f8fa76c42a86f12b214522f0388c37773c36ab8c5ce0623abbc4436a
| * | | | Change the size of a mini-lookaside allocation to a macro (MINI_SZ) ratherdrh2019-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | than a magic number (128). FossilOrigin-Name: 5e1949bca998f3c8c23a8ebf01c7a2e7a2af1fdad43886271e1fe0f25411551d
| * | | | More efficient implementation of a lookaside allocator that supports mini ↵numist2019-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | (in this case, harcoded to 128B) slots. FossilOrigin-Name: b02fdc09c838f355d9efce57f817d6a86153153b4a1f2b763914f4aaa34cb76e
* | | | | Experimental branch with new sqlite3_db_config() options that could possibledrh2019-12-31
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | enhance security for applications reading potentially compromised database files. FossilOrigin-Name: 96a2db2612f2e47bbec0e374a242820c88f03c42ccbf8467abccaef41469bae2
* | | | Also set the SQLITE_DIRECTONLY flag on the load_extension() function.drh2019-12-31
| |_|/ |/| | | | | FossilOrigin-Name: 3bd095a53119c368fe30e539983588b27957203344cf427405b9a64784b8eba7
* | | Add the OP_FinishSeek opcode which completes an OP_DeferredSeek if the seekdrh2019-12-29
| | | | | | | | | | | | | | | | | | | | | | | | has not already completed. Also add the sqlite3WhereUsesDeferredSeek() interface to the query planner. The UPDATE implementation adds an OP_FinishSeek before running the final OP_Insert if one is needed. Ticket [ec8abb025e78f40c] and also an assertion fault reported by Yongheng. FossilOrigin-Name: 21ef6e99331210b80fa7c71b4f02e8f768a748d01aef884368af2f6b51a067e0
* | | When the sqlite3WindowRewrite() routine detects and error, have it convertdrh2019-12-25
| | | | | | | | | | | | | | | | | | | | | | | | the SELECT statement into just "SELECT null" so that it does not leave the parse tree in a goofy state that can cause problems with subsequent code before the stack has a chance to unwind and report the error. Ticket [d87336c81c7d0873] FossilOrigin-Name: fa58aad48a788802b13a819e49f9b8787f713bbe395c46c7295e821c52c81738
* | | Early detection of database corruption in balance_deeper().drh2019-12-23
| |/ |/| | | FossilOrigin-Name: 61c2233654158e65a3d3baeea947903a919a569fcc4a5b342b2e9a68cec1b6f3
* | *Remove* the macros, not just comment them out.drh2019-12-13
| | | | | | FossilOrigin-Name: e5dc2939d3e8694d648fc9b73b1174da5b1349e20fbb9cf1c91268939f308f89
* | Remove unused macros formerly used to define built-in aggregate functions.drh2019-12-13
|/ | | FossilOrigin-Name: 3ef0d44edd0354cda9b6237f992cb67a2170ee8f1f464b1f38ac36e3a133bc71
* Avoid infinite recursion in the ALTER TABLE code when a view contains an ↵dan2019-12-09
| | | | | unused CTE that references, directly or indirectly, the view itself. FossilOrigin-Name: 1d2e53a39b87e364685e21de137655b6eee725e4c6d27fc90865072d7c5892b5
* Fix a problem in ALTER TABLE that could occur if an index, view or trigger ↵dan2019-12-05
| | | | | in the schema features an expression of the form ((SELECT ...) IN ()) where the SELECT statement uses a CTE. FossilOrigin-Name: 7e5ad8e0ab7ee91a5ccb19a9654d6a036233f74d2fdc45f7315feb3d9d035fd4
* Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looksdrh2019-11-16
| | | | | like a shadow table name. FossilOrigin-Name: 6aef58b629d89955f85f65191ba2be67b2adfac4f0327fe9a7141cb2705dbc00
* Break out the test for writable shadow tables into a separate subroutine.drh2019-11-16
| | | FossilOrigin-Name: 8ad34d36a141fa8f5d9bd784dfeb892c983897a6dc6b867607cc668508acf944
* Fix table-valued functions so that they will work as the right tabledrh2019-11-15
| | | | | in a LEFT JOIN. Ticket [2ae0c599b735d59e] FossilOrigin-Name: 2c35d3f67b67a53ead08b1c395e7ca8e5bf65f94a5a962a0562994a3c66c95d9
* Ensure that the same subquery does not go through the window-function rewritedrh2019-11-14
| | | | | | more than once, even when that subquery is part of a virtual table constraint that lacks the omit flag. FossilOrigin-Name: d0bc7db6b0a53edc04815622c46250d26f526f56e59f14875f4e18c75b49000d
* Ensure that the main filename and the journal filenames in the pagerdrh2019-11-12
| | | | | object are all correctly double-zero terminated. FossilOrigin-Name: df51ae19c1aa4c26f2dcd427eddc1c9cc24b698e1ab0a948b198a57432e25e1e