1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

2168 Commits

Author SHA1 Message Date
drh
6a9c64b363 Make sure internal queries are well ordered, even when the
reverse_unordered_selects pragma is in effect.
Ticket [eb942c64a157].

FossilOrigin-Name: 0209f17180065d9c213b6c437be1c3c40660665f
2010-01-12 23:54:14 +00:00
drh
13573c71d8 Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined.
FossilOrigin-Name: 66bab8561926963a87f15ad559cba36545c9892c
2010-01-12 17:04:07 +00:00
drh
c79c761f84 Add evidence marks associated with autoincrement.
FossilOrigin-Name: 0e918c54893c361fb005295847f89aadcbfae35d
2010-01-01 18:57:48 +00:00
shaneh
5e17e8b7dd Fix a couple of compiler warnings under MSVC.
FossilOrigin-Name: e3aa0870fce0666bf8c67ad6ec23e135d03b604a
2009-12-03 04:40:47 +00:00
drh
c7bc4fde3c Initial check-in of code that inserts tokenizations of the values
for bound parameters into the output of sqlite3_trace().

FossilOrigin-Name: 545cfb3b63f482036ae152e6ebcce86d373585a8
2009-11-25 18:03:42 +00:00
drh
5ff44379b3 Fix a tracing macro in the VDBE in the VColumn opcode.
FossilOrigin-Name: cb74b81bb0322efdd66146d7de466c14564b18fd
2009-11-24 16:26:17 +00:00
drh
3278315768 If the root pages numbers of the internal schema are adjusted due to
autovacuum on a DROP TABLE statement and that statement later aborts (for
example, due to an OOM error) then reset the internal schema at the
conclusion of the statement.
Partial fix for ticket [564d412f15a].

FossilOrigin-Name: e493b093f8ca722c3160b32a16fb615023978dc9
2009-11-20 15:02:34 +00:00
drh
f25a5071a6 Performance improvement by avoiding unnecessary calls to memset().
FossilOrigin-Name: 85940468e6f93f7c493fbc129f13cf6233c5d0c0
2009-11-18 23:01:25 +00:00
drh
3c65721a5b Enhancements to the VDBE opcode loop to reduce the number of machine-code
instructions evaluated by about 10%.

FossilOrigin-Name: 9744ffb3f5bc6d8fd59fbb6577a0d549411cd967
2009-11-17 23:59:58 +00:00
drh
039fc32e84 Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes.
FossilOrigin-Name: ebb0c8a3e977dc741704e733b5a5d931d9b27028
2009-11-17 18:31:47 +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
bbe879d516 Make the sqlite3VdbeExec() function about 2% faster by storing the opcode
array in a local variable.

FossilOrigin-Name: 8bd3cc82720ac7e8a9d4a03a882b6f8226867b0d
2009-11-14 18:04:35 +00:00
drh
1f35012c11 Performance improvements and size reductions on the OP_Seek* family of
VDBE opcodes.

FossilOrigin-Name: ed820f45cf4354b1e1db64049c47a07221a7ff6d
2009-11-13 20:52:43 +00:00
drh
93952eb8c5 Simplify the OPFLG processing logic in the VDBE for a speed boost in the
VDBE processing loop and a reduction in code size.

FossilOrigin-Name: 3352b3eba545c3128efb7665ec91d4df3b16011d
2009-11-13 19:43:43 +00:00
drh
c54055bd25 Force 8-byte memory alignment on memory allocated for VDBE cursors.
FossilOrigin-Name: bdc45ba77fb77771c8ff46b8d6c2dd29e6d3b019
2009-11-13 17:05:53 +00:00
drh
8cff69df11 Enhance the OP_Found and OP_NotFound opcodes so that they can accept an
array of registers as an unpacked record in addition to a record built
using OP_MakeRecord.  Use this to avoid OP_MakeRecord calls during IN
expression processing.

FossilOrigin-Name: b9eab885cd2ca1a1633329e7036c125e8dba62c5
2009-11-12 19:59:44 +00:00
drh
e3365e6c37 Factor out the IN operator code generation into a subroutine. Use this
subroutine to implement both logic and branching versions of the IN operator.

FossilOrigin-Name: fcff5b7e2d059ffb8d21df57d0c9648bd876e813
2009-11-12 17:52:24 +00:00
drh
9b918ed1d8 Adjustments to the implementation of LIMIT so that it uses fewer opcodes.
FossilOrigin-Name: 39d5b292d27faf00ab58ff4074f91f7aea97cd99
2009-11-12 03:13:26 +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
e05c929b78 Reduce the memory required by prepared statements that use the IN operator
with a list on the right and an INTEGER PRIMARY KEY on the left.

FossilOrigin-Name: e7984ad2f7e4be30e7198ebd6609a7f6177513e2
2009-10-29 13:48:10 +00:00
drh
ebecd2c970 Merge the sqlite3_reoptimize() changes into the trunk.
FossilOrigin-Name: 50136840d54674c239613265ebbacaabf215f4e2
2009-10-16 16:21:51 +00:00
dan
fa401def25 Experimental fix for [f777251dc7]. This may be changed yet.
FossilOrigin-Name: 174477bca05d019e663fd2b7cd031189ab2e010a
2009-10-16 14:55:03 +00:00
dan
937d0dea4f Add the experimental sqlite3_reoptimize() API.
FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
2009-10-15 18:35:38 +00:00
drh
9e9f1bd1c0 When a write transaction fails to being because the database is read-only,
fail right away.  Do not give the error code an opportunity to be
overwritten with SQLITE_OK.  Ticket [5ee23731f15].

