1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00
Commit Graph

734 Commits

Author SHA1 Message Date
drh
f33c9fad35 Preliminary fix for ticket #2291. This fixes the immediate problem. But
we really need to write more tests for the xfer optimization in order to
look for other related problems before closing this ticket. (CVS 3835)

FossilOrigin-Name: 34fec312fd1aeabb04e07d6aa061991775c7b8a1
2007-04-10 18:17:55 +00:00
drh
61fc595fdd Fix some warnings about unused and uninitialized variables. (CVS 3788)
FossilOrigin-Name: 18aec1ddfb08b74f0ef9cf1215eac7af71449db3
2007-04-01 23:49:51 +00:00
drh
bd36ba69b0 The XFER optimization works if the target table lacks an integer primary
key and is not empty as long as it has no indices.  It always has and
continues to work if the target table was empty. (CVS 3779)

FossilOrigin-Name: 2c62ffcb865655e8b91aaf81601548ea540c6088
2007-03-31 13:00:26 +00:00
drh
42242ded5e Fix a bug in XFER optimization introduced by check-in (3736). (CVS 3744)
FossilOrigin-Name: 3714ac173289e580a0302a5a3beac05823d92c5b
2007-03-29 13:35:35 +00:00
drh
e4d9081307 Change BtreeMoveto so that it can be biased to the right or to the center.
Use a right bias when appending and a center bias when searching.  This
gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741)

FossilOrigin-Name: ad4a6b1a91bcefd8a4c75e8dc99c1153c72c31a3
2007-03-29 05:51:49 +00:00
drh
7fc2f41bef Patch so the the code compiles with -DSQLITE_OMIT_CHECK=1. (CVS 3737)
FossilOrigin-Name: 72cea358da4bd38af322f18f2a753171f7decaf8
2007-03-29 00:08:24 +00:00
drh
95bad4c751 Improvements to the XFER Optimization of the INSERT statement. (CVS 3736)
FossilOrigin-Name: 53fff7d1f2f829010a2641c7738538b3155da4b2
2007-03-28 18:04:10 +00:00
drh
91c58e23b2 Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full
regression.  Add the script for generating sqlite3.c. (CVS 3723)

FossilOrigin-Name: 42c038518c4ba0ef827a5717d450f95165b3c729
2007-03-27 12:04:04 +00:00
drh
fb658dedce Additional test cases added. Improvements to the INSERT transfer
optimization. (CVS 3662)

FossilOrigin-Name: 2bf5475bde763f73f7f4dd9cac7d13a631a7d2aa
2007-02-24 15:18:49 +00:00
drh
dd73521bc2 Additional tests and some improvements to the INSERT transfer
optimization.  More testing is needed. (CVS 3661)

FossilOrigin-Name: 830985814345f71ba2def3c206e36aabe9e1ee7c
2007-02-24 13:53:05 +00:00
drh
8103b7d2b7 Make sure the INSERT xfer optimization does not trigger if the CHECK
constraints on the two tables are not identical.  Ticket #2252. (CVS 3660)

FossilOrigin-Name: 6fc18275230563437f2985eac3795e4dfe8eb9de
2007-02-24 13:23:51 +00:00
drh
9d9cf22971 Add a new algorithm for handling INSERT which reduces fragmentation on
a VACUUM.  Ticket #2075.  More testing needed. (CVS 3643)

FossilOrigin-Name: 9f56a878cbbc715262b3a48ee696148dbd7bf1d2
2007-02-13 15:01:11 +00:00
drh
16ed8a64f6 Bug fix: Get INSERT INTO ... SELECT working when the target is a virtual
table. (CVS 3374)

FossilOrigin-Name: 7912485705c96e365a942932bb12d5b9113c9885
2006-08-29 18:46:14 +00:00
drh
147d0ccc15 Add support for INSERT INTO ... DEFAULT VALUES. Tickets #299, #1940. (CVS 3368)
FossilOrigin-Name: bc84cb54b0df09738fd90e48820dc3cdfa7828c2
2006-08-25 23:42:53 +00:00
danielk1977
b3d24bf8ee Add tests to ensure an INSERT/UPDATE/DELETE immediately after virtual table construction does not fail. (CVS 3270)
FossilOrigin-Name: 144d0eb13aed4507e93edec781b1819a068f4a70
2006-06-19 03:05:10 +00:00
danielk1977
f9e7dda7ef Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261)
FossilOrigin-Name: 6125140228e09cad2029a48e92aa0123d3daecfb
2006-06-16 16:08:53 +00:00
danielk1977
1f6eec547c Arrange for sqlite3_last_insert_rowid() to work with virtual tables. (CVS 3259)
FossilOrigin-Name: afa39a46320e9996a5478ea6e19eb4c2014327ac
2006-06-16 06:17:47 +00:00
danielk1977
c7d5410126 Simple tests and fixes for writing to virtual tables. (CVS 3252)
FossilOrigin-Name: 88fa510e4c684513bbb59031d034fdb5c51a6a15
2006-06-15 07:29:00 +00:00
drh
4cbdda9e27 Added code to INSERT, DELETE and UPDATE virtual tables. The new code is
mostly untested. (CVS 3248)

