aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeaux.c
Commit message (Collapse)AuthorAge
...
* Refactoring various names. No changes in the resulting machine code.drh2020-06-19
| | | FossilOrigin-Name: 7bb08b1bfcf184e4b59c8c9028926a0052612ff6a6731914ccdb8dee07ea4a98
* Performance optimization in the transfer of error messages from statementsdrh2020-05-26
| | | | | to connections. FossilOrigin-Name: 0e898f4fed1c851cb90f940175110e632a20668a285d39f5f94f7358c3064882
* Add sqlite3BeginBenignMalloc() and EndBenignMalloc() calls to debugging ↵dan2020-05-16
| | | | | function sqlite3VdbePrintOp(). FossilOrigin-Name: 6f857d0e9e0893524c2f828a1a1600fefb6efeff12ecbc9bb1da106a5aff9c1c
* Ensure that the master-journal name is in a form suitable to be passeddrh2020-05-04
| | | | | into sqlite3_uri_parameter(). FossilOrigin-Name: d1ba026d882f070b351280028e2fa88a3cca59b46d4683302e24c6677e0951b9
* Corner-case changes to the bytecode virtual table for testability anddrh2020-05-02
| | | | | correctness. FossilOrigin-Name: baa720e4a88f268ed95337daab5f434fd3263b00f09101cddc6424765bf3b722
* Fix a minor problem with EXPLAIN QUERY PLAN for triggers.drh2020-04-02
| | | FossilOrigin-Name: 6e11c03f84efa93b218b07e39b6b56b1d872639f39c18498ee54d8cd8364d4f5
* Minor changes for better test coverage.drh2020-04-02
| | | FossilOrigin-Name: ae3ac297d2deee2a687ae2e9cf98aaf3e1b41196363238101a19d38092aebec6
* Fix another harmless compiler warning.drh2020-04-02
| | | FossilOrigin-Name: 949eec2530bbe7f48daddfb3022d60ea5d7a43f0f5d120e71c682054feb721db
* Add a missing #ifdef to avoid a harmless compiler warning.drh2020-04-02
| | | FossilOrigin-Name: cc54de354317ebc080d4d1ee25427b31a49c4a75e01cb5d9966f1aaeb2ad098d
* Merge enhancements from trunk.drh2020-04-02
|\ | | | | FossilOrigin-Name: d1731385c077f298b0cf654d6183ed40f7e5c07e4e2ab7f69109cf951ce99d9e
| * Use __atomic_load_n() and __atomic_store_n() for a few more things where ↵dan2020-03-30
| | | | | | | | | | they are available. FossilOrigin-Name: a49f8ec552bede7da731e0571ccf49de1a30e7be3a5673150436c8b411ba6ffc
* | Add the tables_used() table-valued function as a variation on bytecode().drh2020-03-26
| | | | | | FossilOrigin-Name: 6283c677d57220e54375a6463f453c6d068e042263558df16cff1055d1b0d3f5
* | Provide content for the bytecode.subprog column.drh2020-03-24
| | | | | | FossilOrigin-Name: df893364b7cea07ff2b15b80cb294dccaffe701d51452264599b55304a36fa7c
* | The bytecode() function now runs and sometimes works, but it untested anddrh2020-03-23
| | | | | | | | | | there are known problems. FossilOrigin-Name: 6819b86eb2de516c445655a83f9b2ba5ae0bff660cffaf84f1345d9be79b051e
* | Further simplification and modularization of the EXPLAIN logic.drh2020-03-23
| | | | | | FossilOrigin-Name: aee1c12f4227cea9e8c6295cee3ec11797422c31b48c9468f176eb52f8261fe8
* | Begin breaking appear the sqlite3VdbeList() routine into subroutines thatdrh2020-03-23
|/ | | | | can be reused by the bytecode() table. FossilOrigin-Name: 2c4dd79fbd4b9f72634a732abb9ed833cd8c9b05fe1e10af8f23e6d6ec023c7c
* Performance optimization in sqlite3VdbeMakeReady().drh2020-03-21
| | | FossilOrigin-Name: aa92f9b95f95d40cc58910da87168a5bd440f71deb072dc651bb15936315786c
* Fix a typo in a comment. No changes to code.drh2020-03-19
| | | FossilOrigin-Name: 3a51919ac23ae7312d78905334dc97742b517a7476052a85aa07945d9c77697b
* When printing the OP_CollSeq opcode for EXPLAIN listings, include thedrh2020-03-05
| | | | | text encoding with the name of the collating sequence. FossilOrigin-Name: eb5c1b77d1c55fc286ff8fccfd61e21cb67aec92d6f93b093b9af5c32165d82b
* In the OP_Column opcode, if the cursor is marked NullRow (due to being thedrh2020-02-22
| | | | | | | | right table of a LEFT JOIN that does not match) and the cursor is the table cursor for an OR-optimization with a covering index, then do not substitute the covering index cursor, since the covering index cursor does not have the NullRow flag set. Ticket [aa4378693018aa99] FossilOrigin-Name: f02030b3403d67734bba471a91ad5bfdb03ddf6fdc3ef14808a04495e43b0470
* Fix the build for when SQLITE_VDBE_COVERAGE is used.drh2020-02-10
| | | FossilOrigin-Name: 084381649edf374ccc5664f136055109a31d4c3a19c4ae2ee5275f630507a2a3
* During byte-code generation, strive to avoid jumps that merely jump to thedrh2020-02-07
| | | | | following instruction. FossilOrigin-Name: bcf876e67e75f6709f2b25683a3952bbbb87c672bb9d7af456feebc0ab9f6c31
* Small size reduction and performance improvement in thedrh2020-02-05
| | | | | | sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. FossilOrigin-Name: ae6dd8d3e921670ee6450453b54245dd71bcfff3fd1bc7fdb7cf4cf9585c3375
* Fix a problem with the byte-code decompiler that was inserted by thedrh2020-02-04
| | | | | enhancements at [4248980a356f659b] FossilOrigin-Name: af63e95dcdd6e9741cdddc3698e857e3b8be40048d3036f939f3583e517c4eff
* Fix the comment display for the OP_Function opcode. And at the same time,drh2020-02-01
| | | | | | improve the comment generating logic to make use of the newer sqlite3_str_appendf() interface. FossilOrigin-Name: 4248980a356f659b10b12c778592996d53c91fae4ea50c8566678da176bdd152
* 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
* Small performance improvement to the key-comparision routine for strings.drh2020-01-28
| | | FossilOrigin-Name: 41454499a2b63c5fe6fae2d2085773a5f7d869250dcbe669929d20c961211f70
* Fix to the register validity tracking logic in debug builds. No impactdrh2020-01-10
| | | | | on release builds. FossilOrigin-Name: 0a500da6aa659a8e73206e6d22ddbf2da5e4f1d1d551eeb66433163a3e13109d
* Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero.drh2020-01-02
| | | FossilOrigin-Name: 937be22106f7e3f08712febd342d6cb81d129f2d5ab24ce80b3a5c3f9bbde54e
* Add the test_trace_breakpoint() subroutine that is invoked after eachdrh2020-01-02
| | | | | | | instruction is printed while running PRAGMA vdbe_trace=on. Only works for SQLITE_DEBUG builds. Also add parameters "pc" and "pOp" to test_addop_breakpoint() to make it easier to set conditionals. FossilOrigin-Name: 49a6368c384178653cb3ccb58cc8eff93327c16929bf79eeefeb13a4ce897153
* 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
* 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
* When an error occurs while rewriting the parser tree for window functionsdrh2019-12-19
| | | | | | | | in the sqlite3WindowRewrite() routine, make sure that pParse->nErr is set, and make sure that this shuts down any subsequent code generation that might depend on the transformations that were implemented. This fixes a problem discovered by the Yongheng and Rui fuzzer. FossilOrigin-Name: e2bddcd4c55ba3cbe0130332679ff4b048630d0ced9a8899982edb5a3569ba7f
* Use a statement journal on a CREATE VIRTUAL TABLE statement in case thedrh2019-12-10
| | | | | VCreate opcode fails. FossilOrigin-Name: aa3b0eb8c3438ddd3b660bc6bce4b1f4a0e3b5ec897079445231ee1b61210d6a
* Make the result of sqlite3_normalized_sql() survive its statement being ↵mistachkin2019-11-19
| | | | | reprepared. FossilOrigin-Name: 4330f0795dbc2ab41dddd41d5979331fb9b78c477c66367c4be52f929531a45f
* Ensure all file names passed to the VFS layer are double-zero terminated.mistachkin2019-11-18
| | | FossilOrigin-Name: 251230cf43c591cf49cf9d2f392581c57d334b791bc3407814d216b5999c32f4
* Fix a potential use-after-free bug that follows an OOM error in codedrh2019-11-01
| | | | | | added two days ago by check-in [84e02d773d60cffe]. Problem discovered by OSSFuzz. FossilOrigin-Name: 0a2eb949f8a759e5745d9468c8183d3c0b4b30e0fa2a14b3062620eb9e1d5c1d
* Always disallow the use of non-deterministic functions in CHECK constraints,drh2019-10-30
| | | | | | | even date/time functions that use the 'now' or similar keywords. Provide improved error messages when this requirement is not met. Ticket [830277d9db6c3ba1] FossilOrigin-Name: 2978b65ebe25eeabe543b67cb266308cceb20082a4ae71565d6d083d7c08bc9f
* 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
* Save CPU cycles in sqlite3Prepare() by, among other things, shifting thedrh2019-10-09
| | | | | EXPLAIN column label logic over to sqlite3VdbeMakeReady(). FossilOrigin-Name: 1ca5ef84506aac3e2f08baa36095b3befdeedf2a3443fcd9154a277b55cbf64b
* Fix a problem with running ALTER TABLE ADD COLUMN statements within a ↵dan2019-10-07
| | | | | transaction that writes to one or more virtual tables. FossilOrigin-Name: 31e85fbbc4cfd09a98b4a6dc6624f863816f376c6a4eef1fafc657c8e1abbc36
* Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field,drh2019-08-22
|\ | | | | | | | | which should now be KeyInfo.aSortFlags FossilOrigin-Name: 63e625c8eb06720eef30573aa562e38c90d228a9cf493f8bb59f09e50f0e3168
* | Experimental implementation of NULLS FIRST/LAST. This branch still has ↵dan2019-08-12
|/ | | | | problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index. FossilOrigin-Name: 07babb0f897fc8c9cb5b30481899c32fdd743f3f3ca508d8d957826252107dd5
* 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
* Remove support for STAT3. The sqlite_stat3 tables are ignored, if theydrh2019-08-08
| | | | | | exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. FossilOrigin-Name: 1e17ea2fd1df4ad49138c787c8fe3207dd0c25c93f9001d52a9b69f8c12e841c
* Add new assert() statements in an attempt to help static analyzers avoiddrh2019-07-16
| | | | | false-positives. FossilOrigin-Name: 9e66458592d40fbd96ea5f21339573110ca1cfe328238a020c9420a87d35dd72