FossilOrigin-Name: bc1101179abb4577417c971a7e4fbacde50e19a2
2009-10-13 15:36:51 +00:00
dan
f589450dc9 Add some tests of statements in foreignkeys.html.
FossilOrigin-Name: 8382867956caf20f62c46c15b456c1c16d0824fd
2009-10-07 18:41:19 +00:00
dan
0ff297eaa7 Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations.
FossilOrigin-Name: 519144ac437b5842e4213f0e81e05c709939c2ab
2009-09-25 17:03:14 +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
drh
6a2fe09387 Generalize the IS and IS NOT operators so that their right-hand side can be
an arbitrary expression and not simple the constant NULL.  They work like
= and <> except that NULL values compare equal to one another an unequal to
everything else.

FossilOrigin-Name: 98853f6104076c50ea92175e17a3254bfbbd4619
2009-09-23 02:29:36 +00:00
dan
ba9108b84a Fix compilation errors when OMIT_FOREIGN_KEY is defined.
FossilOrigin-Name: c447cb37d6439090eb08028d54a91d7d06043744
2009-09-22 07:13:42 +00:00
dan
1da40a381f Check in implementation of foreign key constraints.
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
shane
abc6b89085 Cleanup of warnings on MSVC build.
FossilOrigin-Name: 5588cc96bbe0b9df5f8d31f8f2d2b48b3f54ff09
2009-09-10 19:09:03 +00:00
dan
ae0931edae Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes.
FossilOrigin-Name: 9a4c59a2ddd0df2d9425097004b450a6685f2147
2009-09-09 15:06:10 +00:00
dan
e0af83aca6 Combine the OP_Statement and OP_Transaction opcodes.
FossilOrigin-Name: aec9dbd8d21c55c3945287a3dfa55d3ed168f977
2009-09-08 19:15:01 +00:00
drh
b7f1d9a747 Further simplifications to the VDBE - removing functionality that is no longer
used.

FossilOrigin-Name: b271e16621831957468a1d3925174aac73f58891
2009-09-08 02:27:58 +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
drh
417168ade2 Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit().
FossilOrigin-Name: d7dc8b433691745b3842282569f1573d1e057963
2009-09-07 18:14:02 +00:00
shane
cea72b2dc2 Warning cleanup from the MSVC compile.
FossilOrigin-Name: 26cd015c0ee1c18dd37f11b47ce35cfa320b3514
2009-09-07 04:38:36 +00:00
dan
5bde73c4eb Change "PRAGMA disable_recursive_triggers" to "PRAGMA recursive_triggers". Also a fix for compiling with OMIT_TRIGGER defined.
FossilOrigin-Name: e016cca36390451d5d1c6e0d1b3cdbd6d869be1a
2009-09-01 17:11:07 +00:00
dan
65a7cd1631 More fixes and comment updates.
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan
2832ad4221 More fixes for test cases.
FossilOrigin-Name: 85d9f23be1e8673dbda42e43b9b23332ada9225f
2009-08-31 15:27:27 +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
dan
e275dc3fb8 Change the sqlite_stat2 schema to be more flexible.
FossilOrigin-Name: ded9dec6459baf21e01f63250db5ace57f390e7a
2009-08-18 16:24:58 +00:00
dan
02fa469619 First version of sqlite_stat2 (schema forces exactly 10 samples).
FossilOrigin-Name: dd96bda2a85c1d94fb4a0bf5f27e2977f7f7e42e
2009-08-17 17:06:58 +00:00
danielk1977
595a523a10 Allow virtual tables to be used in shared-cache mode. (CVS 6928)
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
drh
ea8ffdfec7 Further simplifications to btree.c, especially the sqlite3BtreeKey() and
sqlite3BtreeData() functions.  New assert() statements added to verify
that these routines are called correctly. (CVS 6917)

FossilOrigin-Name: 96cfd079528501f6f1e658ce8a5a4e3bdea729be
2009-07-22 00:35:23 +00:00
drh
c27ae614dd Add comments and assert() statements to show that the return value from
sqlite3BtreeKeySize() and sqlite3BtreeData() usually do not matter.
Ticket #3968.  Also remove a NEVER() macro that can sometimes be true -
discovered while testing the previous change. (CVS 6893)

FossilOrigin-Name: 0c710c1be537127511d95b5b261c7bf26e1bc952
2009-07-14 18:35:44 +00:00
drh
6be240e546 Make sure the IN operator works with zeroblobs. Ticket #3965.
Other simplifications associated with structural testing. (CVS 6890)

FossilOrigin-Name: 25dd342283046aaf66a679348ef1c7364c616402
2009-07-14 02:33:02 +00:00
danielk1977
172114a02e Do not load the root-page of a b-tree table/index when opening a cursor. Instead, allow it to be loaded when the cursor is first used (in function moveToRoot()). Also move the root-page flags sanity checks that were a part of the OP_OpenRead/OpenWrite opcodes into the moveToRoot() function. (CVS 6856)
FossilOrigin-Name: 06dcfe72a6ff3f63639eeb00ec5b5022d10fc55b
2009-07-07 15:47:12 +00:00
danielk1977
e0d9e6f623 Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841)
FossilOrigin-Name: e2112d6160a82ccd4b6a1c798d2064d0f1b086eb
2009-07-03 16:25:06 +00:00