FossilOrigin-Name: 32c97b884b104d120db3c0a87f5eab28f36851f8
2006-06-14 19:00:20 +00:00
drh
b9bb7c187e Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211)
FossilOrigin-Name: 898ec36b4102aaa03979f8f5c510936e57e2ae48
2006-06-11 23:41:55 +00:00
drh
aa01c7e2cd Fix CHECK constraints to use alternative conflict resolution. Ticket #1717. (CVS 3137)
FossilOrigin-Name: c0d20fa97f94313e6b7ee5b4baa236ef5b664d76
2006-03-15 16:26:10 +00:00
drh
43617e9ab9 Code changes resulting from Coverity analysis.
http://scan.coverity.com/  Found 1 potential segfault in sqlite3_mprintf().
Also 2 failures to fclose() following a malloc() failure.  And lots of
cases where unnecessary conditionals could be removed from the code. (CVS 3126)

FossilOrigin-Name: e510e6dd9d6261f33b853af3b32d155b9d6b63b3
2006-03-06 20:55:46 +00:00
drh
74161705f1 Remove unused parameters on internal APIs. Suppress warnings from
CodeWarrior. (CVS 3110)

FossilOrigin-Name: 4b22e4b847f8d5c29830baea541194ef3a0c4811
2006-02-24 02:53:49 +00:00
danielk1977
955de52c9c Add the column_origin_name() etc. APIs. (CVS 3069)
FossilOrigin-Name: 82f502cdc1fead3bf7e3190d5c9db3aee6919ed4
2006-02-10 02:27:42 +00:00
danielk1977
f011300000 Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024)
FossilOrigin-Name: d86f18a4277ebffb644ba2e574e0b697c8bbf8e4
2006-01-24 12:09:17 +00:00
drh
02afc86171 More compiler warnings fixed - or in some cases comments are added to explain
that the compiler is wrong. (CVS 2984)

FossilOrigin-Name: 507653a98cbd096f836a977408e373640c7cdb8f
2006-01-20 18:10:57 +00:00
danielk1977
9e12800dec Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972)
FossilOrigin-Name: ac090f2ab3b5a792c2fdf897e10060f263e0d408
2006-01-18 16:51:35 +00:00
drh
6f7adc8a80 Automatically deallocate thread-specific data when it is no longer
being used.  Ticket #1601.  Also implemented the suggestion of
ticket #1603. Memory management is now off by default at compile-time.
The sqlite3_enable_memory_management() API has been removed. (CVS 2919)

FossilOrigin-Name: 5d9c6aa964305c3f36741ff0058da5b5f3ce0d24
2006-01-11 21:41:20 +00:00
danielk1977
b3bf556ef6 Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904)
FossilOrigin-Name: 0f0213be4d064b3d24e31ff93ec16f6862003d26
2006-01-10 17:58:23 +00:00
danielk1977
e501b89ada Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893)
FossilOrigin-Name: 82b81f69c78cb3f54634d9aea4f6a838474dc5e5
2006-01-09 06:29:47 +00:00
drh
15007a99e4 Get LIMIT and OFFSET working again for negative limits and offsets.
Ticket #1586. (CVS 2889)

FossilOrigin-Name: b2ac0be07ec76ab23b7e5b800c0bc62d0bc97f4b
2006-01-08 18:10:17 +00:00
danielk1977
c00da10565 In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881)
FossilOrigin-Name: 23b587b05b89727248805e6d9e5141e018cf2152
2006-01-07 13:21:04 +00:00
danielk1977
da18423620 Add the shared schema/pager modifications. Very few tests so far. (CVS 2859)
FossilOrigin-Name: deeda0dc06c1595aedd8d06a0c4e88a8abf78cf7
2006-01-05 11:34:32 +00:00
danielk1977
94eb6a14cb Add the sqlite3_update_hook() API. (CVS 2820)
FossilOrigin-Name: 36229018817eebfbfca7a66d2285e4faf7b39845
2005-12-15 15:22:08 +00:00
danielk1977
261919cc16 Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800)
FossilOrigin-Name: e1606658f1b4530e3001db4779b5669c8d13c853
2005-12-06 12:52:59 +00:00
drh
3eda040be9 Fix incorrect type conversions when copying from a table into itself.
Ticket #1536. (CVS 2773)

