1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-06 15:49:35 +03:00
Commit Graph

238 Commits

Author SHA1 Message Date
drh
2f6751f91e Remove a surplus OP_Close from delete.c. Fixes a problem with (4654). (CVS 4655)
FossilOrigin-Name: 03cc91b3b0ff9be192532f8a404b3c7b827e1449
2008-01-02 13:05:51 +00:00
danielk1977
e448dc4abf Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654)
FossilOrigin-Name: f1966a8a47fca85f7862c0797a527ab01ac8b0c1
2008-01-02 11:50:51 +00:00
drh
d4e70ebd6f Begin setting a foundation on which to convert the VM from a stack-based
to a register-based machine.  Everything is still mostly stack based with
this check-in.  This change merely begins adding infrastructure to support
a register-based architecture. (CVS 4652)

FossilOrigin-Name: 051ec01f2799e095516015f2ef0180e50fac387c
2008-01-02 00:34:36 +00:00
danielk1977
8f2c54e6e2 Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651)
FossilOrigin-Name: e08a33ed7255c22ce2805363f44a1d7770acb2dd
2008-01-01 19:02:09 +00:00
danielk1977
997a904016 Try to find some more stack leaks by adding OP_StackDepth to loops in DML statements. None were found. (CVS 4617)
FossilOrigin-Name: 12c3029b1edcff4435177c709fb2584323f8c515
2007-12-12 17:42:53 +00:00
danielk1977
6811e399ff Remove a couple of lines in delete.c that weren't doing anything. (CVS 4616)
FossilOrigin-Name: 86332c79aedb64842e589ff941c637f8e1aabd41
2007-12-12 17:19:27 +00:00
danielk1977
967573d56a Fix some problems similar to #2832, but caused by triggers instead of an OR REPLACE clause. (CVS 4615)
FossilOrigin-Name: ee98ae17187296f7b0181c3d4d2b942d5cd4bc8f
2007-12-12 16:06:23 +00:00
drh
95c0775484 Fix the code generation for UPDATE and DELETE so that
BEFORE triggers that use RAISE(IGNORE) do not leave extra
values on the stack.  Ticket #2767 (CVS 4535)

FossilOrigin-Name: 3391f4139ccfe62cc27739a06567c422ddae9c69
2007-11-11 18:36:34 +00:00
drh
174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
danielk1977
a04a34ff1a Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845)
FossilOrigin-Name: 8d6c3bfc4dfdd380a2915d778e256d3e49d22d72
2007-04-16 15:06:25 +00:00
drh
53a677749f Change the coding of PRAGMA count_changes so that it uses memory cells
of the VM rather than the stack, to avoid problems with leftovers on the
stack interfering with other operations.  Ticket #2217. (CVS 3632)

FossilOrigin-Name: 2bd4b62a20219f939ac2ac22440dc7fc0449f766
2007-02-07 01:06:52 +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
d1ab1ba5ed Add void* argument to sqlite3_create_module to replace sqlite3_module.pAux. (CVS 3251)
FossilOrigin-Name: 470a3a0b20775be1226fb4d477c798d8da2d5708
2006-06-15 04:28:13 +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
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
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
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
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
9d2985c7b4 Optimizations and refinements. Improvements to test coverage. (CVS 2667)
FossilOrigin-Name: 7283f7c29db4f622380b6a5cb745a4dc0c8e6a25
2005-09-08 01:58:42 +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
a01f79df49 Replace OP_List with OP_Fifo. This is the first step toward allowing
recursive delete triggers and later foreign keys with cascading deletes. (CVS 2538)

FossilOrigin-Name: 94c120bb782fed53142317d1755e70c858930486
2005-07-08 13:07:59 +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
ed8a3bb108 Reference count Table structures so that they are not deallocated too soon.
Ticket #1210. (CVS 2498)

FossilOrigin-Name: e73d25c7419d580c47925494621df26d2fb9f27e
2005-06-06 21:19:56 +00:00
drh
f8db1bc03b Remove some vestigal code. Add the experimental sqlite3_transfer_bindings()
API. (CVS 2446)

FossilOrigin-Name: 88b39436f00d645cdb6333a7413c698c42227d3f
2005-04-22 02:38:37 +00:00
kwel
ae87f0ed25 Fixed stack growth in delete trigger on views (tkt #1169) (CVS 2442)
FossilOrigin-Name: 1a757ba13292577d01bd7b66811bcfd6748b9f7e
2005-04-08 16:07:47 +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
aee18ef8e2 Support for a future ALTER TABLE command to add columns with default values. (CVS 2367)
FossilOrigin-Name: 9d5abc1ddf6da37563c12d5a0401b89bb4e51c59
2005-03-09 12:26:50 +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
danielk1977
b84f96f854 Extend the influence of a couple of SQLITE_OMIT_** macros a little bit. (CVS 2243)
FossilOrigin-Name: 5b1a9bf6aa5a5c466b88f649e322e81b8466851f
2005-01-20 11:32:23 +00:00
drh
1398ad3639 Continued refactoring of the name resolution logic and query optimizer. (CVS 2236)
FossilOrigin-Name: d8b2a7e09187564fe66a2b4bf0992c6a017146cf
2005-01-19 23:24:50 +00:00
drh
73b211abed Refinements to the name resolution logic. Change the name of the
keywordhash.c file to keywordhash.h. (CVS 2229)

FossilOrigin-Name: 0142ae6f0004bf18a1c2d8e49c09d2a9a27d6369
2005-01-18 04:00:42 +00:00
drh
626a879a25 Infrastructure changes to handle name resolution differently. This is needed
to fix various long-standing problems with column names in joins.  It will
also make the implementation of correlated subqueries easier. (CVS 2228)

FossilOrigin-Name: 4a7534396a72ccb300303df28798bb2c50293782
2005-01-17 22:08:19 +00:00
danielk1977
cc6bd38380 Fix an assertion failure due to interaction between the count_changes pragma and triggers. (CVS 2187)
FossilOrigin-Name: 6c7bec1b3aee0287e30f43c1d6a7b67b1c47e774
2005-01-10 02:48:49 +00:00
drh
e6f85e71e9 Fix ticket #1046 by removing code and simplifying the query optimizer.
Remarkably, this simplification also makes the optimizer do a better job.
Ticket #1051 was fixed as a side-effect. (CVS 2172)

FossilOrigin-Name: 5fd1f4711885e3dd6fb2c2700287f78bb0ea178a
2004-12-25 01:03:13 +00:00
drh
23bf66d6af Minor code and comment cleanup. (CVS 2165)
FossilOrigin-Name: d012628a78edaa8d3cb438a7dcc3770b2eb8588b
2004-12-14 03:34:34 +00:00
drh
dca7684141 Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157)
FossilOrigin-Name: 8e164ab27771aced9a592ea4b7c27e9f184181a5
2004-12-07 14:06:13 +00:00
drh
e4e7207248 More work on the implementation of cursors, but they are still not
functioning. (CVS 2142)

FossilOrigin-Name: 8b61d1ae1ca469b80f2b344d550c3b363448b193
2004-11-23 01:47:30 +00:00
danielk1977
299b187d76 Back out changes allowing writes to tables that have open cursors. (CVS 2133)
FossilOrigin-Name: 91acd87e52509a8f78894d0f4b625b54376cac21
2004-11-22 10:02:10 +00:00
danielk1977
ed326d7047 Perform deletes in a single pass. (CVS 2104)
FossilOrigin-Name: a2e1c35b327e33684ab19e5f65727c42c7b2949c
2004-11-16 15:50:19 +00:00