aboutsummaryrefslogtreecommitdiff
path: root/src/vdbe.h
Commit message (Collapse)AuthorAge
* Fix harmless compiler warnings in builds that use SQLITE_OMIT_DATETIME_FUNCS.drh4 days
| | | FossilOrigin-Name: e11fbf9fd630a7de2e0b0e4b67dded05b905b2a0ba04aa7e915ca9df2d9ebe21
* Remove an unnecessary parameter from sqlite3VdbeRecordUnpack(). Improveddrh2025-06-02
| | | | | comments and assert()s on KeyInfo. FossilOrigin-Name: 387f4c4d98b8fb83f6ae406e4143dabda7766e8752b7f6ca104655e51330c978
* Fix an internal doc typo reported in [forum:e25e581f917|forum post e25e581f917].stephan2025-03-14
| | | FossilOrigin-Name: fa6f6ccdffc50024624306900efd2538c7415d8bdd0f02835b2e9c05adab3cf1
* The reuse-subroutine optimization [c9a3498113074bbc] might have generateddrh2025-01-30
| | | | | byte-code that loops forever. This check-in fixes the problem. FossilOrigin-Name: 0cc4ed8c6e53aca1f5e94c132bedbc7f561c04a77f1a30b965ffe7560634bfeb
* Add the SQLITE_PREPARE_DONT_LOG option for sqlite3_prepare_v3(), that preventsdrh2024-12-06
| | | | | errors in the compilation of the SQL from being sent to sqlite3_log(). FossilOrigin-Name: 870403425493866232cf9e8fa62288861b7d0a4091b15d75727f8bb31da46f94
* Be more aggressive about reusing subqueries that appear on the RHS of INdrh2024-07-04
| | | | | operators that have been replicated due to the predicate push-down optimization. FossilOrigin-Name: 2accf32b6e45a396503c29eecc14a103bcc7b4c313cde921b26b489704060177
* Have "PRAGMA quick_check" compare the number of entries in tables and indexes.dan2024-02-02
| | | FossilOrigin-Name: cc294c041b4c7a044ff344989f872415ced5263a0b654112371b2da7c852a688
* The assertion change at check-in [7946c79567b0ccd3] is insufficient to fixdrh2023-11-29
| | | | | | the problem of a Table object being deleted out from under the OP_VCheck opcode. We need to reference count the Table, which is accomplished here. FossilOrigin-Name: cad269d5e274443c39203a56603b991accc0399135d436996fc039d1d28ec9db
* Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
| | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
* New assert() statements to validate the parameters todrh2023-04-10
| | | | | | | sqlite3BtreeCursorHint(). Fix a problem with the construction of those parameters discovered by [forum:/forumpost/0b53708c95|forum post 0b53708c95]. FossilOrigin-Name: 4c5a3c5fb351cc1c2ce16c33314ce19c53531f09263f87456283d9d756002f9d
* Reduce the overhead of SQLITE_ENABLE_STMT_SCANSTATUS some.dan2022-12-07
| | | FossilOrigin-Name: 212927e97e7be7d237de08359dce0dfb9211ac406b32009a6e15afd79c006475
* Add loops and rows counters to "USE TEMP B-TREE FOR ORDER BY" records. Also ↵dan2022-12-05
| | | | | fix the sqliteHwtime() function so that it returns a 64-bit value. FossilOrigin-Name: 41a0e05e8c0fca3b803fe4bd017a157c172b2ca518356a2a4d4ed4f12d01a1e3
* Add CYCLES scanstat measurement to "USE TEMP B-TREE FOR ORDER BY" lines.dan2022-12-03
| | | FossilOrigin-Name: 365011ae8b7e3fcaa2c4ea9601231a3ef2223e60d7a53ec33013109dca22ad58
* Enhance the sqlite3_stmt_scanstatus() API and add ↵dan2022-12-02
| | | | | sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. FossilOrigin-Name: 55800833645739efeddcacef464c623931cb6aeb43f4219b4e4faf473c25c8bb
* Proposed optimization to the IS NULL and NOT NULL operators that avoidsdrh2022-10-13
| | | | | | loading the entire content of larges strings and BLOBs. Response to [forum:/info/3c08d4715dc05b00|forum post 3c08d4715dc05b00]. FossilOrigin-Name: 45f171565442f9fd6574fb93ae7abe83c168b20be68af42531bc55571450d3ab
* Small performance increase and size reduction by splitting out thedrh2022-07-25
| | | | | sqlite3VdbeGetLastOp() from sqlite3VdbeGetOp(). FossilOrigin-Name: 92ac01d41d46ab73e189b1e5596ea63e5edb5b15639c5d7bdb981b95366c069b
* For debug builds, if the RIGHT JOIN body subroutine contains a jump thatdrh2022-04-23
| | | | | | | escapes the subroutine, then abort the prepared statement with a descriptive error and SQLITE_INTERNAL. This extra sanity check causes many tests to fail. FossilOrigin-Name: 2c5bb2bff26cc70d8cac78ddd12d5ac37ab1472f5f88afbd975950a18ac2804d
* Only invoke sqlite3VdbeClearObject() from a single location, so that thedrh2022-04-04
| | | | | | compiler is more likely to in-line the code. Performance increase and size reduction. FossilOrigin-Name: c6947a96e61f71aa61ca3d70d9e2612d784ab04d60fa88852b03cfce86b1bf2b
* Remove unused P4 types on the Opcode object. Saves a few bytes of codedrh2022-02-25
| | | | | space and simplifies the code. FossilOrigin-Name: aca538435939e6146f9a42e72e3a65030bbc5f646a0bbc7684e43688a0339888
* Change the OP_Next and OP_Prev opcodes so that they invokedrh2022-02-24
| | | | | | sqlite3BtreeNext() and sqlite3BtreePrevious() directly rather than through a function pointer, for improved performance and a decrease in code size. FossilOrigin-Name: 9d13cbbef3cf64f281d3e100f23f1b2ed6e8d65920c7517a84e1e4f964ceff2e
* Fix various issues with the changes on this branch. Add test cases for the same.dan2021-02-17
| | | FossilOrigin-Name: 10538ec6fc1642dfc2ca6cef06ce6cb9e124847b421ccf01f5842064fad379ab
* Remove dead code. Fix RETURNING for INSERT into a virtual table.drh2021-02-04
| | | FossilOrigin-Name: dbfa38699c87ab4bf390666e411dda8d375c7b53b9b4fb131adacbf575867a72
* Working prototype.drh2021-01-29
| | | FossilOrigin-Name: b7ef4dc21f187ff4ff679e823782535188c3814aa6ce720b3a01c6d3ba4ef9f5
* Continuing work toward supporting unsigned 32-bit page numbers.drh2020-07-22
| | | FossilOrigin-Name: 9ce1710aad43cebe5ad50859c7685fb83e40cdd4a60913bd2b7e659bc59942fd
* Infrastructure for the bytecode() table-valued function. The function itselfdrh2020-03-23
| | | | | is not yet implemented. FossilOrigin-Name: 2795f0d633577e0de66b389d9e8e44c55e85975bdc62f1a0b8f93959d19b22bf
* During byte-code generation, strive to avoid jumps that merely jump to thedrh2020-02-07
| | | | | following instruction. FossilOrigin-Name: bcf876e67e75f6709f2b25683a3952bbbb87c672bb9d7af456feebc0ab9f6c31
* Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero.drh2020-01-02
| | | FossilOrigin-Name: 937be22106f7e3f08712febd342d6cb81d129f2d5ab24ce80b3a5c3f9bbde54e
* Enhance the sqlite3VdbeMemAboutToChange() shallow-copy validation mechanismdrh2019-12-23
| | | | | | | | | | | by adding the new OP_ReleaseReg opcode to tell MemAboutToChange() that a range of registers is no longer needed so that the source register can be freely changed. This is a change to debugging and test builds only and does not impact release builds. Fix for ticket [c62c5e58524b204d] and [5ad2aa6921faa1ee]. The previous fix to ticket [5ad2aa6921faa1ee] is backed out by this change since this change is a better fix. FossilOrigin-Name: 36fdeb4f0a66970a35de688b617f90899c89cfdfab659f864df99aa7ebf854ea
* Simplify the bytecode generation for SQL function calls such that thedrh2019-10-30
| | | | | | OP_Function or OP_PureFunc opcodes are coded directly, rather than using the intermediate OP_Function0 or OP_PureFunc0 - opcodes that are now removed. FossilOrigin-Name: 84e02d773d60cffe619104991d21d7f0c68616c0f6bb99686bf54f5306c756d0
* Merge fixes from trunk.drh2019-10-24
|\ | | | | FossilOrigin-Name: 4ec57d88415fa4ea2e99d4a5671074ec6829d6824bc8509d5ae9c978d47d1419
| * Correction to check-in [bec5b6d4d083556d] so that it detects *all*drh2019-10-24
| | | | | | | | | | | | triggers that might perturb the insertion cursor. Ticket [50c09fc2cf0d91ce]. FossilOrigin-Name: 521f1d36282549488a47a434484a24924ee970d29f05a8ae499b7d536bcd692b
* | Claw back some performance from the sqlite3ExprGetColumnOfTable() routine.drh2019-10-18
|/ | | FossilOrigin-Name: e8426acb94179ff49549aced6ea3c26c49ba4761c2f414fa1772d6a031edc79d
* Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32.mistachkin2019-08-09
| | | FossilOrigin-Name: 68b7f2acf4d228f32250e37cbc0eb5d275b512d49071bbb38e1f5634b705f7d3
* Fix more compiler warnings.drh2019-08-09
| | | FossilOrigin-Name: 1b85442b614df0808c10c34ec281282e5dfd93d6d5f9737b51263ffaa4da5c72
* Fix harmless compiler warnings.drh2018-12-31
| | | FossilOrigin-Name: b57c545a384ab5d62becf3164945b32b1e108b2fb4c8dbd939a1706c2079e18b
* Merge enhancements and bug fixes from trunk.drh2018-12-31
|\ | | | | FossilOrigin-Name: 9fb646f29c05bca5f677a2c7c4f45c36bfe0a0c6a88cb7968b4a0459bdd63bb2
| * Additional small performance increase and size reduction to thedrh2018-12-29
| | | | | | | | | | sqlite3VdbeMakeLabel() mechanism. FossilOrigin-Name: 1bdee199a71e0a6c247b85e72de9e3a3099b7179c33288735721facef3b96459
| * A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewerdrh2018-12-29
| | | | | | | | | | | | | | | | | | memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. FossilOrigin-Name: 4a0929ac76d8aa5dd65eac3b83d6bbf41e505e01d175ca0fb2b19ba02d439415
* | Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now showsdrh2018-12-24
|/ | | | | | a separate "INDEX" subtree for each index. SCALAR SUBQUERY entries provide a subquery number that is related back to the .selecttrace output. FossilOrigin-Name: 7153552bac51295c56a1c42ca79d57195851e232509f9e9610375692f48c7e86
* Refactor the sqlite3_normalized_sql() implementation. This is adrh2018-12-10
| | | | | work-in-progress. There are still issues. FossilOrigin-Name: a4c890b0af9786295e6df05022009d8946550adb873535c610be805c2b7a4083
* Fix the sqlite3_normalized_sql() interface so that it rendersdrh2018-12-07
| | | | | double-quoted string literals as "?". FossilOrigin-Name: 0d8e150434bbd179696f1ffe71d1e06cb3d43e6468496c7e481fca8486387bad
* Fix UPSERT so that it checks the target-constraint first and fires thedrh2018-08-14
| | | | | | | DO UPDATE if that constraint is violated regardless of whether or not other constraints are in violation. This aligns SQLite behavior with what PostgreSQL does. Fix for ticket [908f001483982c43cdb476dfb590a1a]. FossilOrigin-Name: 529fb55e3d00472f13446117527b0896827b11e870b581af7fe7cbb7392ef3cd
* Further improvements to bytecode branch testing. Fix cases where thedrh2018-07-10
| | | | | | | macros said a branch could not be taken when in fact it could be. Alter some window function branch coverage macros to indicate that comparison operands cannot be NULL. FossilOrigin-Name: 76e42b7071a71137c0da4f10db4e653ae94a89b56e95cd3f036bff08c9500d08
* 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
* Remove some bad assert() statements from the implementations of windowdan2018-07-06
| | | | | functions percent_rank() and cume_dist(). FossilOrigin-Name: 443f0c286f1659937fd61b4ef2de17d0d015369e5ff5249a9e0c3d0ee4925158
* Add tests to improve coverage of code in window.c. Fix a problem with "SELECTdan2018-06-20
| | | | | row_number() OVER ()". FossilOrigin-Name: f41b6b7317e2b5ac5721a3adff49f298ded29f9e0f887af98faeb0cb7e865ab6
* 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
* Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanismdrh2018-06-11
| | | | | to better detect missed calls to AboutToChange(). FossilOrigin-Name: 793e942205a12eedb7ecc5ad8a27e3e52bbd4e1d50a0d1453d04a83ba728884e
* Fix the build so that it works with -DSQLITE_TEST_REALLOC_STRESSdrh2018-05-28
| | | FossilOrigin-Name: 90ba2b2e5ce2619e68879eb325b43639159f27eb462b9fb6795534c91200a3d2
* When compiling with SQLITE_DEBUG, add run-time checks to ensure that nodrh2018-05-28
| | | | | | statement aborts unless either there have been no writes or else there is a statement journal. FossilOrigin-Name: 5a4542dbcf17a9f7fed600897555c271e1651fd50eb41d0b126725b486e1d14c