aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
Commit message (Collapse)AuthorAge
* Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
| | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
* Use a new technique to detect fresh OOM faults in columnName() that does notdrh2023-04-27
| | | | | | | rely on there being no OOMs prior to entry into columnName(), as [forum/forumpost/fb6811c2f9|forum post fb6811c2f9] demonstrates a technique which could cause an OOM prior to entry into columnName(). FossilOrigin-Name: a63346d6a0c0ca7ba4c87499de2e461be9c77e9b5d98f2bebf308cdb6599f33c
* Fix an incorrect entry in the array that maps sqlite3_value values intodrh2023-04-04
| | | | | actual datatype numbers. dbsqlfuzz f660c659bcec48577a43d3bab37f46baaa22f59e FossilOrigin-Name: fa8537dc90cad962dec695418d48da2890a172801ecad0c7c804023a063d3a02
* Fix harmless compiler warnings.drh2023-04-01
| | | FossilOrigin-Name: a4fb2864fe01cce9694242a0750623ca47fcecd68f74c4239d3eb5fbf978770a
* Fix a problem with sqlite3_stmt_scanstatus() from within an ↵dan2023-03-29
| | | | | SQLITE_TRACE_STMT callback made from within a trigger. FossilOrigin-Name: 1fa78fafa1340de458546526b03cf8b3e9c823913c4225d7c747ad182df5c0fc
* Back out the 'txn' enhancement to date/time functions. The duration of adrh2023-02-08
| | | | | | "transaction" is confused and needs to be straightened out prior to moving forward with this change. FossilOrigin-Name: 4a145f07322d768a07619bed27e0390d50f3a01d07787b9296234a5ceb6f1218
* Simplify the code and add test cases.drh2023-02-07
| | | FossilOrigin-Name: d3bed4caff561e71c396cc869c5b4d9bf216ba203485e738c12ec62741f1aba5
* Add support for the 'txn' argument to date/time functions that works likedrh2023-02-07
| | | | | 'now' but keeps the same time for the entire transaction. FossilOrigin-Name: 5e4f45af96247e29910403a63ac148cb313b005f9c014b37a9a49d98f5fef9a6
* Improved fix to allow sqlite3_vtab_in_first() to reliably return SQLITE_ERROR.drh2023-01-26
| | | FossilOrigin-Name: b25eec1c13f6a8c7ba993e5a55e26798f3b67a8b9571998459671cb570cbdfb4
* Enhance the sqlite3_vtab_in_first() and sqlite3_vtab_in_next() interfaces sodrh2023-01-25
| | | | | | | | that they reliably return SQLITE_ERROR (and not SQLITE_MISUSE) if they are invoked on a parameter that did not have multi-value IN processing enabled via a prior call to sqlite3_vtab_in(). See [forum:/forumpost/a823d4a3d5f73def|forum thread a823d4a3d5f73def]. FossilOrigin-Name: 144326dc171025dc8b5a77bebd8de3c19d5244ab807f5aa41f95313a25b880bc
* Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step()drh2022-12-22
| | | | | for a small size reduction and performance increase. FossilOrigin-Name: 6a00d67f5955ab86eea982c27b3a03b680fdf644ec63f49586ade6342a4d64a6
* Rename the Vdbe.pResultSet field to pResultRow in order to better distinguishdrh2022-12-22
| | | | | it from other variables with similar names. FossilOrigin-Name: 1fd6211ef7bd26ed625177bfedfd5153ace547de6a71365ecfa076578d043f1a
* Reduce the overhead of SQLITE_ENABLE_STMT_SCANSTATUS some.dan2022-12-07
| | | FossilOrigin-Name: 212927e97e7be7d237de08359dce0dfb9211ac406b32009a6e15afd79c006475
* Have sqlite3_stmt_scanstatus_v2() return an NCYCLE value for all loops, not ↵dan2022-12-06
| | | | | just virtual tables ones. The value returned is the sum of the NCYCLE counts for the various opcodes that move or read data from the table or index cursor associated with the loop. FossilOrigin-Name: 9499b2f51e8174c6b8a67840c92ba23b7dd1dc8dc2b91fca0c5dc07b71662149
* Update comments in sqlite.h.in to account for sqlite3_stmt_scanstatus_v2().dan2022-12-05
| | | FossilOrigin-Name: 009462f2344b1f468cf9440343a47fec68d783a2bfb4fa6168bb227ec910b918
* 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
* Enhance SQLITE_SCANSTAT_NCYCLE so that it reports on virtual tables.dan2022-12-03
| | | FossilOrigin-Name: 622d8eb3724bee617b55d6fb71f1a2d683db6858065adced6bf3ce9525bcd6b5
* 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
* For the sqlite3_bind and sqlite3_result interfaces for UTF16 strings, rounddrh2022-12-02
| | | | | | | the number of bytes down to the next even number, to avoid creating a UTF16 string that is an odd number of bytes. [forum:/forumpost/411199488d065f83|Forum post 411199488d065f83]. FossilOrigin-Name: b57e3c3db00a6bc6db20c82530479f9eba7e37b731f0da6fe81682e84c7ac916
* Add the sqlite3_value_encoding() interface.drh2022-10-12
| | | FossilOrigin-Name: d6d449978245b4fa66c152132da468eea7977eab4d1fe53bb2fe3ef543d8030f
* Change the names of the Vdbe.pVNext and Vdbe.ppVPrev fields to make themdrh2022-08-23
| | | | | unique. Change to ppVPrev to save a few bytes and a few CPU cycles. FossilOrigin-Name: 34b8ea31877ae8b40729d37b3f51ae7e15f38be841881ea4a37c9c8f0a52896d
* Performance enhancement for sqlite3DbFree().drh2022-08-22
| | | FossilOrigin-Name: c296a9d958ec360fc8d217363348b4918d665bccb3c4f27503a2dcef7db49052
* Fix harmless compiler warning seen with MSVC.mistachkin2022-08-05
| | | FossilOrigin-Name: e36217f2536d89f7a15a879fe3ead32307909c71ced42e1ae7b35f43d4744a80
* Small performance increase on the binding interfaces.drh2022-08-03
| | | FossilOrigin-Name: aab24c37fb444804fb91177b4b522909ef1bb85383444d97d82a758f919047d2
* Small performance improvement to sqlite3_finalize().drh2022-06-30
| | | FossilOrigin-Name: 8a6913b66cc5af354497044ccb849eb80d00d0799362475f1537a6999196895e
* Additional enhancements to comments. No changes to code.drh2022-06-22
| | | FossilOrigin-Name: d9a320448f5693d906adf437800675cd4773701db065f3ed238b933fb80f6681
* 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
* There is no need for sqlite3_step() to check for an OOM condition priordrh2022-04-01
| | | | | to starting up. FossilOrigin-Name: 44be7f46ba89289683ed0e123169ca9adb1018de03071d66de480c910a23d074
* Omit the Vdbe.doingRerun field for a slight size reduction and performance gain.drh2022-04-01
| | | FossilOrigin-Name: e93297a9d775688e6274c54ba75b19fc1fe8b29b73b9b5e7f94f3f2ca37f045f
* Refactor the Vdbe.iVdbeMagic field into Vdbe.eVdbeState. Split the RUNNINGdrh2022-04-01
|\ | | | | | | | | | | state into separate RUNNING and READY. This gives a size reduction and performance increase. FossilOrigin-Name: 5a50a42fde9477868fad31099f5fe976437825fac44f8b3a4cf6c739c7667bbb
| * Split out the RUN state into separate READY and RUN states.drh2022-03-31
| | | | | | FossilOrigin-Name: d698826b08b88e227eb83f84b3cdb19f17306b532eccfa162090abccdf3c63d8
| * Rename Vdbe.iVdbeMagic to eVdbeState. Remove unnecessary states. This isdrh2022-03-31
| | | | | | | | | | a preliminary step toward splitting RUN_STATE out into several other states. FossilOrigin-Name: ff91191d232305d44ae6c0fbca2542a749422dc716fa1fd5d54f58c7d6052c14
* | Have the sqlite3_context object carry the encoding for the prepared statementdrh2022-04-01
|/ | | | | | | | that it represents, so that sqlite3_result() and similar can set the encoding according to the prepared statement, even if the database encoding has changed. dbsqlfuzz c409b10d0a6bccf78ab00f47e1d29d42ee5b3565 FossilOrigin-Name: d4e19314f564126e180e091f9135c7bc55a10442edb46fbd3a4cfad21201dfa6
* Faster and slightly smaller implementation of sqlite3Step().drh2022-03-30
| | | FossilOrigin-Name: c6901a8c78838228f8135c9346b214e638b72086fd85367b9ff482273e62ece6
* In setResultStrOrError(), if the input string pointer is NULL and hence thedrh2022-03-29
| | | | | | value gets set to an SQL NULL, then the Mem.enc field is uninitialized. So do not read it. This is a harmless OSSFuzz/ASAN found problem. FossilOrigin-Name: 47d0b1c4cfc3d2d8f57a02079276bb70a205ffd0f18007dd39c92f813d4c87f5
* Fix the sqlite3_result_xxxxx() routines so that they all check for anddrh2022-03-29
| | | | | | | | perform any necessary text encoding conversions and check for oversize strings and BLOBs. Thus those checks can be done where they are most efficient and avoided in cases like OP_Function where they are more expensive. FossilOrigin-Name: d50b162b2f2e320af0889b931351f9443580465a933f6657fa98f437b6579277
* Calling sqlite3_value_dup() on a pointer value results in an ordinarydrh2022-03-14
| | | | | | NULL. [forum:/forumpost/ae8592cc73|Forum post ae8592cc73]. Test cases in TH3. FossilOrigin-Name: fff1243b594c190d15f14b7ca4e60d23519cd15134f275991c685966fcc24145
* The performance increase in the previous check-in of this branch was due todrh2022-02-28
| | | | | | | the revised loop in initMemArray() and reordering fields of Mem - not the call the memcpy(). Changing the code to avoid memcpy() results in an even better gain, and code that is far less dodgy. FossilOrigin-Name: d74aa979530d4236f5900d2ef998b27065d352d7c18bcd822e5c8f1041a1a81c
* An optimization to initMemArray() saves almost 500K cycles. But it seems adrh2022-02-28
| | | | | | little dodgy. I want to think about this more before merging to trunk. Perhaps there is a cleaner way to accomplish the same. FossilOrigin-Name: 7fefd8676110a53e6c98a697e2dbf820740fe602a1e83b6caa8d099c41a15d80
* Fix a problem in [c006515ae6faff65] causing an assert() to fail with some ↵dan2022-02-11
| | | | | build configurations. FossilOrigin-Name: d7ff262d6d1fd8b855bcb8f6f54ab1833663a4d8187701ddf045f6b5a62a5d1d
* Fix a problem with using sqlite3_bind_value() with sqlite3_value objects ↵dan2022-02-09
| | | | | obtained from sqlite3_preupdate_new() when an integer value is written to a column with real affinity. FossilOrigin-Name: c006515ae6faff6525d589827d99092b06004472e32b7f586845c00c4732d695
* Relax the restriction that the RHS of the IN operator must be a list in orderdrh2022-02-02
| | | | | for sqlite3_vtab_in() to work. Change an unreachable branch into an assert(). FossilOrigin-Name: 3bf2153440dce0e8c0572c4fd39e6b9f34ead75ccab2cea80a646d4ff9d19146
* Be sure that sqlite3_vtab_in_first() and _next() set the correct encoding.drh2022-02-02
| | | FossilOrigin-Name: 04edf36ee8e043c83235a5169a7ced23f211edd2f7ef3290d96413d5fd229ad7
* Refactor sqlite3_vtab_in() to make use of the existingdrh2022-02-02
| | | | | | sqlite3_value_pointer() mechanism for passing the list of IN operator RHS values into xFilter, for improved memory safety. FossilOrigin-Name: 8965929be236fe1a6994f31b94c1b7590c7c1e809470c542a76f3e0e275d032f
* Tweaks to the sqlite3_vtab_in() interface.drh2022-02-01
| | | FossilOrigin-Name: 75040183b8e14f20bfedfdcc1a9fb968f2f0193bc698605d1b4791a3699b93d9
* Add new interfaces to enable virtual table to process IN operator constraintsdrh2022-02-01
| | | | | all at once, rather than one element at a time. FossilOrigin-Name: eb84b80e1f6d8c32bf0c9e1731f0233de0160a13f714f766779ae01fdf504e7b
* New assert() statements to help prove correct usage of VdbeCursor objects.drh2021-11-11
| | | FossilOrigin-Name: 7cee62f77a9e7c3cf886f136e75a93c3bbbb88e48b66035883bea5503d9fc03c
* Fix the zeroblob() function and related APIs so that they work with ↵dan2021-11-08
| | | | | SQLITE_OMIT_INCRBLOB builds. FossilOrigin-Name: bc401a75dd9f3c29c5969ae36264e68ccefc0937e44e232ca1f6b550f7fd6e22
* The sqlite3_result_text() routine (and similar) should record OOM errorsdrh2021-10-13
| | | | | | in addition to SQLITE_TOOBIG errors. dbsqlfuzz FossilOrigin-Name: eca434362652fe2edd6090b29417b35bc88a170609810aa9d266f6fc27baeab8