aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeInt.h
Commit message (Collapse)AuthorAge
...
* Improvements to the IN-early-out optimization so that it works moredrh2020-09-01
| | | | | efficiently when there are two or more indexed IN clauses on a single table. FossilOrigin-Name: 35505c68c1945c35babd2496e02bc4907a15c8e7b8d77f05f230bd0e9d4891d7
* Continuing work toward supporting unsigned 32-bit page numbers.drh2020-07-22
| | | FossilOrigin-Name: 9ce1710aad43cebe5ad50859c7685fb83e40cdd4a60913bd2b7e659bc59942fd
* 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
* The bytecode() function now runs and sometimes works, but it untested anddrh2020-03-23
| | | | | there are known problems. FossilOrigin-Name: 6819b86eb2de516c445655a83f9b2ba5ae0bff660cffaf84f1345d9be79b051e
* Begin breaking appear the sqlite3VdbeList() routine into subroutines thatdrh2020-03-23
| | | | | can be reused by the bytecode() table. FossilOrigin-Name: 2c4dd79fbd4b9f72634a732abb9ed833cd8c9b05fe1e10af8f23e6d6ec023c7c
* Change a bitfield in sqlite3_stmt into an unsigned character, for slightlydrh2020-03-21
| | | | | smaller code and better performance. FossilOrigin-Name: 0d4d3c642494ad494b4ec937215eaf833158e62e5ae59ed981d6b546220c13b8
* 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
* Rewrite the (debugging use only) sqlite3VdbeMemPrettyPrint() function to usedrh2020-01-06
| | | | | | | the safer StrAccum interface rather than writing directly into a static string buffer. Perhaps this will address ticket [bbd55a97e66ff50d], which we are unable to reproduce. FossilOrigin-Name: 69f6a7e42f42116d29514239575ee1dc381b5b673da012cb5f3e8cf17922d493
* 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
* Fix the OP_Cast operator so that when casting to TEXT, it always leavesdrh2019-12-23
| | | | | | the result in the encoding of the database. Ticket [0911b5d161b039c6]. Test cases in TH3. FossilOrigin-Name: f347744e0d576f0250c29259cca755e57afded8956224114c01603c1bca5b3a4
* Fix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine.drh2019-10-07
| | | FossilOrigin-Name: 69a26eade2f92029e722a5a654214b1e2a3fc7ed497ce9aa5a7dce944f90e502
* 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
* Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode.drh2019-07-11
| | | | | | | Optimizing compilers were doing this already. By doing it manually, we can omit some redundant tests and make the whole thing run a million cycles faster and use about 80 bytes less code space. FossilOrigin-Name: d837ab0da52632699abc09320980606aef020df5020c253f99c97e24bf3c6d00
* Ensure that the typeof() function always returns SQLITE_FLOAT for floatingdrh2019-05-02
| | | | | point values even when the value is stored as an integer to save space. FossilOrigin-Name: 48889530a9de22fee536edfd1627be62396ed18d842d5fd6d91e010b4337be95
* When values have real affinity and are converted into strings for CHECKdrh2019-05-01
| | | | | | | constraints or index expressions, do the conversions into a real-number format even if the values are stored as integers for efficiency. This appears to fix ticket [ae0f637bddc5290b446]. FossilOrigin-Name: 5997d075665faca6b70fa647e877ebc84c473b32887b96235865d59ce80247f8
* Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine.drh2019-04-07
| | | FossilOrigin-Name: df58774e994bd306b1a2e1f259e7e4408f01c5b1dc104673698168bbf8a63ce5
* Make sure the MEM_FromBind bit inthe Mem.flags field is not included indrh2019-04-02
| | | | | | the MEM_TypeMask. This critical changes was omitted from the previous two check-ins by mistake, and so those check-ins are not fully functional. FossilOrigin-Name: f7ba2daf91c96ba16958188d6084a0ff129310d348932de493d326f1d24679cd
* Initial implementation of the sqlite3_value_frombind() interface.drh2019-03-29
| | | FossilOrigin-Name: 98da62dfdacc6b3c490c387d1f8a74cc5daa978776967e264ad4800c380b0ddf
* Faster allocation of new sqlite3_stmt objects.drh2018-12-28
| | | FossilOrigin-Name: 891f1f72187f0f9ec0d24fda98cc08be3ae3c3ff8b27c4e409ee7135c3106398
* Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointerdrh2018-12-28
| | | | | deference on the fast path in sqlite3VdbeAddOp3(). FossilOrigin-Name: 8f10efc29dea7b816b1ba401726c268950d6671d890f686911269082a241d8d9
* Fix the sqlite3_normalized_sql() interface so that it rendersdrh2018-12-07
| | | | | double-quoted string literals as "?". FossilOrigin-Name: 0d8e150434bbd179696f1ffe71d1e06cb3d43e6468496c7e481fca8486387bad
* Fix harmless compiler warnings that appear with SQLITE_OMIT_EXPLAIN.drh2018-11-17
| | | FossilOrigin-Name: 5fff00b0d5eb634d40e767671d5a0e8bd263d15d88abe531f6072f01bc789568
* Add the sqlite3_normalized_sql() API.mistachkin2018-10-29
| | | FossilOrigin-Name: 592b66e8058dd03a056a036e2606247c9efdb06d15eebe9bcc455f7f55e30ae6
* Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objectsdrh2018-08-29
| | | | | be destroyed using Mem.xDel. This change results in faster code. FossilOrigin-Name: f48e9feb3fca514e4e586932e6d19a5e34a384204effeba553006dcddf5f13d2
* Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objectsdrh2018-08-29
| | | | | as MEM_Blob with a special Mem.xDel pointer instead. FossilOrigin-Name: 62db5fd47660bbc4fcf2c6d4a6c5a3077f12c6442a128d22b66b789a0409ef32
* Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTabdrh2018-08-04
| | | | | opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. FossilOrigin-Name: 80236e81cefdf3d3cda3dbdb6de1575c38e4e248cc4b72ca9ee96d3aa0464bfd
* Do not abort running queries due to a CREATE INDEX statement. Allow themdrh2018-07-24
| | | | | | to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. FossilOrigin-Name: 2bd593332da0aade467e7a4ee89e966aa6302f37540a2c5e23671f98a6cb599c
* Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC.dan2018-06-22
| | | FossilOrigin-Name: 5f04b016467342b5a796bf702ed25b621eb86f2961c1e703d276c93f2cb6aa89
* Merge latest trunk changes into this branch.dan2018-06-14
|\ | | | | FossilOrigin-Name: 5cf5f1808a51f9c2cfc98dd49b4f1ce860b53e935287f89868ce2fdbace8eb06
| * Pad out the sqlite3_value structure to be a multiple of 8 bytes.drh2018-06-13
| | | | | | FossilOrigin-Name: f76dc33bde4b2180b935d1261492d9535772ed37e54489c1a33e9f11c7c90433
| * Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled.drh2018-06-12
| | | | | | FossilOrigin-Name: b2973f2357a2c5e22e0d612c970adbc6d51cbc5e4ff7ac6d2b678722e553e8ec
| * 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
* | Merge latest trunk changes with this branch.dan2018-06-07
|\| | | | | FossilOrigin-Name: 251022034219819a1dc356542770ff46e3147a080f072eb20af6106771dadd92
| * Add the OP_IfNoHope and OP_SeekHit opcodes used to reduce the number ofdrh2018-06-05
| | | | | | | | | | | | unnecessary sqlite3BtreeMovetoUnpacked() calls when checking for an early exit on IN-operator loops. Futher optimizations are likely possible here. FossilOrigin-Name: 6bf251af4347165a470d39457d61ab6d2a06c206db8f30bd8be5dbb388ae8a5b
* | Merge latest trunk changes into this branch.dan2018-06-04
|\| | | | | FossilOrigin-Name: 83d6416a868fac81a78c9507185a48d00920e4322276245e285946f760915f4a
| * 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
* | Start of experimental implementation of SQL window functions. Does not yetdan2018-05-16
|/ | | | | work. FossilOrigin-Name: 3781e520854808fe02ad3fe77dd11fc917448c58ff1fd79123289dd91937decd
* Always interpret non-zero floating-point values as true even if theirdrh2018-02-26
| | | | | integer part is zero. Fix for ticket [36fae083b450e3af857a459e20]. FossilOrigin-Name: a983fa857048c748112c2f805f13aadeae43b43b3d27fa55433a3699b51c9a0e
* Slightly faster function dispatch in the virtual machine by avoidingdrh2018-01-23
| | | | | | unnecessary reinitialization of variables that are already correctly initialized. FossilOrigin-Name: edd4e6876cc08ab907bb21f075380de946562d4c56a04923760848b4b11536ac
* Remove an unused field from the internal definition of the sqlite3_contextdrh2018-01-16
| | | | | object. FossilOrigin-Name: 948a26b5a64d8a89c4ec7546ec4a4bee36e29e82edda677ca75424e7091325d0
* 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
* Add the sqlite3_vtab_nochange() method which virtual table implementationsdrh2018-01-11
| | | | | can use to optimize UPDATEs. FossilOrigin-Name: d444b1ff39f0a1673a977b8047e1e14a49d461c9934be080d27c2392a830c1c0
* 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
* Improved implementation of the destructor on pointer-passing interfaces.drh2017-07-27
| | | FossilOrigin-Name: 601ad6795927fff8c3cc1711a2fd90912499573e94aa5bc8f18cbd4b89778f58
* Add a destructor argument to sqlite3_bind_pointer() drh2017-07-27
| | | | | and sqlite3_result_pointer(). FossilOrigin-Name: 3d9e841f6011480ebb8a6d860da72af7fa545983e08835ddef2cac96e5f5cd4b
* Add an experimental "pointer type" parameter to sqlite3_bind_pointer(),drh2017-07-17
| | | | | | | sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a string that must compare equal using strcmp() or else the pointer comes through as a NULL. FossilOrigin-Name: 211cce04e97d2e325a6ea3e99738fc71115d673dc13daeffb03ac3140deb11de
* Merge the latest changes from trunk.drh2017-07-13
|\ | | | | FossilOrigin-Name: a54be6e041a9185787a22b86603dcb0654e5e4af71225b556d1b6279f8520ad8
| * Compile cleanly with SQLITE_OMIT_UTF16.drh2017-07-12
| | | | | | FossilOrigin-Name: 783100b801703577e35ec12fe7623e1797e49699f3b8deb0694ef061a142b844
* | Add APIs for binding pointers that can be used by app-defined functions.drh2017-06-30
|/ | | FossilOrigin-Name: d9f4a831ba957ead3890b36d0e33e30cfa4c79b7de6400e623b9746a0a5a02d0