dan
1d8cb21fdb
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442].
...
FossilOrigin-Name: 557c69055a300b4082830b5f4803091dca1c3140
2011-12-09 13:24:16 +00:00
drh
7e02e5e6b5
Begin adding the data-structure explaining subsystem. All is contained within
...
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
dan
029ead645d
If an error occurs within sqlite3_step() on a statement prepared using sqlite3_prepare_v2(), transfer both the error code and error message to the database handle before sqlite3_step() returns (so that they are available via sqlite3_errcode() and sqlite3_errmsg(). Prior to this commit, only the error code was transfered. The error message was not available until after either sqlite3_reset() or sqlite3_finalize() had been called on the statement handle.
...
FossilOrigin-Name: 8f88cc4e616b4b30ed349f89e148f782da5cb6c4
2011-10-27 15:19:58 +00:00
drh
ca892a7252
The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now
...
avoids spilling to disk (letting the in-memory linked list grow without
bound) if PRAGMA temp_store=3.
FossilOrigin-Name: 68e26c4487696d194ee85370380e4b0e56d206ee
2011-09-03 00:17:51 +00:00
dan
5134d1357e
Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c.
...
FossilOrigin-Name: 7769fb988d9be0f2d8129aaac19620ac88f9b4a6
2011-09-02 10:31:11 +00:00
drh
c6aff30ca4
Experimental code-generator changes to utilize new opcodes for sorting.
...
FossilOrigin-Name: bab2e560f6cb989c83a96aad60f666960ede7abe
2011-09-01 15:32:47 +00:00
drh
2d36eb43a4
About a 1% overall performance improvement by using a macro to avoid
...
no-op calls to sqlite3MemReleaseExternal().
FossilOrigin-Name: ff71d20a9ed129bd1785a3f7a777ce62098735b7
2011-08-29 02:49:41 +00:00
dan
e6f7bc6379
Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file.
...
FossilOrigin-Name: 1a8498d8037a1b93e56951bbdbb76291bd5a4f87
2011-08-12 16:11:43 +00:00
dan
689ab89781
Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c.
...
FossilOrigin-Name: 4ced2394b10d0a4f86422ff893bcdf3cf32591e3
2011-08-12 15:02:00 +00:00
dan
1e74e602ec
In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory.
...
FossilOrigin-Name: 8051c1767c4386b0f14a66742d9fac41e001eb07
2011-08-06 12:01:58 +00:00
dan
7fe6270b4d
Minor fixes to vdbesort.c code in preparation for a major rework.
...
FossilOrigin-Name: 7f339c0e2655310d7530041c379b082d49ce8c7f
2011-08-02 10:56:22 +00:00
dan
a20fde64eb
Experimental support for speeding up CREATE INDEX commands using an offline merge sort.
...
FossilOrigin-Name: 30dbf0feab0323250404e0741ac2716bcb6b0cbe
2011-07-12 14:28:05 +00:00
drh
124c0b49a1
Refactor the SQL parameter processing so that parameter names for values
...
that are optimized out of the prepare statement are not forgotten.
FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
2011-06-01 18:15:55 +00:00
drh
dc5b047ec3
Fix a performance regression: Keep two btree masks in each prepared
...
statement; one for btrees used and another for btrees that require locks.
Only try to lock the btrees identified by the second mask.
FossilOrigin-Name: 614de91a504d2231009a9de1305e31fce1b1c5a6
2011-04-06 22:05:53 +00:00
drh
e54e051800
Remove the mutex counter and the logic that attempts to verify that btree
...
mutexes are held continuously. We are not making that assumption at this
time.
FossilOrigin-Name: 242ce7cff416a87d57d4eb624cb79fa4e2215559
2011-04-05 17:31:56 +00:00
drh
bdaec52c62
Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish
...
the same result. Add a generation counter to btree mutexes in order to assert
that mutexes are never temporarily dropped over a range of instructions in order
to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe
program that uses OP_ParseSchema.
FossilOrigin-Name: d81708f7d1eee399bfe76f6b8dac950a85dc2582
2011-04-04 00:14:43 +00:00
drh
6412358526
Change the name of the "tAttachMask" datatype to "yDbMask".
...
FossilOrigin-Name: 3d6f2e82358c0d8c0ca04e0da20b84fc65c3f7fa
2011-04-02 20:01:02 +00:00
drh
01c7dc887c
Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62.
...
FossilOrigin-Name: 7aaf8772274422f5020fad9eea490e195170720f
2011-03-23 18:22:34 +00:00
drh
2e5de2f2b3
Reorder the fields in private structures in an effort to reduce alignment
...
gaps and thus make the structures smaller, and to put frequently accessed
fields first. Also update some obsolete comments. Valgrind shows a very
slight performance improvement.
FossilOrigin-Name: 378a1d13af4a6f4cb2bfa65944b3b0d444b9f21c
2011-01-07 02:50:40 +00:00
dan
271065704c
Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs.
...
FossilOrigin-Name: 119ffe955eb1e8016cb8131a63bd17557f395f3f
2010-12-01 08:04:47 +00:00
drh
2b4ded993b
Add assert() statements that fail when a shallow copy is accessed after the
...
original has been modified. These assert() statements should detect the kinds
of subtle SCopy bugs such as caused the fault
in ticket [b351d95f9cd5ef17e9d9dbae18f].
FossilOrigin-Name: 8b8e1732e8410efd5f8e308c43abe521584e87a0
2010-09-27 21:09:31 +00:00
drh
d4187c716c
Provide hints to the btree layer during the creation of transient tables
...
when it is possible for those tables to use a hash rather than a binary tree.
No use is current made of those hints, though assert() statement verify
their accuracy.
FossilOrigin-Name: 4fead8e714c7e50a9d246467e62bc846ef6180a0
2010-08-30 22:15:45 +00:00
dan
d19c933e8e
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement.
...
FossilOrigin-Name: 00e55102a8309eb6df08ad4a8937ba02688bac62
2010-07-26 12:05:17 +00:00
drh
a21a64dd0c
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter
...
added.
FossilOrigin-Name: abbf16e5e7895971710fb3a8fd9c782fc1218a77
2010-04-06 22:33:55 +00:00
drh
4611d925a9
Expire pragma statements when reset, even if they were not run to completion.
...
FossilOrigin-Name: 78351d289bba83e536b64666c566b7bfc57351da
2010-02-25 14:47:01 +00:00
drh
7ec5ea942e
Make the sqlite3_result_double() interface work the same as
...
sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined.
FossilOrigin-Name: 61df5986600b6c9e6d5c42efc0067a27fe54251f
2010-01-13 00:04:13 +00:00
drh
a6c2ed91ca
Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code
...
run a few percent faster.
FossilOrigin-Name: d622ac6ac7a297754494d3a33dbaeea02836272e
2009-11-14 23:22:23 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
8677d30812
Create a new datatype "ynVar" to hold "nVar" (number of variable) values.
...
This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER
is large enough.
FossilOrigin-Name: 24a4d520d540d92b611abc4eb57dc6da9be4eac6
2009-11-04 13:17:14 +00:00
drh
75f8d8be1a
All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures
...
increase when the compile-time parameter is configured this way.
FossilOrigin-Name: 16a24b4485420bdf30d3c8e22cfbaf008e07df02
2009-11-03 01:22:07 +00:00
drh
80bcf232a9
Remove additional obsolete code from the sqlite3_release_memory() logic.
...
FossilOrigin-Name: 2eeb6ed818dac240afe761b4e7c11e961255bf33
2009-10-26 22:32:55 +00:00
dan
1d2ce4f804
Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2().
...
FossilOrigin-Name: 2c50b3d5aab7cd8cc841d61f8c3b2b34d2f0b54b
2009-10-19 18:11:09 +00:00
dan
937d0dea4f
Add the experimental sqlite3_reoptimize() API.
...
FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
2009-10-15 18:35:38 +00:00
dan
8a2fff7a78
Fix a problem with FK constraints that implicitly map to a composite primary key.
...
FossilOrigin-Name: e0a48d53110130de75602603f524539e421a9dba
2009-09-23 18:07:22 +00:00
dan
32b09f29c9
Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour.
...
FossilOrigin-Name: 1a32149cc3c722058f4ed4c81edadeb6ce5bc9e4
2009-09-23 17:29:59 +00:00
dan
1da40a381f
Check in implementation of foreign key constraints.
...
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
drh
3e9ca09453
Code simplifications, especially to the pseudo-table logic, and comment
...
improvements.
FossilOrigin-Name: 52449a9569b7142095cc88ee208b31cc59a3cab4
2009-09-08 01:14:48 +00:00
dan
65a7cd1631
More fixes and comment updates.
...
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan
76d462ee78
Fixes for new triggers scheme.
...
FossilOrigin-Name: 9eb91efda5241609ff18ff15ef5eaa0e86788eab
2009-08-30 11:42:51 +00:00
dan
165921a742
Changes to support recursive triggers.
...
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh
35f6b936ce
Simplifications to vdbe.c to promote better test coverage. (CVS 6802)
...
FossilOrigin-Name: 3ffc93d762b64fd84f47c4b6d68ab56b69ea98a9
2009-06-23 14:15:04 +00:00
drh
aa73609f92
Simplifications to vdbe.c in support of coverage testing. (CVS 6794)
...
FossilOrigin-Name: 16680f05bd169dfb1b4bf0eb082e69701f9b07ab
2009-06-22 00:55:30 +00:00
drh
8bfdf72136
Reorganize and cleanup the prepared statement object. Remove code that has
...
been commented out for ages and is no longer relevant to anything. (CVS 6786)
FossilOrigin-Name: 37ae5f5e8feb34a8e6e8b34aa18df1e9a1ce55cb
2009-06-19 14:06:03 +00:00
drh
35cd643cc7
Take care that a corrupt variable-length integer does not cause 32-bit
...
integer overflow when parsing a record format, nor cause excessively large
memory allocations. (CVS 6719)
FossilOrigin-Name: 38b20327a80996c7044b88be32161ac4ac0ec3a9
2009-06-05 14:17:21 +00:00
danielk1977
de630353d8
Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599)
...
FossilOrigin-Name: cac4f3d812f0a02ca5c1fa78d366f694403929a8
2009-05-04 11:42:29 +00:00
drh
1b26c7ccfa
Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535)
...
FossilOrigin-Name: e963bed0fe3ce5fa32f04b930e5ed0956dc2aa47
2009-04-22 02:15:47 +00:00
danielk1977
1d46146b58
Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527)
...
FossilOrigin-Name: f61e4cd93682fd98bea2a71d346f9eaa68454390
2009-04-21 09:02:45 +00:00
danielk1977
f7590db099
Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481)
...
FossilOrigin-Name: 683e4bd74783e6e3f6cf75f9582008c7b7e02a01
2009-04-10 12:55:16 +00:00
danielk1977
bd43455c38
Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355)
...
FossilOrigin-Name: a60f4191791dd7bb49d5c95b350a9924845b59a8
2009-03-18 10:33:00 +00:00
drh
7f75122149
Move the rowid cache out of VdbeCursor and into BtCursor. When multiple
...
BtCursors are open on the same table, set their rowid cache all at the
same time. Ticket #3731 . (CVS 6354)
FossilOrigin-Name: 189785832a7dc9f4a0a2113d850b92b987e0f9bf
2009-03-17 22:33:00 +00:00