aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeaux.c
Commit message (Collapse)AuthorAge
...
* More space and performance enhancements to sqlite3VdbeRecordCompare().drh2018-06-06
| | | FossilOrigin-Name: 83a60ff056a63f18479030e9dfb10926fbb0d906d51f2cf88233098e15c75534
* Small performance optimization in sqlite3VdbeRecordCompareWithSkip() fordrh2018-06-06
| | | | | the common case where the comparison is equal. FossilOrigin-Name: 1e616e256a4fb1b64271706fdfa77dc5790eba0a2f0e619544e169bc61d7c805
* 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
* Remove incorrect NEVER() macro added by the previous check-in.drh2018-05-18
| | | FossilOrigin-Name: 3d6625111319c0356c57aaf7b7460fd882c3f00ca668dc43c0abe3403c7c2ba3
* Improvements to the sqlite3IntFloatCompare() routine for systems thatdrh2018-05-18
| | | | | lack the long double type. FossilOrigin-Name: ea6a03a89dc23e860e53e79ec3fddf0ae7072a23b73aef3d2d181b426566b677
* 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
* Begin reengineering the EXPLAIN QUERY PLAN function to provide moredrh2018-05-02
| | | | | intuitive output. FossilOrigin-Name: 70b48a7972dfbb44af3ccd8ccd830e984bec88d80a78b3566a5de86a16e7fc14
* The previous fix for ticket [d85fffd6ffe856092ed8da] in check-in drh2018-04-26
| | | | | | | | | | [0a514e62ad1ebe5c12da8dae] did not completely address the probably in that it only worked for cases where the OP_SCopy that loaded the register was the last instruction in the sequence for the expression, which is not necessarily the case for expressions like CASE...END. This revision prevents the registered that will be recomputed from being cached in the first place. FossilOrigin-Name: 9fd0faf517993587d2f54212638545fc85fbbc84a031bcfae8c1e5894825d83b
* Ensure that new.* values of an UPDATE do not get clobbered after thedrh2018-04-26
| | | | | | BEFORE triggers run when unmodified columns of the row being updated are reloaded. Fix for ticket [d85fffd6ffe856092ed8da] FossilOrigin-Name: 0a514e62ad1ebe5c12da8daed429ae2f9d9910471d3c5cef3b6870bdadfefca1
* Enhance the CLI to render EXPLAIN QUERY PLAN using an ASCII-art graph.drh2018-04-24
| | | | | | | This works with ".eqp" modes and when the query begins with exactly "EXPLAIN QUERY PLAN". To see the original output format, add extra space characters in between words of the initial "EXPLAIN QUERY PLAN". FossilOrigin-Name: f53716ee2ab5a6d47a5551529aae526bb39058f4a8e11e6243b32c1ddc25a19e
* 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
* Added a comment on the assert() added to the previous check-in.drh2018-04-17
| | | FossilOrigin-Name: 542547c1ce770a1427d3023d8c8fdcb2db7b1e017bc111e3484641f97e42381a
* Fixes to the logic for constraint check reordering during upsert.drh2018-04-17
| | | | | | Improved comments on constraint check bytecode. Add an assert that prevents the same label from being resolved more than once. FossilOrigin-Name: 1ddbb0ff5586ef5ca987e4309979f24f95eea883ed68937094a2db2d61e75657
* During PRAGMA vdbe_addoptrace=ON, show calls to sqlite3VdbeResolveLabel()drh2018-04-17
| | | | | in the debugging output. FossilOrigin-Name: 9ff07a06cef6e04777d2d5b81f96e8626e835382e62320ecf17b3ff73573e23e
* Fully initialize the Mem object for serial-type 10, in case such adrh2018-01-13
| | | | | serial-type is found in a corrupt database file. FossilOrigin-Name: bd70a07d819a54346cb6c40fab681424c5af0dfb6bf29321a3de9fc99d285376
* Add the experimental sqlite3_value_nochange() interface usable by xUpdatedrh2018-01-12
| | | | | methods of virtual tables to see if a column has actually changed values. FossilOrigin-Name: 8b7be15ece9e2e83959bb0e21e240106fe1077431242c3cc6b81f1baa2382f40
* Experimental change to include changes made to the sqlite_stat1 table indan2018-01-12
| | | | | | changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. FossilOrigin-Name: bd46c4429693545eb16db85692fc591ac529796aa746f5f21df1ce4380619320
* Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQPdrh2017-12-21
| | | | | | (which we can do without breaking compatibility because the former name has not yet appeared in an official release) and streamline its implementation. FossilOrigin-Name: fffc7685d19f78ec322a4e834ad727af20a17e2e1c35680e4b1c4162c4786f60
* Merge latest trunk changes into this branch.dan2017-11-29
|\ | | | | FossilOrigin-Name: 373fa21bffd37053bb1a741d3ace2f003a5639bf373c20ea7bb24a31080888b3
| * Avoid creating a master journal if all or all but one of the databases in thedan2017-11-17
| | | | | | | | | | transaction is a temp file. FossilOrigin-Name: 355d1232fd7314723afaa8d6b8b73506b09cbba1113a88b10204ba89be993508
| * Remove unnecessary NEVER() and ALWAYS() conditionals.drh2017-10-31
| | | | | | FossilOrigin-Name: 1c80c75d4be2f3d44fb18bb4c07eccac2aba79b688215a741317dfc47dc7c2ce
* | Fix the EXPLAIN processing so that it returns SQLITE_ERROR on an OOM, as itdrh2017-10-12
| | | | | | | | | | should. FossilOrigin-Name: 4ec63ef233c9239d3d383a99c234ef6604d55a9838c16f57e56c2a120aeb63c4
* | Merge latest trunk changes with this branch.dan2017-10-11
|\| | | | | FossilOrigin-Name: 2719cf5c5bbe8e31d18368d54d968af3878ad2e15f0666e18d7b567d7439c451
| * Revise variable declaration moved in the previous check-in so ↵mistachkin2017-10-07
| | | | | | | | | | sqlite3VdbeReset() is consistent with sqlite3VdbeRewind(). FossilOrigin-Name: 63d1b425ee6a7d2ae782b738d81d98e39342ae7fe7c4fd217a28a0bdafe4f222
| * Fix C99-style variable declaration issue seen with older versions of MSVC.mistachkin2017-10-07
| | | | | | FossilOrigin-Name: 14b181e862bd742555c51b87fab59d6f8f6602fe2c18dde3ef3b020779912419
| * Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcodedrh2017-09-21
| | | | | | | | | | in the output of EXPLAIN. FossilOrigin-Name: adc12c83dda8ba93ca220bbff649f763058b9440968ae463621f0cb7de8889cf
| * Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain.drh2017-09-16
| | | | | | FossilOrigin-Name: 5dbb255a9377a6c2619fbac519f18caa4d8cb23257dfba0ffb9e36dd9dc16627
| * Simplification and performance improvement to sqlite3_reset().drh2017-09-09
| | | | | | FossilOrigin-Name: b6425d0170721d803a055a958f1823c9c4be925cd93ac47562ff723daf8ce2ed
| * Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode enginedrh2017-08-18
| | | | | | | | | | | | into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. FossilOrigin-Name: eb1202b5e43f1f029ad2bdf845509e7f31361e4dc189943e5e2bd4462e2ef3f3
| * Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reducedrh2017-08-16
| | | | | | | | | | the size and improve the performance of OP_Column. FossilOrigin-Name: f078deb25149b7b1881b7f3374b343d0677e82336d8fdd7f1cdd06d926b5dd57
| * In the KeyInfo object, refactor the nField and nXField elements intodrh2017-08-02
| | | | | | | | | | nKeyField and nAllField, which are more useful and run a little faster. FossilOrigin-Name: aea5990eab5e85f92df966aa641db2271c81052010ad2d80982475c4275a1284
| * Rearrange integer token values in the parser and logic in thedrh2017-08-02
| | | | | | | | | | resolveP2Values() routine for a small size reduction and performance increase. FossilOrigin-Name: 1cad2926ad88b83becab1326bd189d7bac8ba6d470b36ba5d29af5c9fb016014
| * Faster implementation of resolveP2Values().drh2017-08-02
| | | | | | FossilOrigin-Name: 82e46fe0d497f871e652a579f25e77de7ef05d56484418961a1296f65f19415e
| * Fix a bug in the deterministic date/time function logic that can only appeardrh2017-07-25
| | | | | | | | | | with STAT3 or STAT4. FossilOrigin-Name: 1ca707a4fb8db7aa85430413164265607ce727fc8a5afc3424b3abfb59921b39
| * Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab.drh2017-07-20
| | | | | | | | | | | | | | This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. FossilOrigin-Name: 22eda0985ecd1f456c073e6ad735a8417f3ff1fb6aaad1640e1cec01e50c51d8
| * Allow indexes to be created on date/time functions as long as the 'now'drh2017-07-19
| | | | | | | | | | date and the 'localtime' and 'utc' modifiers are not used. FossilOrigin-Name: 0a5e1c04d9d07bb7fd6546a9ddac1bf42b19ea19c2b79570aea6cd4226887a27
| * Smaller and faster implementation for vdbeFreeOpArray() and freeP4().drh2017-07-12
| | | | | | FossilOrigin-Name: 0c80593520d30958231be41fc443209eb39e0b3ee0e66308c3ef3a0f4cb8ea66
| * Enhance the sqlite3VdbeMultiLoad() interface to automatically generate thedrh2017-07-07
| | | | | | | | | | | | OP_ResultRow opcode on PRAGMA implementations, for a small reduction in the library footprint. FossilOrigin-Name: c46f0f076c674891e20240bad56693d891aedc43004bcf980a5d199515f23413
| * Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the drh2017-06-29
| |\ | | | | | | | | | | | | | | | extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. Use the new option in FTS3, FTS5, and RTREE. FossilOrigin-Name: 03977248e6fdaa9b35c15e5dd9bb89552f2f0a913cc31609b5af1e2347b67d38
| | * Incorporate recent trunk changes.drh2017-06-28
| | |\ | | | | | | | | FossilOrigin-Name: 62b8269ba2ff71e2daaa86688698896badd6f6e34ab42fbf92dda7fcda73a230
| | * | Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with thedrh2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. FossilOrigin-Name: 4a25c5883380fe5990d8180adb58c3bdc7a3d081bc4c69cd4de3cd57074fb251
| * | | Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options todrh2017-06-29
| | |/ | |/| | | | | | | | | | | | | sqlite3_stmt_status(). Use this for two new columns in the stmts virtual table. FossilOrigin-Name: b0b0c8f8d548ef78584ab714ab120b01c1b83fc0d8ae2fd7626b970bab9fca58
| * | Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled.drh2017-06-26
| | | | | | | | | FossilOrigin-Name: ebcfa73e1c8ebb4fc371a6dcf77f97b6e06e405a299c66182aa4b20423d519ec
| * | Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query plannerdrh2017-06-26
| |/ | | | | | | | | | | stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. FossilOrigin-Name: 7076e8283ebae1b45a5d85d9538b49b6da399d38c3c6935de100f948f814f6a9
| * Very small performance increase in sqlite3VdbeSetNumCols().drh2017-05-31
| | | | | | FossilOrigin-Name: 8885b4461044ae8ecdfe1b9aa47f4aad65efabc98e3fcd9e307a06504fab34c6
| * More efficient error handling and reset in the binding mechanism.drh2017-05-29
| | | | | | FossilOrigin-Name: 9a3e3b34ba6eafce2f560c13225a3673e18d696b29295b59d958e938fa593baf
| * Fix a case where NULL was being passed to memcmp() following an OOM. This isdan2017-05-22
| | | | | | | | | | | | probably not a real problem, as the number-of-bytes parameter was passed 0 in this case, but it was causing a santizer complaint. FossilOrigin-Name: 3ea2bad27e516d5dbfa4a9cb0c767d6a8387280a7e4bbf2ae80cd318da670d66
* | Change some internal details to bring this branch closer to the code on trunk.dan2017-10-11
| | | | | | FossilOrigin-Name: 58e42cfd7d4af2279dab8dd895dca7afbdf9035445bc81bd4a7461ea24e846fc
* | Merge changes from trunk.drh2017-05-15
|\| | | | | FossilOrigin-Name: 6e0f64ab5eafda5d9e61e00c89af3c1ea2c5aa29821da1bdbcab040957b12403
| * Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can bedrh2017-05-11
| | | | | | | | | | | | used to access an auxiliary data cache over all functions in a single prepared statement. FossilOrigin-Name: ff5306752e83e760255a10f20168c0f090929a4fee2a5f720dfab36f0ee72fae