FossilOrigin-Name: a2e55a3828d74d78b0b76f956a537a0d906f3191
2005-11-24 13:15:32 +00:00
drh
8a51256c0c Create separate affinities for INTEGER and REAL. (CVS 2766)
FossilOrigin-Name: ce06c123d0c5663dbaf263c2e0aaf5d9cdeb2ccd
2005-11-14 22:29:05 +00:00
drh
0cd2d4c9a1 Add the ignore_check_constraints pragma. VACUUM works even on a database
that contains table entries that violate check constraints. (CVS 2757)

FossilOrigin-Name: be83bfee0211396a0038ffb125897199bea9a73f
2005-11-03 02:15:02 +00:00
drh
6275b88b9e CHECK constraints that evaluate to NULL pass. (CVS 2755)
FossilOrigin-Name: 55b314a22c69fbe129b024e953f3230b67eaaa87
2005-11-03 01:22:30 +00:00
drh
ffe07b2dc1 First cut at supporting CHECK constraints. Everything appears to work,
but much more testing is needed as well as documentation. (CVS 2754)

FossilOrigin-Name: 2313d912baeca0fd516d524f16708953de483729
2005-11-03 00:41:17 +00:00
drh
8df447f0e6 Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now
of type real, though an integer representation is still sometimes used
internally for efficiency. (CVS 2753)

FossilOrigin-Name: e0d6f61c7de2c03b8fd17ef37cf1a0add36ee618
2005-11-01 15:48:24 +00:00
drh
d654be803f Code cleanup and simplification. Three new Mem opcodes added.
The sqlite3VdbeJumpHere function added. (CVS 2730)

FossilOrigin-Name: 2471957feee57538e5e1e50a704a337f0927d10e
2005-09-20 17:42:23 +00:00
drh
29dda4ae65 Split the OP_Integer opcode into OP_Integer and OP_Int64. This allows
comments to be added to OP_Integer.  Cleanup in the optimizer.  Allow
terms of the FROM clause to be reordered automatically. (CVS 2556)

FossilOrigin-Name: e2f822ac82d0a5a59de0b63cce65d4fd6c178ff1
2005-07-21 18:23:20 +00:00
drh
9170dd7e1c Change the name of the OpenTemp opcode to OpenVirtual which is more
descriptive of what it does. (CVS 2541)

FossilOrigin-Name: 3bb9ce5f20d0a6bc19df31df9b8e82044c3e6004
2005-07-08 17:13:46 +00:00
drh
7f057c9166 NULL values in a row of a unique index cause the row to be distinct.
Ticket #1301.  More testing and optimization needs to be done on this
before closing the ticket. (CVS 2526)

FossilOrigin-Name: 06a71b162b032fc5b56d18919a784d4ee94dde7c
2005-06-24 03:53:06 +00:00
drh
f0863fe568 Update older opcode names to be more meaningful in light of the latest
code design. (CVS 2506)

FossilOrigin-Name: 36f2da1f8d8d434f861ecad55c9d86549751c954
2005-06-12 21:35:51 +00:00
drh
38fba69135 Fix an infinite loop in the code generator for INSERT. Ticket #1140. (CVS 2410)
FossilOrigin-Name: 876d09d9145775956913e975c29e81d7553839ac
2005-03-21 01:20:58 +00:00
danielk1977
d5d565235b Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388)
FossilOrigin-Name: 9a358fc33d726d0b5782bf65b50f61f2bd096d56
2005-03-16 12:15:20 +00:00
danielk1977
4d88778b26 Fix a buggy interaction between "INSERT ... SELECT" processing and optimization (2170). (CVS 2319)
FossilOrigin-Name: c54ad2123693be8777d80343979e3261c4892105
2005-02-08 08:42:27 +00:00
danielk1977
b3bce66232 Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286)
FossilOrigin-Name: b1b50f315873a8614920d1e3af4a07fb29a7ff6a
2005-01-29 08:32:43 +00:00