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

381 Commits

Author SHA1 Message Date
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
drh
4794f73524 Create table now works with sqlite3NestedParse. This changed uncovered
a latent bug in xprintf which is also fixed. (CVS 2069)

FossilOrigin-Name: b0506bdd701339d63166ada065445776dd499588
2004-11-05 17:17:50 +00:00
danielk1977
e7de6f25a8 When using sqlite3NestedParse() to modify the sqlite_master table, do not code OP_Callback. (CVS 2063)
FossilOrigin-Name: 296a298c484aac981e7e490a0cb4159717fc4ea4
2004-11-05 06:02:06 +00:00
drh
205f48e635 Incremental check-in of changes that will ultimately lead to a
working autoincrement. (CVS 2056)

FossilOrigin-Name: 10c3d88305e404b9e4cc4eef0b8e5dc7864a5937
2004-11-05 00:43:11 +00:00
drh
798da52ce7 All tests pass even if OMIT_TRIGGER is defined. (CVS 2053)
FossilOrigin-Name: c33b3a613751057e8a46fdcd428b8448329d414d
2004-11-04 04:42:28 +00:00
drh
b7f9164e98 Insert #ifdefs that can optionally remove features at compiletime resulting
in a database engine with a smaller footprint. (CVS 2034)

FossilOrigin-Name: be661acfa849bb0d5692797dd221f5a8a457f8ad
2004-10-31 02:22:47 +00:00
drh
f404083e56 Add the experimental and scary pragma "writable_schema". (CVS 2027)
FossilOrigin-Name: 39f7870a54d90d5163fcad3f08cd63699c4bb567
2004-10-22 20:29:21 +00:00
drh
684917c269 Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000)
FossilOrigin-Name: 81ff8107ad63113782cf5a9ba7a512496114ba08
2004-10-05 02:41:42 +00:00