SQLite

All files named ”src/trigger.c”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/trigger.c

2025-03-15
20:35
[968330bc57] part of check-in [271e0373a8] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [271e0373a8] user: drh branch: reuse-schema, size: 55600)
2025-03-14
18:10
[3ffb8ed6b6] part of check-in [6fd6b32d06] Make use of the flexible-array feature of C99, when available, to try to pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. (check-in: [6fd6b32d06] user: drh branch: flex-array, size: 54671)
2025-02-18
14:56
[24e5859e35] part of check-in [b2bf063011] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b2bf063011] user: drh branch: reuse-schema, size: 55537)
2025-02-07
15:49
[da3c257868] part of check-in [45e462c006] Further reduction in the amount of memset() needed to initialize the Parse object. (check-in: [45e462c006] user: drh branch: trunk, size: 54608)
13:37
[9f887ae4d3] part of check-in [284538d848] Reduce the amount of memset() needed to initialize the Parse object. (check-in: [284538d848] user: drh branch: trunk, size: 54538)
2025-01-06
20:39
[6868181a0e] part of check-in [65ede04d21] Implemenation of experimental API sqlite3_schema_copy(), for copying a database schema between connections. More testing to come. (check-in: [65ede04d21] user: dan branch: schema-copy, size: 54489)
2024-12-16
14:06
[6736f9cacf] part of check-in [58563686eb] Merge all the latest trunk changes and enhancements into the reuse-schema branch. (check-in: [58563686eb] user: drh branch: reuse-schema, size: 55417)
2024-12-12
15:11
[247e2d712d] part of check-in [e8d7d68ba0] Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: [e8d7d68ba0] user: drh branch: trunk, size: 54488)
2024-08-29
17:42
[cfe7abf63a] part of check-in [87aa6fc212] Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: [87aa6fc212] user: drh branch: reuse-schema, size: 55416)
2024-08-20
19:09
[0bb986a5b9] part of check-in [fd72d3400a] Tighter checking of access constraints on union members in SrcItem. Improved invariant checking. (check-in: [fd72d3400a] user: drh branch: srcitem-opt, size: 54487)
2024-08-17
23:23
[68d849ea6c] part of check-in [9f5aeef3cb] Give unique names to fields in the SrcItem object, to facilitate analysis of how those fields are used using "grep". (check-in: [9f5aeef3cb] user: drh branch: srcitem-opt, size: 54402)
19:46
[423b50d4ee] part of check-in [a4c59ac3c6] Reduce the size of the SrcItem object by combining fields into a union. (check-in: [a4c59ac3c6] user: drh branch: srcitem-opt, size: 54400)
2024-05-21
15:20
[72e02cc2e1] part of check-in [97e0af8882] Merge the lates trunk enhancements into the reuse-schema branch. (check-in: [97e0af8882] user: drh branch: reuse-schema, size: 55118)
2024-04-24
16:36
[0858f75818] part of check-in [9ea6bcc8fd] If a RETURNING clause contains a subquery that references the table that is being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated so that it is recomputed for each result and not just computed once and reused. See forum post 2c83569ce8945d39. (check-in: [9ea6bcc8fd] user: drh branch: trunk, size: 54189)
11:51
[d087b9f504] part of check-in [6f0e7e1952] Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: [6f0e7e1952] user: drh branch: trunk, size: 52136)
11:21
[fd559df58f] part of check-in [cef4d9e3ba] Ensure that temporary SrcItem objects created by trigger processing have either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. (check-in: [cef4d9e3ba] user: drh branch: trunk, size: 52115)
2024-03-02
11:02
[15ca35f491] part of check-in [e70d6be751] Simplifications to multi-DROP logic. (check-in: [e70d6be751] user: drh branch: multi-drop, size: 52280)
2024-02-29
19:40
[a6fd09ef8b] part of check-in [02f9fc73ee] Attempt to fix multi-object DROP. Working better, but still not perfect. (check-in: [02f9fc73ee] user: drh branch: multi-drop, size: 52317)
13:44
[a23049b977] part of check-in [2266086cf0] Add the ability to DROP one or more objects of the same class in a single statement by listing the objects as multiple arguments to the DROP command. (check-in: [2266086cf0] user: drh branch: multi-drop, size: 52121)
2023-10-30
23:05
[fce5a48596] part of check-in [28f9a55928] Merge the latest 3.44.0 release candidate changes into the reuse-schema branch. (check-in: [28f9a55928] user: drh branch: reuse-schema, size: 53010)
2023-10-26
16:59
[0905b96b04] part of check-in [d83405e870] Further enhancements to make sure the correct returnning trigger is run when there are nested INSERT RETURNING statements. (check-in: [d83405e870] user: drh branch: trunk, size: 52081)
12:59
[e8c460233d] part of check-in [8aba78e4db] Deal with the case of a reentrant INSERT on a virtual table where the outer INSERT has a RETURNING clause but the inner does not. dbsqlfuzz 3ac9a1e33f676254e02c0f297263b0a7aeb0c1a5. Fault injected by [a2449bcc2c71d0f4], first appearing in release 3.40.1. (check-in: [8aba78e4db] user: drh branch: trunk, size: 51880)
2023-10-23
19:27
[5859bc2ba0] part of check-in [52262ac920] Merge the latest trunk enhancments into the reuse-schema branch. (check-in: [52262ac920] user: drh branch: reuse-schema, size: 52805)
2023-10-13
18:29
[5286019b15] part of check-in [44b932ff16] Do not allow triggers on shadow tables under defensive mode. (check-in: [44b932ff16] user: drh branch: trunk, size: 51876)
2023-05-02
21:26
[31ec666724] part of check-in [d08fa7d4d2] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [d08fa7d4d2] user: drh branch: reuse-schema, size: 52622)
2023-03-28
11:18
[ad6ab94527] part of check-in [c8bedef0d6] Fix multiple problems with RETURNING on a DML statement against a view, all inspired by forum post dc3b92cfa0. (1) Do not allow a RETURNING clause to trick the code generator into thinking that the view being updated has an INSTEAD OF trigger. (2) Generate all result columns for a view in a DML statement. (3) The automatic covering index for a view should cover all result columns of the view. (check-in: [c8bedef0d6] user: drh branch: trunk, size: 51693)
2023-03-22
13:47
[d2f0bf0ed0] part of check-in [995fa4d09d] Merge the 3.41.2 patch into the reuse-schema-3.41 subbranch of reuse-schema (check-in: [995fa4d09d] user: drh branch: reuse-schema-3.41, size: 52573)
2023-03-17
00:01
[f34367fad4] part of check-in [648899e4de] Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses. Tickets [89d259d45b855a0d] and [d15b3a4ea901ef0d]. (check-in: [648899e4de] user: drh branch: trunk, size: 51644)
2023-03-10
00:59
[982870dffb] part of check-in [af08bd3e6e] Merge the branch-3.41 patches into the reuse-schema branch. (check-in: [af08bd3e6e] user: drh branch: reuse-schema-3.41, size: 52528)
2023-03-08
23:05
[6072c531d9] part of check-in [84417bbd14] Fix a possible NULL pointer dereference due to the sqlite3_interrupt() enhancement at [bd8fa10e59f58886]. Reported by forum post f5a2b1db87. (check-in: [84417bbd14] user: drh branch: trunk, size: 51599)
2022-12-21
21:01
[fa2fe8aa8d] part of check-in [1bfae9b3c6] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [1bfae9b3c6] user: drh branch: reuse-schema, size: 52530)
2022-11-28
13:47
[5e68b790f0] part of check-in [a2449bcc2c] Ensure the RETURNING clause is honoured when a row of a temp table is updated by an ON CONFLICT clause. (check-in: [a2449bcc2c] user: dan branch: trunk, size: 51601)
2022-11-05
15:31
[0ee4386e20] part of check-in [224eaf2622] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [224eaf2622] user: drh branch: reuse-schema, size: 52507)
2022-10-24
21:58
[70431e3710] part of check-in [80fbb30f28] This check-in attempts to make the SrcItem object smaller by combining the zDatabase and pSchema fields into a single union. It mostly works, but there are some issues, and the performance savings is minimal. So it is side-tracked onto this dead-end branch. (check-in: [80fbb30f28] user: drh branch: failed-opt-attempt, size: 51714)
2022-10-01
13:28
[78dd02836a] part of check-in [c8d77f3980] Merge the Parse.prepFlags change from trunk. (check-in: [c8d77f3980] user: drh branch: stmt-cache, size: 51609)
13:17
[4163ada044] part of check-in [b7da0bcdf7] Replace the Parse.disableVtab field with Parse.prepFlags for increased generality, a small size reduction, and a small performance increase. (check-in: [b7da0bcdf7] user: drh branch: trunk, size: 51578)
12:00
[0febd48275] part of check-in [7812aea6ea] Merge the latest trunk enhancements into the stmt-cache branch. (check-in: [7812aea6ea] user: drh branch: stmt-cache, size: 51613)
2022-09-30
12:27
[53fbf255f2] part of check-in [8102592836] Merge version 3.39.4 changes into the reuse-schema-3.39 branch. (check-in: [8102592836] user: drh branch: reuse-schema-3.39, size: 52511)
2022-09-27
00:56
[bc70c58e71] part of check-in [3283bbd12a] Enhance defensive mode so that it disallows CREATE TRIGGER statements if the statements within the trigger attempt to write on a shadow table. (check-in: [3283bbd12a] user: drh branch: trunk, size: 51582)
2022-08-25
17:12
[6aa0bf7ebd] part of check-in [8f6a1f77b8] Do not attempt to cache DDL statement. (check-in: [8f6a1f77b8] user: drh branch: stmt-cache, size: 50965)
2022-05-28
15:01
[45a863a534] part of check-in [4d46296ef6] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [4d46296ef6] user: drh branch: reuse-schema, size: 51863)
2022-05-27
15:04
[61bea163b1] part of check-in [53fbc269dd] Fix further issues with ALTER TABLE and triggers that contain UPDATE..FROM statements. (check-in: [53fbc269dd] user: dan branch: trunk, size: 50934)
2022-05-26
17:33
[adecf22bf1] part of check-in [664a49fa81] Correct handling of outer joins in the FROM clause of an UPDATE statement that occurs inside of a trigger. Follow-on to [98b3816bbaf539ea]. (check-in: [664a49fa81] user: drh branch: trunk, size: 50913)
2022-05-10
13:06
[f6934afe27] part of check-in [9f6d6e6135] Merge all recent trunk changes into the reuse-schema branch. (check-in: [9f6d6e6135] user: drh branch: reuse-schema, size: 51516)
2022-05-02
20:49
[4fe4c1ac81] part of check-in [5341d4bbe9] Organize the various flag bits of the ExprList_item object into a substructure so that the whole lot can be copied all at once. Faster and smaller code. (check-in: [5341d4bbe9] user: drh branch: right-join, size: 50587)
2022-04-07
20:45
[372ada38f6] part of check-in [1b5475d212] Fix two unreachable branches introduced by the recent sqlite3TriggersExist() optimization. (check-in: [1b5475d212] user: drh branch: trunk, size: 50578)
14:03
[4cdfe61203] part of check-in [5043a3507e] Optimization to sqlite3TriggersExist() saves over 700K CPU cycles. (check-in: [5043a3507e] user: drh branch: trunk, size: 50582)
2022-03-17
23:49
[8caa0baf1b] part of check-in [13b584869f] Change a conditional into an assert() due to the change in [387ab17b8a0a4b87]. (check-in: [13b584869f] user: drh branch: trunk, size: 49753)
2022-03-12
15:21
[1759a77426] part of check-in [f3fa81963e] Merge the latest trunk changes into the reuse-schema branch. (check-in: [f3fa81963e] user: drh branch: reuse-schema, size: 50686)
2022-03-07
16:22
[5fc3cde35c] part of check-in [5e0ed49b3d] Do not allocate new Trigger objects in the parser following a syntax error, to avoid violating invariants associated with Expr nodes. See forum thread 2024e94071ef1531 for more information. (check-in: [5e0ed49b3d] user: drh branch: trunk, size: 49757)
2022-02-15
20:56
[fd9e95f81e] part of check-in [b9ba43fcb3] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [b9ba43fcb3] user: drh branch: reuse-schema, size: 50655)
2022-02-07
18:52
[19fc6fe696] part of check-in [0e909e34fa] Disable the sqlite3_error_offset() when the error occurs in a trigger or view or some other bit of text that is not part of the original statement. (check-in: [0e909e34fa] user: drh branch: trunk, size: 49726)
2022-01-25
16:28
[d3acee607e] part of check-in [6e4154d414] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [6e4154d414] user: drh branch: reuse-schema, size: 50619)
2022-01-24
19:38
[692972e439] part of check-in [4aa27b4fcd] Add ALWAYS() macros. Change some existing ALWAYS() into assert(). Other code simplifications. (check-in: [4aa27b4fcd] user: drh branch: trunk, size: 49690)
16:47
[a17cf451b8] part of check-in [1f7fa46126] Remove many redundant checks for sqlite3.mallocFailed now that any OOM should cause Parse.nErr to be non-zero. (check-in: [1f7fa46126] user: drh branch: trunk, size: 49682)
15:34
[6732a95d13] part of check-in [6a45d8fe8b] Make it so that any Parse object is always linked into the database conenction while it is active. Hence, an OOM will cause Parse.nErr to be set. (check-in: [6a45d8fe8b] user: drh branch: trunk, size: 49599)
11:25
[d10464bac5] part of check-in [4293656578] Ensure that any error encountered while coding a trigger program is transfered to the main Parse structure before it is used with any other routine that might set the error code. (check-in: [4293656578] user: dan branch: trunk, size: 49700)
2022-01-17
20:01
[10f86339ad] part of check-in [769ff85765] Merge the latest trunk changes into the reuse-schema branch. (check-in: [769ff85765] user: drh branch: reuse-schema, size: 50629)
2022-01-06
14:16
[026250cb54] part of check-in [d7ec5a2b4a] Merge the 3.37.2 patches into the reuse-schema branch. (check-in: [d7ec5a2b4a] user: drh branch: reuse-schema-3.37, size: 50505)
2022-01-05
16:02
[043d66ecb2] part of check-in [93965e67e2] Fix an assert() failure that could follow an OOM when coding a RETURNING trigger. dbsqlfuzz case 5d3e2438f15dc32b473d9f29413157857efa1212. (check-in: [93965e67e2] user: drh branch: branch-3.37, size: 49576)
15:54
[40e7c3dcff] part of check-in [7ae596dd4a] Fix an assert() failure that could follow an OOM when coding a RETURNING trigger. dbsqlfuzz case 5d3e2438f15dc32b473d9f29413157857efa1212. (check-in: [7ae596dd4a] user: dan branch: trunk, size: 49700)
12:01
[6537dcb8e4] part of check-in [b9ed2a2921] Improved handling of OOM errors in sqlite3ExpandReturning(). dbsqlfuzz 1040b720f0bbc3bdcfe7336acffbf71517e3ef82. (check-in: [b9ed2a2921] user: drh branch: branch-3.37, size: 49567)
11:49
[ad65f2dae7] part of check-in [33c6b8e94b] Improved handling of OOM errors in sqlite3ExpandReturning(). dbsqlfuzz 1040b720f0bbc3bdcfe7336acffbf71517e3ef82. (check-in: [33c6b8e94b] user: drh branch: trunk, size: 49691)
2021-12-29
04:31
[eaaba4e34c] part of check-in [4711fb6954] Ensure that the affinity of columns is honored in the RETURNING clause. See forum post e0c7574ab2 for the bug report. (check-in: [4711fb6954] user: drh branch: trunk, size: 49677)
2021-11-05
23:32
[7d65985d48] part of check-in [ca09148e13] Merge the latest trunk enhancements into the reuse-schema branch. (check-in: [ca09148e13] user: drh branch: reuse-schema, size: 50395)
2021-11-04
14:04
[2ef56f0b7b] part of check-in [9147390d98] Show the preferred schema table names in the output of "PRAGMA table_list". (check-in: [9147390d98] user: drh branch: trunk, size: 49466)
2021-08-03
16:11
[db412c9616] part of check-in [d71adc3fd8] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [d71adc3fd8] user: drh branch: reuse-schema, size: 50391)
2021-08-02
18:03
[3f612ce5f0] part of check-in [8b781dcaf6] Refactor field names in the Column object, zCnName and zCnColl, to make them unique and thus easier to find amid all the other code. (check-in: [8b781dcaf6] user: drh branch: trunk, size: 49462)
16:41
[43d76cf913] part of check-in [bbb6759bcf] Refactor the Table object to reduce its memory footprint. (check-in: [bbb6759bcf] user: drh branch: trunk, size: 49458)
2021-07-09
13:29
[9bb571c9d1] part of check-in [0e968f9de3] Merge latest trunk changes into this branch. (check-in: [0e968f9de3] user: dan branch: reuse-schema, size: 50389)
2021-06-28
15:25
[7d16aa09e6] part of check-in [4b2c59acce] When generating data for a RETURNING clause, avoid assuming cursor number 0 is available for use. (check-in: [4b2c59acce] user: dan branch: trunk, size: 49460)
2021-05-22
15:05
[ebb7d641c9] part of check-in [dbc65a6958] Merge latest trunk changes into this branch. (check-in: [dbc65a6958] user: dan branch: reuse-schema, size: 50362)
2021-05-19
12:17
[e0fd347b25] part of check-in [699c33990a] Improved column name and column type determination for the RETURNING clause. (check-in: [699c33990a] user: drh branch: trunk, size: 49433)
2021-05-07
14:16
[6244f3c618] part of check-in [c5e2de1d24] This was suppose to be a merge from trunk. But something went wrong. (check-in: [c5e2de1d24] user: dan branch: bad-merge, size: 50174)
2021-04-27
17:18
[564ec4aac6] part of check-in [ff3538ae37] Further improvements to the handling of RETURNING clauses on changes to TEMP tables with triggers. dbsqlfuzz 683913e98f54fe4f14e8dd11a48011f73bdca58d (check-in: [ff3538ae37] user: drh branch: trunk, size: 49225)
13:04
[6b32e50b88] part of check-in [d0b15eccbf] RETURNING bug fix: Correctly deal with RETURNING statements on changes to TEMP tables that also have triggers. dbsqlfuzz 78b9400770ef8cc7d9427dfba26f4fcf46ea7dc2 (check-in: [d0b15eccbf] user: drh branch: trunk, size: 49297)
2021-04-07
15:23
[1f4c4ad419] part of check-in [4b4f87913a] Merge version 3.35.4 with this branch. (check-in: [4b4f87913a] user: dan branch: reuse-schema-3.35, size: 49973)
15:13
[ba82907146] part of check-in [e69f29892e] Update a broken assert() on this branch. (check-in: [e69f29892e] user: dan branch: reuse-schema, size: 49361)
2021-04-06
12:50
[f8493674f5] part of check-in [8d46df7313] Earlier detection and handling of OOM problems. dbsqlfuzz 39f2963ea5559aa3a16e24e0e3cb42aac85a7371. (check-in: [8d46df7313] user: drh branch: trunk, size: 49091)
2021-04-04
14:22
[9ef94b525f] part of check-in [0ee0ef476b] Avoid compile error when SQLITE_OMIT_VIRTUALTABLE defined. (check-in: [0ee0ef476b] user: larrybr branch: trunk, size: 49092)
2021-04-02
20:43
[28f439bb45] part of check-in [778a9a6e6f] Correctly capture the error when a RETURNING clause appears on an attempt to UPDATE an eponymous virtual table. dbsqlfuzz 486f791cbe2dc45839310073e71367a1d8ad22dd. (check-in: [778a9a6e6f] user: drh branch: trunk, size: 49020)
2021-03-30
01:57
[bce0908f71] part of check-in [257e16f7b3] Raise an error if a term of the form "TABLE.*" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb]. (check-in: [257e16f7b3] user: drh branch: branch-3.35, size: 48993)
01:52
[7bb95fda4d] part of check-in [3039bcaff9] Raise an error if a term of the form "TABLE.*" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb]. (check-in: [3039bcaff9] user: drh branch: trunk, size: 48993)
2021-03-19
13:00
[f555123aab] part of check-in [6f8faec022] Improved labeling of EXPLAIN QUERY PLAN output. Many test failures due to the different output format. (check-in: [6f8faec022] user: drh branch: eqp-improvements, size: 48381)
2021-03-03
19:54
[dae7932e9d] part of check-in [73bf458e1d] Merge recent trunk enhancements into the reuse-schema branch. (check-in: [73bf458e1d] user: drh branch: reuse-schema, size: 49282)
2021-02-17
20:08
[861c3ec2c5] part of check-in [10538ec6fc] Fix various issues with the changes on this branch. Add test cases for the same. (check-in: [10538ec6fc] user: dan branch: alter-table-drop-column, size: 48381)
2021-02-10
20:20
[f0dcab655d] part of check-in [d29c41bd26] Merge latest trunk changes into this branch. (check-in: [d29c41bd26] user: dan branch: reuse-schema, size: 49279)
2021-02-07
12:59
[983c7c8464] part of check-in [5f8bf99579] Fix harmless compiler warnings. (check-in: [5f8bf99579] user: drh branch: trunk, size: 48378)
2021-02-05
17:34
[f5b6d20b53] part of check-in [078dbff04a] Remove unreachable code. Fix a shift UB problem introduced yesterday and discovered by OSSFuzz. (check-in: [078dbff04a] user: drh branch: trunk, size: 48360)
2021-02-04
22:59
[a018d5bd5f] part of check-in [dbfa38699c] Remove dead code. Fix RETURNING for INSERT into a virtual table. (check-in: [dbfa38699c] user: drh branch: returning-manifested, size: 48384)
21:17
[f7c383d955] part of check-in [757b74ba0f] Fix an issue with RETURNING from UPSERT. (check-in: [757b74ba0f] user: drh branch: returning-manifested, size: 48435)
20:52
[5da6ba6d40] part of check-in [8a65fbeecf] Snapshot. New design appears to work on a simple test case. (check-in: [8a65fbeecf] user: drh branch: returning-manifested, size: 48451)
17:29
[803db1f98d] part of check-in [04b77d6321] Preliminary changes for a new implementation of RETURNING that captures all results in a buffer and plays them all back after the DML statement completes. This avoids problems with interleaved DML statements. This particular check-in is a non-functional work in progress. (check-in: [04b77d6321] user: drh branch: returning-manifested, size: 47996)
11:14
[79d6f7329f] part of check-in [e1eb621319] Work toward handling interleaved RETURNING statements. Trunk does not handle that case correctly. This branch is a partial implementation of ideas that might, however. (check-in: [e1eb621319] user: drh branch: interleaved-returning, size: 46983)
2021-02-03
00:55
[0a242d65dd] part of check-in [a10c5a2503] Modify the SQLITE_DBCONFIG_ENABLE_TRIGGER setting so that it only disables main-schema triggers and allows TEMP trigger to continue operating. This is safe, since only the application (not an attacker) can add TEMP triggers. It will also all us to disengage SQLITE_DBCONFIG_ENABLE_TRIGGER on Fossil databases since Fossil has no main-schema triggers but does use TEMP triggers. (check-in: [a10c5a2503] user: drh branch: returning, size: 46982)
2021-02-02
20:46
[a9357898b5] part of check-in [2e9bd94b9a] Do not allow aggregates in a RETURNING clause. Fix a memory leak that occurs when window functions are used in a RETURNING clause. (check-in: [2e9bd94b9a] user: drh branch: returning, size: 46474)
12:01
[0e8d33e9ba] part of check-in [bd5dee8425] Report an error if RETURNING is used for DELETE or UPDATE of a virtual table. (check-in: [bd5dee8425] user: drh branch: returning, size: 46196)
00:16
[80c38e0d22] part of check-in [2f244ab4a2] Allow the RETURNING trigger to exist for virtual tables. (check-in: [2f244ab4a2] user: drh branch: returning, size: 45999)
2021-02-01
01:57
[30cb8be5ef] part of check-in [6e62470a73] Modify RETURNING so that it does not return changes implemented by cascading foreign keys or by triggers. (check-in: [6e62470a73] user: drh branch: returning, size: 45885)
2021-01-31
16:45
[b380259579] part of check-in [cb8b797a64] Mark an unreachable branch as ALWAYS(). (check-in: [cb8b797a64] user: drh branch: returning, size: 45745)
12:41
[424f81a563] part of check-in [1f1ce7ceb9] When setting the number of result columns in a RETURNING trigger, be sure to set that value in the top-level bytecode program, not in the immediate caller of the trigger. (check-in: [1f1ce7ceb9] user: drh branch: returning, size: 45737)
2021-01-30
21:55
[207168409c] part of check-in [a38f0c1d7c] Improved comments on the new code. (check-in: [a38f0c1d7c] user: drh branch: returning, size: 45715)
02:43
[ec5ba09832] part of check-in [02b1415efb] Fix a memory deallocation problem that comes up when doing a RETURNING query on a corrupt database. I think I fixed this before, but it got unfixed with stale editor content. (check-in: [02b1415efb] user: drh branch: returning, size: 45202)
02:34
[6b312904df] part of check-in [1b8ed52275] Another attempt to get trigger selection correct for RETURNING triggers. (check-in: [1b8ed52275] user: drh branch: returning, size: 45213)
02:22
[0b683379a7] part of check-in [3c7a6e04dd] When running the RETURNING trigger, if it is tagged as a DELETE trigger, do not use it as INSERT or UPDATE. (check-in: [3c7a6e04dd] user: drh branch: returning, size: 45165)
01:30
[88f616cbd1] part of check-in [f5698f96e2] Test cases added. RETURNING works with UPSERT as does PG. (check-in: [f5698f96e2] user: drh branch: returning, size: 45098)
2021-01-29
22:33
[7d9f9ba872] part of check-in [6aa2a058d1] Better handling of errors in RETURNING due to corrupt database files. (check-in: [6aa2a058d1] user: drh branch: returning, size: 45044)
21:18
[47629a1e3f] part of check-in [b0e3ae303d] Allow "*" wildcards in the RETURNING clause. (check-in: [b0e3ae303d] user: drh branch: returning, size: 45055)
19:32
[39ac8d708d] part of check-in [b7ef4dc21f] Working prototype. (check-in: [b7ef4dc21f] user: drh branch: returning, size: 43141)
13:47
[731ea5ed6b] part of check-in [0defaf730b] Performance optimization (and size reduction) in sqlite3TriggerList() for the common case where there are no TEMP triggers. (check-in: [0defaf730b] user: drh branch: trunk, size: 42657)
2021-01-11
20:37
[29680c54c1] part of check-in [affa2b7b31] Add a linked list of ParseCleanup objects to the end of a Parse object and use that list as a place to put other sub-objects that need to be deallocated. Have a single such list for infrequently used sub-objects is more efficient than doing an a separate check for each kind of sub-object. Edit: Now possible to have use-after-free following an OOM. (check-in: [affa2b7b31] user: drh branch: parse-cleanup, size: 42603)
2020-11-18
21:15
[e9eb8ceb72] part of check-in [6004de525d] Merge trunk changes into this branch. (check-in: [6004de525d] user: dan branch: reuse-schema, size: 43495)
2020-11-05
19:13
[515e79206d] part of check-in [991ca9b26b] Suppress errors associated with TEMP triggers that reference objects in non-TEMP databases. This is a continuation of the fix for ticket #3810 shown in check-in [ba1afc040171810d] from 2009-08-06, based on a bug report in forum post 157dc791df (check-in: [991ca9b26b] user: drh branch: trunk, size: 42666)
2020-08-11
14:55
[595153f55f] part of check-in [b1a77b7ead] Merge all changes since the 3.32.0 release into the reuse-schema branch. (check-in: [b1a77b7ead] user: drh branch: reuse-schema, size: 43360)
2020-07-16
02:36
[ef67bde309] part of check-in [706c8da2f6] Fix a double-free of the FROM clause of an UPDATE inside of triggers. (check-in: [706c8da2f6] user: drh branch: update-from, size: 42531)
2020-07-14
19:51
[6ff9c64a06] part of check-in [4f6d8d0ebf] Support UPDATE...FROM statements in trigger programs. (check-in: [4f6d8d0ebf] user: dan branch: update-from, size: 42577)
2020-06-19
13:33
[58721162a3] part of check-in [9536fa0ae0] Further refactoring of the schema table name. (check-in: [9536fa0ae0] user: drh branch: trunk, size: 42211)
2020-06-15
20:27
[6b1472e6b5] part of check-in [61782a7ae3] Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: [61782a7ae3] user: drh branch: trunk, size: 42211)
2020-05-16
19:00
[fe34ac5854] part of check-in [5af4abe98c] Merge trunk enhancements in the reuse-schema branch. (Actual date of this check-in is 2020-05-18.) (check-in: [5af4abe98c] user: drh branch: reuse-schema, size: 43019)
2020-03-21
15:10
[4ada1037cc] part of check-in [a85c63daa6] Consolidate some code on this branch. (check-in: [a85c63daa6] user: dan branch: main-alias-fix, size: 42190)
2020-03-20
20:54
[101b9c33f4] part of check-in [75c85ca32f] Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias. (check-in: [75c85ca32f] user: dan branch: main-alias-fix, size: 42258)
2020-01-17
15:24
[132009e29d] part of check-in [3d13fbf248] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [3d13fbf248] user: drh branch: branch-3.28, size: 42007)
2020-01-15
14:26
[8256290482] part of check-in [f783917800] Merge all recent enhancements and fixes from trunk. (check-in: [f783917800] user: drh branch: reuse-schema, size: 43028)
2019-12-12
20:22
[a40d50e88b] part of check-in [d3783357f8] Change the name of the Expr.a.zName field to zEName, so that it has a name that is distinct from other fields and variables and is hence easier to grep for. (check-in: [d3783357f8] user: drh branch: two-size-lookaside, size: 42199)
2019-12-03
03:34
[681ccdb910] part of check-in [c4cb9708d4] Avoid a crash that could occur when a database containing a table with a temp trigger that has the same name as a temp table is detached. (check-in: [c4cb9708d4] user: dan branch: trunk, size: 42198)
2019-09-16
12:35
[63761fc130] part of check-in [27eb223690] Merge all recent trunk enhancements into the reuse-schema branch. (check-in: [27eb223690] user: drh branch: reuse-schema, size: 42961)
2019-08-27
19:59
[845ccc08f6] part of check-in [94085fb3e7] Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. (check-in: [94085fb3e7] user: dan branch: trunk, size: 42132)
10:05
[f964d85935] part of check-in [069c2f4c61] If a TEMP TRIGGER references an auxiliary schema, and that auxiliary schema is detached, move the trigger to reference the TEMP schema before completing the detach, so that the trigger does not hold a dangling schema pointer. Ticket [ac8dd4a32ba4322f] (check-in: [069c2f4c61] user: drh branch: trunk, size: 42044)
2019-08-19
17:26
[d115eb6c1e] part of check-in [bb9767a287] Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements. (check-in: [bb9767a287] user: dan branch: nulls-last, size: 42119)
2019-08-13
15:22
[fbe9b54f60] part of check-in [5b4689d89c] Merge latest trunk changes with this branch. (check-in: [5b4689d89c] user: dan branch: reuse-schema, size: 42860)
2019-08-12
00:08
[2305271878] part of check-in [724f4df9cc] Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: [724f4df9cc] user: drh branch: trunk, size: 42031)
2019-07-26
20:54
[b6a3541d07] part of check-in [7f1e4e4b99] Merge latest changes from trunk into this branch. (check-in: [7f1e4e4b99] user: dan branch: reuse-schema, size: 42777)
2019-07-16
19:44
[563df58084] part of check-in [9e66458592] Add new assert() statements in an attempt to help static analyzers avoid false-positives. (check-in: [9e66458592] user: drh branch: trunk, size: 41948)
2019-03-21
17:13
[020d7ad68b] part of check-in [b8e536089b] Disable the feature on this branch in non-SQLITE_ENABLE_SHARED_SCHEMA builds. (check-in: [b8e536089b] user: dan branch: reuse-schema, size: 42753)
2019-03-20
20:02
[665001b50b] part of check-in [c1be211c02] Use the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema(). (check-in: [c1be211c02] user: dan branch: reuse-schema, size: 42500)
2019-02-08
19:30
[3d8c617337] part of check-in [2b2e9f81cd] Add test cases and fix problems on this branch. (check-in: [2b2e9f81cd] user: dan branch: reuse-schema, size: 42498)
2019-02-05
19:51
[5714a8d2e3] part of check-in [c089cc4fbe] Merge latest trunk into this branch. (check-in: [c089cc4fbe] user: dan branch: reuse-schema, size: 41967)
2019-01-17
15:40
[bb034c08ec] part of check-in [df08d472b0] Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. (check-in: [df08d472b0] user: drh branch: trunk, size: 41924)
2018-12-29
02:26
[77546bf525] part of check-in [4a0929ac76] A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. (check-in: [4a0929ac76] user: drh branch: trunk, size: 41920)
2018-12-21
19:29
[252b650375] part of check-in [25666e3d03] Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: [25666e3d03] user: dan branch: prepare-no-vtab, size: 41912)
2018-11-20
16:02
[e143e102da] part of check-in [dfab7170ed] Consolidate the two sqlite3SchemaToIndex() routines. (check-in: [dfab7170ed] user: dan branch: reuse-schema1, size: 42092)
2018-11-17
18:11
[dc20aaa751] part of check-in [6d7a7e5faf] Fix further problems with the feature on this branch. (check-in: [6d7a7e5faf] user: dan branch: reuse-schema1, size: 42095)
2018-11-15
21:20
[6e970e8d2d] part of check-in [31b6aee755] Fix some problems with the feature on this branch. Many problems remain. (check-in: [31b6aee755] user: dan branch: reuse-schema1, size: 42083)
2018-10-08
18:58
[9ec3738837] part of check-in [2ac72114a1] Merge latest trunk changes into this branch. (check-in: [2ac72114a1] user: dan branch: reuse-schema, size: 41907)
2018-08-29
21:00
[d3d78568f3] part of check-in [01308bae3a] Extend RENAME TABLE to edit triggers and views. Still buggy. (check-in: [01308bae3a] user: dan branch: alter-table-rename-table, size: 41864)
2018-08-15
20:28
[f6760d78be] part of check-in [e272dc2b1c] Have ALTER TABLE RENAME COLUMN edit trigger programs. Only partly working. (check-in: [e272dc2b1c] user: dan branch: edit-trigger-wrapper, size: 41656)
2018-08-13
17:14
[f3ba315cd5] part of check-in [5fdb6b0aaf] Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLE RENAME COLUMN. (check-in: [5fdb6b0aaf] user: dan branch: edit-trigger-wrapper, size: 41247)
2018-04-18
01:34
[4ace6d1d5b] part of check-in [266a99f7c0] Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. (check-in: [266a99f7c0] user: drh branch: upsert, size: 40925)
2018-04-16
13:00
[fcb566b0df] part of check-in [0203f34faa] Add support for the "excluded.*" names in the UPDATE clause of an upsert. (check-in: [0203f34faa] user: drh branch: upsert, size: 40875)
2018-04-12
13:15
[00ef0b16ab] part of check-in [d83eaed539] Add the Upsert object for holding upsert clause information. (check-in: [d83eaed539] user: drh branch: upsert, size: 40872)
2018-04-07
15:04
[974377de98] part of check-in [5cc2a5a315] More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. (check-in: [5cc2a5a315] user: drh branch: upsert, size: 40814)
2017-12-27
21:30
[a34539c694] part of check-in [fda08e3d10] Omit all sqlite3_trace() output from the triggers associated with foreign key constraints. (check-in: [fda08e3d10] user: drh branch: span-refactor, size: 40646)
20:38
[5fa038ae62] part of check-in [fe3d2b97d8] Show the text of individual statements within a trigger, as they execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2(). (check-in: [fe3d2b97d8] user: drh branch: span-refactor, size: 40571)
2017-11-28
20:43
[775053eecf] part of check-in [75d699877f] Fix an assertion fault found by OSSFuzz. (check-in: [75d699877f] user: dan branch: trunk, size: 39253)
2017-11-14
23:48
[fc6be2a6e1] part of check-in [3925facd94] In the parse tree, combine LIMIT and OFFSET into a single expression rooted on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. (check-in: [3925facd94] user: drh branch: trunk, size: 39234)
18:26
[bdee9c6f06] part of check-in [b2679d3b7a] Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. (check-in: [b2679d3b7a] user: dan branch: branch-3.8.9, size: 40053)
2017-11-10
20:13
[929b12bb5f] part of check-in [72be33f9c8] Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (check-in: [72be33f9c8] user: dan branch: update-delete-limit-fix, size: 39240)
2017-08-09
20:35
[bda24e1772] part of check-in [a625698048] Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: [a625698048] user: dan branch: reuse-schema, size: 39265)
2017-07-26
19:59
[48e0f7ed67] part of check-in [3808a00f06] Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (check-in: [3808a00f06] user: drh branch: trunk, size: 39222)
2017-06-08
14:35
[d1cae560bf] part of check-in [343e55992f] Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled correctly in trigger.c. (check-in: [343e55992f] user: drh branch: trunk, size: 39220)
2017-04-17
17:03
[134b8e7b61] part of check-in [159e8022a9] Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: [159e8022a9] user: dan branch: schemalint, size: 39187)
2016-12-16
01:00
[c9f0810043] part of check-in [8d646905b8] All temp.sqlite_master to be used as an alias for sqlite_temp_master. (check-in: [8d646905b8] user: drh branch: trunk, size: 39198)
2016-09-18
16:08
[3419bb9862] part of check-in [6bf5ba10d2] Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. (check-in: [6bf5ba10d2] user: drh branch: trunk, size: 39210)
2016-09-16
11:53
[cae81f6c65] part of check-in [a3e3b3e1c5] Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. (check-in: [a3e3b3e1c5] user: drh branch: trunk, size: 39250)
2016-08-18
14:33
[11e20b3b12] part of check-in [92a22f0134] Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: [92a22f0134] user: drh branch: zDbSName, size: 39311)
2016-02-05
01:55
[e14840ee0c] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 39249)
2016-01-22
17:48
[72d876b2d0] part of check-in [7323175337] Add the sqlite3TokenInit() utility function. (check-in: [7323175337] user: drh branch: trunk, size: 39250)
2016-01-16
15:12
[056e51182a] part of check-in [a4258cd461] Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for a slightly smaller and faster binary. (check-in: [a4258cd461] user: drh branch: trunk, size: 39280)
2015-12-09
16:08
[de3ed31ad3] part of check-in [c80bbf14b3] Fix a problem with the DROP TABLE command on this branch. (check-in: [c80bbf14b3] user: dan branch: onepass-delete-or, size: 39290)
2015-05-21
02:20
[bc7f94ec7a] part of check-in [9e3f64a4f4] Ensure that tables names are dequoted exactly once by the trigger logic. Cherrypick [59e92bd9521f1e8] and [9d887b92f8086961e]. (check-in: [9e3f64a4f4] user: drh branch: branch-3.7.11, size: 40405)
2015-05-20
20:30
[274874731e] part of check-in [bd357739d7] Ensure that tables names are dequoted exactly once by the trigger and FK logic. Cherrypick of [59e92bd9521f] and [9d887b92f808]. (check-in: [bd357739d7] user: dan branch: branch-3.8.6, size: 40272)
2015-04-21
16:38
[322f23aad6] part of check-in [9d887b92f8] Ensure that tables names are dequoted exactly once by the trigger logic. (check-in: [9d887b92f8] user: dan branch: trunk, size: 40033)
03:13
[45db6f59c6] part of check-in [59e92bd952] Fix some identifier name de-quoting issues in the foreign key and trigger logic. (check-in: [59e92bd952] user: drh branch: trunk, size: 40107)
2015-04-17
18:22
[bc647c7124] part of check-in [3f3b0f683a] Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg() take care of doing that. (check-in: [3f3b0f683a] user: drh branch: trunk, size: 40014)
2015-04-16
15:47
[a261da05e2] part of check-in [928f973ca9] Make sure errors in coding triggers are propagated back up to the parser. (check-in: [928f973ca9] user: drh branch: trunk, size: 40034)
2015-04-09
16:30
[69a91bed7c] part of check-in [83b342a44f] Remove two pointless assert() statements. This should silence harmless compiler warnings reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1152845 (check-in: [83b342a44f] user: drh branch: trunk, size: 40009)
2014-11-22
09:09
[6dcdf46a21] part of check-in [600cefdd4d] Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA. (check-in: [600cefdd4d] user: dan branch: ota-update, size: 40222)
2014-09-17
15:20
[eb921d1292] part of check-in [39df35c4ac] Add tests and fixes for "PRAGMA ota_mode". (check-in: [39df35c4ac] user: dan branch: ota-update, size: 40216)
2014-09-06
16:39
[25571661fd] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 40035)
2014-08-21
20:26
[4bddd12803] part of check-in [14b0f561fe] Simplify the interface to the symbol table, saving 600 bytes of code space. (check-in: [14b0f561fe] user: drh branch: trunk, size: 40035)
2014-03-10
18:03
[66f3470b03] part of check-in [0a5318bc27] Attempt to work around MSVC's treatment of __LINE__ as a non-constant value in "Edit and Continue" mode by avoiding the use of __LINE__ when SQLITE_VDBE_COVERAGE is not defined. (check-in: [0a5318bc27] user: drh branch: trunk, size: 40279)
2014-02-17
22:40
[a80036fcbd] part of check-in [ce184c7bb1] Add logic to do test coverage measurements on the VDBE code. (check-in: [ce184c7bb1] user: drh branch: insert-optimization, size: 40268)
2014-02-08
01:40
[a417d386e2] part of check-in [192dea9731] Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. (check-in: [192dea9731] user: drh branch: trunk, size: 40224)
2014-01-10
20:46
[5c1c0b899a] part of check-in [c9ea7d199f] Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: [c9ea7d199f] user: drh branch: trunk, size: 40695)
2013-11-15
01:10
[d84e1f3669] part of check-in [8dc5c76c76] Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. (check-in: [8dc5c76c76] user: drh branch: expr-codegen-enhancement, size: 40998)
2013-10-30
02:28
[53d6b5d50b] part of check-in [e1a89b56f7] Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: [e1a89b56f7] user: drh branch: trunk, size: 40965)
2013-10-03
15:39
[ba0a883cd5] part of check-in [500c5932fe] The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". (check-in: [500c5932fe] user: drh branch: trunk, size: 40947)
12:29
[9e6976b6d6] part of check-in [f35f6ae3da] Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. (check-in: [f35f6ae3da] user: dan branch: trunk, size: 40963)
2013-05-28
12:11
[5c0ea9b875] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc9315] user: drh branch: trunk, size: 40919)
2012-12-06
20:27
[84f90c64d7] part of check-in [34aafb7436] Cherrypick [79ef8e3c77] (Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements). (check-in: [34aafb7436] user: dan branch: branch-3.7.9, size: 40923)
19:37
[cd95ac64ef] part of check-in [0c31a46801] Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6]. (check-in: [0c31a46801] user: dan branch: constant-refactoring-in-triggers, size: 40919)
2012-08-25
10:01
[3f25830704] part of check-in [9b19b84753] Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: [9b19b84753] user: mistachkin branch: trunk, size: 40408)
2011-12-09
13:24
[ee7e178fb9] part of check-in [557c69055a] Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: [557c69055a] user: dan branch: trunk, size: 40412)
2011-07-01
13:50
[1cfb80e229] part of check-in [009c96ea78] Ignore the database name on the target table when parsing a CREATE TABLE statement out of the sqlite_master table. This is a fix for ticket [d6ddba6706353] that preserves backwards compatibility. (check-in: [009c96ea78] user: drh branch: trunk, size: 40372)
2011-06-03
20:11
[c836a6caac] part of check-in [957b2ab67c] Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. (check-in: [957b2ab67c] user: drh branch: trunk, size: 39906)
2011-04-09
17:32
[144cc18bb7] part of check-in [a46f32900a] Add VerifyCookie instructions to "DROP XXX IF EXISTS" statements if the specified database object does not exist when the statement is prepared. (check-in: [a46f32900a] user: dan branch: trunk, size: 39936)
15:39
[c31aeb3c33] part of check-in [b9dbd99361] Add an OP_VerifyCookie instruction to "CREATE XXX IF NOT EXISTS" commands. This way, if the specified database object existed when the statement was compiled but removed from the database before sqlite3_step() was called, the statement still works as expected (and creates the object). (check-in: [b9dbd99361] user: dan branch: trunk, size: 39876)
2011-04-05
13:12
[d5bc8b9ffa] part of check-in [5db4511d8a] Merge the scheme-parse-refactor changes into trunk: (1) added sqlite3SchemaMutexHeld() asserts, (2) Use -1 instead of 0 to mean "all" in sqlite3ResetInternalSchema(), and other cosmetic changes. (check-in: [5db4511d8a] user: drh branch: trunk, size: 39789)
12:25
[4c1ed08b8d] part of check-in [bf664b206b] Fix the P4_TRANSIENT constant so that it works correct - so that it really makes a copy of the string for the P4 argument. Use P4_TRANSIENT wherever appropriate. Change P4_STATICs of schema names to P4_TRANSIENT. (check-in: [bf664b206b] user: drh branch: trunk, size: 39465)
2011-04-04
18:22
[bb68c3d1fe] part of check-in [ae8374af05] Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: [ae8374af05] user: drh branch: schema-parse-refactor, size: 39778)
2011-03-21
17:15
[ec4813709e] part of check-in [09e167f9c1] Add the ability to enable and disable foreign key constraints and triggers using calls to sqlite3_db_config(). (check-in: [09e167f9c1] user: drh branch: trunk, size: 39454)
2011-03-06
21:28
[95d2ff4b29] part of check-in [01a79d5a7a] Remove dead code identified by the clang static analyzer. (check-in: [01a79d5a7a] user: drh branch: trunk, size: 39379)
2010-07-26
12:05
[b8bedb9c00] part of check-in [00e55102a8] Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: [00e55102a8] user: dan branch: experimental, size: 39410)
2010-06-28
10:15
[67e95c76d6] part of check-in [4932f22848] Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.). (check-in: [4932f22848] user: dan branch: trunk, size: 39347)
2010-04-06
15:57
[8927588cb9] part of check-in [1b2a04125f] Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: [1b2a04125f] user: drh branch: experimental, size: 39318)
2010-02-15
16:54
[340c9eca0f] part of check-in [ec914af326] When creating a trigger on a main database table when there is a TEMP table with the same name, make sure the trigger is bound to the main table. Ticket [985771e11612]. (check-in: [ec914af326] user: drh branch: trunk, size: 39272)
15:47
[a188f616ac] part of check-in [c727601eec] Fix a compiler warning in shell.c. Updates to comments in trigger.c. (check-in: [c727601eec] user: drh branch: trunk, size: 39244)
2009-11-27
12:12
[d46f9389e3] part of check-in [1b7c5250cc] Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. (check-in: [1b7c5250cc] user: dan branch: trunk, size: 39232)
2009-11-10
01:30
[3c48db13db] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 38474)
2009-10-13
19:19
[2053afa995] part of check-in [e0aa50c382] Fixed warnings with MSVC compile. (check-in: [e0aa50c382] user: shane branch: trunk, size: 38484)
2009-09-28
14:49
[643e27f94a] part of check-in [8353808c9e] Fix the DROP TABLE command so that it cannot be used to bypass foreign key constraints (if foreign key support is enabled). (check-in: [8353808c9e] user: dan branch: trunk, size: 38478)
2009-09-24
09:05
[d2f31617a1] part of check-in [0443f7c911] Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). (check-in: [0443f7c911] user: dan branch: trunk, size: 38426)
2009-09-19
17:00
[c0d99c2529] part of check-in [d5d3998118] Check in implementation of foreign key constraints. (check-in: [d5d3998118] user: dan branch: trunk, size: 37372)
2009-09-17
00:41
[45a2f8a80e] part of check-in [03e464be51] When coding a trigger, assume that the "oldmask" requires all columns until we know otherwise. That pessimistic assumption assures that all necessary parameters are available on a cascading delete trigger. Ticket [e25d9ea771f] (check-in: [03e464be51] user: drh branch: trunk, size: 36538)
2009-09-08
02:27
[054c08339b] part of check-in [b271e16621] Further simplifications to the VDBE - removing functionality that is no longer used. (check-in: [b271e16621] user: drh branch: trunk, size: 36508)
2009-09-07
04:38
[55cdf9d595] part of check-in [26cd015c0e] Warning cleanup from the MSVC compile. (check-in: [26cd015c0e] user: shane branch: trunk, size: 36511)
2009-09-01
12:16
[8158237fc5] part of check-in [38a9327bad] More fixes and comment updates. (check-in: [38a9327bad] user: dan branch: trunk, size: 36478)
2009-08-31
15:27
[d652d3a073] part of check-in [85d9f23be1] More fixes for test cases. (check-in: [85d9f23be1] user: dan branch: trunk, size: 35407)
08:22
[2b0bdab480] part of check-in [8a746fbfd5] Fix some authorization callback problems. (check-in: [8a746fbfd5] user: dan branch: trunk, size: 34910)
05:23
[42c93d1c35] part of check-in [31199db0f7] Fix another test problem and some instances where an OOM may cause a segfault. (check-in: [31199db0f7] user: dan branch: trunk, size: 35063)
2009-08-30
11:42
[26e493efad] part of check-in [9eb91efda5] Fixes for new triggers scheme. (check-in: [9eb91efda5] user: dan branch: trunk, size: 34986)
2009-08-28
18:53
[135c1fc78a] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 34605)
2009-08-24
01:35
[545f3b8354] part of check-in [dee1b8eb40] Run the column cache in a new context when generating code for trigger programs. Fix for ticket [efc02f9779]. (check-in: [dee1b8eb40] user: drh branch: trunk, size: 30589)
2009-08-10
03:57
[9bc5278d50] part of check-in [ee034cfc71] Removed some warnings from the MSVC compile. (CVS 6965) (check-in: [ee034cfc71] user: shane branch: trunk, size: 30515)
2009-08-06
17:43
[f248851055] part of check-in [ba1afc0401] Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960) (check-in: [ba1afc0401] user: drh branch: trunk, size: 30513)
2009-05-28
01:00
[c07c5157c5] part of check-in [4ac2bdfbb4] Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) (check-in: [4ac2bdfbb4] user: drh branch: trunk, size: 29766)
2009-05-27
10:31
[6d233d6d73] part of check-in [7cb1c3ba07] Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) (check-in: [7cb1c3ba07] user: drh branch: trunk, size: 29669)
2009-05-09
00:18
[853bb30f95] part of check-in [567ccc68cc] Changes to the trigger.c module that facilitate full coverage testing. (CVS 6621) (check-in: [567ccc68cc] user: drh branch: trunk, size: 30709)
2009-05-06
18:42
[5dcdcf5c71] part of check-in [3742843597] Fix three variable initialization problems found by valgrind. (CVS 6612) (check-in: [3742843597] user: drh branch: trunk, size: 29928)
2009-04-28
13:01
[448615bec4] part of check-in [23d67af392] Do not store the zero string terminator as part of the name when holding symbols in the symbol table. (CVS 6557) (check-in: [23d67af392] user: drh branch: trunk, size: 29908)
2009-04-23
13:22
[c029d52627] part of check-in [dd4d67a674] Rework the column-cache mechanism to be more robust (and more correct). The column-alias cache is currently disabled, (CVS 6538) (check-in: [dd4d67a674] user: drh branch: trunk, size: 29916)
2009-02-28
10:47
[21f39db410] part of check-in [3befe1ef7e] Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329) (check-in: [3befe1ef7e] user: danielk1977 branch: trunk, size: 29934)
2009-02-19
14:39
[9957e16e54] part of check-in [d9f6ffbc5e] Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: [d9f6ffbc5e] user: danielk1977 branch: trunk, size: 29180)
2008-12-26
07:56
[ca6d78f7c1] part of check-in [a1b1f6cd7d] Reset the column cache before coding each step of a trigger program. Candidate fix for #3554. (CVS 6065) (check-in: [a1b1f6cd7d] user: danielk1977 branch: trunk, size: 29065)
2008-12-10
19:26
[5a669d8fc9] part of check-in [c872d55493] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: [c872d55493] user: drh branch: trunk, size: 29012)
2008-12-09
03:55
[9244c483e5] part of check-in [59ae002068] Get rid of more silly compiler warnings. (CVS 5996) (check-in: [59ae002068] user: drh branch: trunk, size: 28979)
2008-11-19
09:05
[b86eb6d216] part of check-in [88134322c3] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322c3] user: danielk1977 branch: trunk, size: 28840)
2008-08-20
16:35
[649940b5bf] part of check-in [daf730d1de] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1de] user: drh branch: trunk, size: 28901)
2008-07-28
19:34
[b61aaf7bff] part of check-in [e48f9697e9] Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) (check-in: [e48f9697e9] user: drh branch: trunk, size: 28957)
2008-07-08
23:40
[bdb56bb9db] part of check-in [cbd3c1585b] Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) (check-in: [cbd3c1585b] user: drh branch: trunk, size: 28775)
2008-05-16
04:51
[1e751f8d5c] part of check-in [81a8c70ed7] Add more version tags to files that lack them. Ticket #3120. (CVS 5137) (check-in: [81a8c70ed7] user: danielk1977 branch: trunk, size: 28786)
2008-01-17
16:22
[9bd3b6fa0b] part of check-in [706b41b70b] Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) (check-in: [706b41b70b] user: drh branch: trunk, size: 28718)
02:36
[5e869352a2] part of check-in [b3a141b2b0] Registerification of the WHERE clause logic. (CVS 4716) (check-in: [b3a141b2b0] user: drh branch: trunk, size: 28716)
2008-01-13
19:02
[3a863b9952] part of check-in [23181f8689] Fix some issues with out-of-memory recovery. (CVS 4710) (check-in: [23181f8689] user: drh branch: trunk, size: 28716)
2008-01-12
21:35
[da3e11df34] part of check-in [110c000d86] The sqlite3_trace() callback now prints a message as each trigger fires within a statement. (CVS 4709) (check-in: [110c000d86] user: drh branch: trunk, size: 28715)
2008-01-10
23:50
[69df777f76] part of check-in [8cbd46517f] More work toward converting the VM into a register-based machine. (CVS 4704) (check-in: [8cbd46517f] user: drh branch: trunk, size: 28520)
2008-01-08
23:54
[1e77b3c21c] part of check-in [8862ce9cee] Registerify the comparison opcodes. (CVS 4697) (check-in: [8862ce9cee] user: drh branch: trunk, size: 29741)
2008-01-06
00:25
[3307121511] part of check-in [8201f71729] Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) (check-in: [8201f71729] user: drh branch: trunk, size: 29725)
2008-01-05
04:06
[91ff1552b5] part of check-in [cc149eb9ca] Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for operation properties in1, in2, in3, out2, and out3 but do not yet use any of these. (CVS 4682) (check-in: [cc149eb9ca] user: drh branch: trunk, size: 29690)
2008-01-03
18:03
[713b501b12] part of check-in [0b849805c3] Registers (aka memory cells) in the VM are now numbered starting with 1 instead of 0. A register number of 0 means "no such register". (CVS 4669) (check-in: [0b849805c3] user: drh branch: trunk, size: 29690)
09:51
[caa971c1a9] part of check-in [46501f490a] Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) (check-in: [46501f490a] user: danielk1977 branch: trunk, size: 29690)
01:28
[e7642cf610] part of check-in [4dc507d87b] Revamp sqlite3VdbeAddOpList() so that the structure holds integer values for P1, P2, and P3. (CVS 4661) (check-in: [4dc507d87b] user: drh branch: trunk, size: 29324)
00:01
[3267e5d6e3] part of check-in [027875e4d4] Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) (check-in: [027875e4d4] user: drh branch: trunk, size: 29015)
2008-01-02
16:27
[907b819d87] part of check-in [86dcdfe6d7] Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) (check-in: [86dcdfe6d7] user: danielk1977 branch: trunk, size: 28993)
00:34
[f8e2d42cf1] part of check-in [051ec01f27] 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) (check-in: [051ec01f27] user: drh branch: trunk, size: 28953)
2008-01-01
19:02
[24bdfee77c] part of check-in [e08a33ed72] 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) (check-in: [e08a33ed72] user: danielk1977 branch: trunk, size: 28957)
2007-11-16
14:55
[66695e1375] part of check-in [c91bc8d333] Fix a crash that can occur after a malloc failure. Ticket #2775. (CVS 4547) (check-in: [c91bc8d333] user: danielk1977 branch: trunk, size: 28186)
2007-08-22
20:18
[724a77d546] part of check-in [db818430e9] The malloc.test script now passes all tests with no errors. (CVS 4271) (check-in: [db818430e9] user: drh branch: trunk, size: 28152)
2007-08-16
10:09
[dccc6fbf37] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b1671351] user: danielk1977 branch: trunk, size: 28108)
04:30
[f29b1d40a3] part of check-in [deb7ecd65f] 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) (check-in: [deb7ecd65f] user: drh branch: trunk, size: 28098)
2007-08-07
17:13
[355cdf7019] part of check-in [7550dd1d59] Remove all tabs from source code files. Ticket #2556. (CVS 4198) (check-in: [7550dd1d59] user: drh branch: trunk, size: 27591)
2007-04-06
11:26
[420192efe3] part of check-in [8e2559b4da] The FOR EACH STATEMENT clause in a trigger is now a syntax error. It used to be silently ignored. STATEMENT is no longer a keyword. (CVS 3821) (check-in: [8e2559b4da] user: drh branch: trunk, size: 27549)
2007-03-31
01:34
[b3c22b7270] part of check-in [6736f4547c] Fix memory leaks in WHERE clause processing and in TRIGGER parsing. (CVS 3775) (check-in: [6736f4547c] user: drh branch: trunk, size: 27638)
2007-03-30
20:40
[7f65762a74] part of check-in [407a85e69b] Fix a memory leak that occurs after a malloc failure in trigger parsing. (CVS 3772) (check-in: [407a85e69b] user: drh branch: trunk, size: 27598)
2006-10-18
23:26
[8c55d31876] part of check-in [ee4894b499] Fix a problems that arise if malloc() fails while compiling SELECT statements within a TRIGGER. (CVS 3478) (check-in: [ee4894b499] user: drh branch: trunk, size: 27520)
2006-09-11
23:45
[74ccec7846] part of check-in [e4fe736cfb] Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406) (check-in: [e4fe736cfb] user: drh branch: trunk, size: 27509)
2006-06-14
19:00
[0fc4012582] part of check-in [32c97b884b] Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) (check-in: [32c97b884b] user: drh branch: trunk, size: 27372)
2006-03-29
00:24
[48bbb94c11] part of check-in [4ba280ddd6] Properly record the names of triggers even if the name is quoted. Ticket #1737. (CVS 3158) (check-in: [4ba280ddd6] user: drh branch: trunk, size: 27210)
2006-03-25
15:52
[825e5b9818] part of check-in [c83ec81d53] Add code to report an error on a recursive trigger, but leave it commented out - turning it on will likely break a lot of code. (CVS 3152) (check-in: [c83ec81d53] user: drh branch: trunk, size: 27182)
2006-03-06
20:55
[6e63d6d810] part of check-in [e510e6dd9d] 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) (check-in: [e510e6dd9d] user: drh branch: trunk, size: 27114)
2006-02-24
02:53
[bdead679e3] part of check-in [4b22e4b847] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b847] user: drh branch: trunk, size: 27011)
2006-01-18
16:51
[4d3644cbd1] part of check-in [ac090f2ab3] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: [ac090f2ab3] user: danielk1977 branch: trunk, size: 27148)
2006-01-11
21:41
[694b247476] part of check-in [5d9c6aa964] 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) (check-in: [5d9c6aa964] user: drh branch: trunk, size: 27228)
2006-01-10
12:31
[883b5f3b97] part of check-in [9c18a1ce1e] Fix a problem with shared-schemas and temp triggers. (CVS 2901) (check-in: [9c18a1ce1e] user: danielk1977 branch: trunk, size: 27187)
2006-01-09
06:29
[c515afa5fe] part of check-in [82b81f69c7] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69c7] user: danielk1977 branch: trunk, size: 27247)
2006-01-07
13:21
[d8e0fe913f] part of check-in [23b587b05b] In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: [23b587b05b] user: danielk1977 branch: trunk, size: 27219)
2006-01-06
15:03
[13c449e61c] part of check-in [19f93e135f] Fix a crash caused by adding a trigger to a shared-schema and then deleting it using a different connection. (CVS 2873) (check-in: [19f93e135f] user: danielk1977 branch: trunk, size: 27209)
2006-01-05
11:34
[858c0a4974] part of check-in [deeda0dc06] Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: [deeda0dc06] user: danielk1977 branch: trunk, size: 27122)
2005-12-09
20:02
[2925ba96d9] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a5915155] user: drh branch: trunk, size: 26813)
14:25
[dfc1f8ee8e] part of check-in [601c335463] Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808) (check-in: [601c335463] user: danielk1977 branch: trunk, size: 26782)
2005-12-06
12:52
[388c13a2f0] part of check-in [e1606658f1] 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) (check-in: [e1606658f1] user: danielk1977 branch: trunk, size: 26740)
2005-11-14
22:29
[aea0283a3e] part of check-in [ce06c123d0] Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: [ce06c123d0] user: drh branch: trunk, size: 26720)
2005-06-12
21:35
[f51dec1592] part of check-in [36f2da1f8d] Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) (check-in: [36f2da1f8d] user: drh branch: trunk, size: 26720)
2005-03-29
03:10
[1a6d0c7c51] part of check-in [c41d55443c] Add the SQLITE_OMIT_TEMPDB compile time macro. (CVS 2427) (check-in: [c41d55443c] user: danielk1977 branch: trunk, size: 26720)
2005-03-16
12:15
[0c3ec8a6cb] part of check-in [9a358fc33d] Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388) (check-in: [9a358fc33d] user: danielk1977 branch: trunk, size: 26724)
2005-01-29
08:32
[038c8e128d] part of check-in [b1b50f3158] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f3158] user: danielk1977 branch: trunk, size: 26397)
2005-01-24
13:03
[5da126eeed] part of check-in [b243681a0e] More test cases to do with invalidating precompiled statements. (CVS 2273) (check-in: [b243681a0e] user: danielk1977 branch: trunk, size: 26354)
2005-01-19
23:24
[b3de661503] part of check-in [d8b2a7e091] Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) (check-in: [d8b2a7e091] user: drh branch: trunk, size: 26357)
2005-01-18
04:00
[7b5da66134] part of check-in [0142ae6f00] Refinements to the name resolution logic. Change the name of the keywordhash.c file to keywordhash.h. (CVS 2229) (check-in: [0142ae6f00] user: drh branch: trunk, size: 26352)
2005-01-17
22:08
[210fe50d4b] part of check-in [4a7534396a] 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) (check-in: [4a7534396a] user: drh branch: trunk, size: 26354)
2004-12-07
14:06
[98f3b07c08] part of check-in [8e164ab277] Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) (check-in: [8e164ab277] user: drh branch: trunk, size: 26344)
2004-11-13
15:59
[0c91b56182] part of check-in [dcbc0c22cf] More compile-time options for removing components. (CVS 2098) (check-in: [dcbc0c22cf] user: drh branch: trunk, size: 26427)
2004-10-31
02:22
[f9a0a8d3a8] part of check-in [be661acfa8] Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (check-in: [be661acfa8] user: drh branch: trunk, size: 26943)
2004-10-06
15:41
[b51a120d53] part of check-in [d790c84c5a] Convert many constants to have type "const". (CVS 2006) (check-in: [d790c84c5a] user: drh branch: trunk, size: 26872)
2004-10-05
02:41
[b983f8d763] part of check-in [81ff8107ad] Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) (check-in: [81ff8107ad] user: drh branch: trunk, size: 26862)
2004-09-24
12:24
[d1f770ee37] part of check-in [9fa904d94e] Simplification of the trigger code. (CVS 1976) (check-in: [9fa904d94e] user: drh branch: trunk, size: 26900)
2004-09-19
02:15
[3591b88baa] part of check-in [4871c77f8f] Add comments to unused P3 fields of selected instructions when NDEBUG is not defined. This makes VDBE program dumps more readable during debugging. (CVS 1973) (check-in: [4871c77f8f] user: drh branch: trunk, size: 27055)
00:50
[b42ae6ca49] part of check-in [eb9b501ad8] Merge the ListPush and ListPop VDBE opcodes into ContextPush and ContextPop. (CVS 1972) (check-in: [eb9b501ad8] user: drh branch: trunk, size: 26939)
2004-09-06
17:24
[98dd620beb] part of check-in [3ddf5a9d1c] Fix a naming conflict between sqlite versions 2 and 3. An open sqlite3 connection now *must* be called "sqlite3". You cannot call it "sqlite". This might break existing code. (CVS 1941) (check-in: [3ddf5a9d1c] user: drh branch: trunk, size: 27207)
2004-08-31
13:45
[40e10f4b21] part of check-in [8fd65e7048] Simplifications and optimizations. Also: disable the corrupt.test for now. (CVS 1924) (check-in: [8fd65e7048] user: drh branch: trunk, size: 27203)
2004-08-21
17:54
[8b147c6b8a] part of check-in [bd6649c5aa] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5aa] user: drh branch: trunk, size: 27203)
2004-07-24
17:38
[360cf8f12e] part of check-in [ebdb661e0e] Prepared statements now work with CREATE and DROP. All tests pass. No memory leaks. (CVS 1866) (check-in: [ebdb661e0e] user: drh branch: trunk, size: 27267)
2004-06-29
08:59
[6aaf6d79cc] part of check-in [157db33e09] Fix error reporting path for errors that occur while reading the database schema. (CVS 1757) (check-in: [157db33e09] user: danielk1977 branch: trunk, size: 26777)
2004-06-22
13:22
[296e888ae9] part of check-in [80151e7281] Fix some segfaults that could have occurred after a malloc() failure. (CVS 1661) (check-in: [80151e7281] user: drh branch: trunk, size: 27083)
2004-06-21
09:06
[368fb2953b] part of check-in [bbd3e93348] Add the OP_Concat8 opcode, similar in concept to OP_String8. (CVS 1648) (check-in: [bbd3e93348] user: danielk1977 branch: trunk, size: 27058)
06:50
[65fa572487] part of check-in [ae2f4a0943] Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: [ae2f4a0943] user: danielk1977 branch: trunk, size: 27057)
2004-06-19
14:49
[fb38c34d93] part of check-in [99d0436e0e] Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to reduce the amount of code. (CVS 1639) (check-in: [99d0436e0e] user: drh branch: trunk, size: 26685)
2004-06-18
17:10
[b05699cf40] part of check-in [2590fffcaa] Changes to allow libsqlite3.a and libsqlite.a to be both linked into the same program at the same time. (CVS 1621) (check-in: [2590fffcaa] user: drh branch: trunk, size: 26690)
2004-06-16
12:02
[3325207ea4] part of check-in [7974c9a6f5] Trivial modifications to prevent compiler warnings. (CVS 1607) (check-in: [7974c9a6f5] user: danielk1977 branch: trunk, size: 26674)
10:39
[9b08b80da4] part of check-in [b739ef2a1b] Fix handling of a failed malloc() in various places (CVS 1605) (check-in: [b739ef2a1b] user: danielk1977 branch: trunk, size: 26670)
2004-06-12
09:25
[3ff6f24e52] part of check-in [5903f53828] (1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: [5903f53828] user: danielk1977 branch: trunk, size: 26628)
2004-06-09
12:30
[d1a4d7a59b] part of check-in [beab038c71] Fix error reporting when trying to attach a database with a foriegn text encoding. (CVS 1545) (check-in: [beab038c71] user: danielk1977 branch: trunk, size: 26509)
00:48
[2c28bf37f2] part of check-in [1086196460] Start all transactions and verify all schema cookies near the beginning of of each vdbe program. (CVS 1543) (check-in: [1086196460] user: drh branch: trunk, size: 26462)
2004-06-07
07:52
[532daca497] part of check-in [983221b038] Add pragma to set/get text encoding. Also fix an obscure problem where a temp trigger could be accidently dropped. (CVS 1537) (check-in: [983221b038] user: danielk1977 branch: trunk, size: 26540)
2004-05-31
08:26
[04b2c310d0] part of check-in [b8ed812c92] Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (check-in: [b8ed812c92] user: danielk1977 branch: trunk, size: 26557)
2004-05-29
11:24
[258ed8f958] part of check-in [3225de8902] Transform OP_HexBlob and OP_String8 to OP_Blob and OP_String the first time they are executed. (CVS 1492) (check-in: [3225de8902] user: danielk1977 branch: trunk, size: 26465)
10:23
[6a0751fd7d] part of check-in [4feb4b9a71] Fix vacuum so that it works with blobs. (CVS 1490) (check-in: [4feb4b9a71] user: danielk1977 branch: trunk, size: 26458)
02:37
[9040e5dd7e] part of check-in [4060a37d0b] Allow CREATE and DROP TRIGGER on attached databases. (CVS 1488) (check-in: [4060a37d0b] user: danielk1977 branch: trunk, size: 26363)
2004-05-28
11:37
[9ab75040ae] part of check-in [4984a130cc] Allow CREATE TABLE and CREATE INDEX on attached databases. (CVS 1483) (check-in: [4984a130cc] user: danielk1977 branch: trunk, size: 25668)
2004-05-18
10:06
[11afe9abfb] part of check-in [ad4a964158] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: [ad4a964158] user: danielk1977 branch: trunk, size: 25662)
2004-05-10
10:34
[8df308e091] part of check-in [2242423e31] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) (check-in: [2242423e31] user: danielk1977 branch: trunk, size: 25659)
2004-05-08
08:23
[8b07ff87b3] part of check-in [8af6474c49] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c49] user: danielk1977 branch: trunk, size: 25654)
2004-02-21
13:31
[a9927b57c8] part of check-in [8e3eda2a90] More code cleanup and size reduction. (CVS 1256) (check-in: [8e3eda2a90] user: drh branch: trunk, size: 25537)
2004-02-20
22:53
[0d4f05097b] part of check-in [3383413a53] Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) (check-in: [3383413a53] user: rdc branch: trunk, size: 25529)
2004-02-14
23:05
[c647a44242] part of check-in [af5c2be4ae] Eliminate the use of callbacks during schema initialization. (CVS 1242) (check-in: [af5c2be4ae] user: drh branch: trunk, size: 25410)
2003-10-03
00:13
[ce83e017b4] part of check-in [54aa0fb236] Allow quoted trigger names. Ticket #468. (CVS 1109) (check-in: [54aa0fb236] user: drh branch: trunk, size: 25419)
2003-08-16
12:37
[474581eaab] part of check-in [ef58f163b0] Do not delete tables with the same name when dropping triggers. Ticket #430. (CVS 1074) (check-in: [ef58f163b0] user: drh branch: trunk, size: 25395)
2003-06-03
01:47
[6ff205aaac] part of check-in [3e8889d7ce] Additional testing of the ATTACH command with bug fixes for the new problems that the tests found. (CVS 998) (check-in: [3e8889d7ce] user: drh branch: trunk, size: 25355)
2003-05-31
16:21
[5caf7697e6] part of check-in [7202d4f1a8] Tighter binding of views, triggers, and indices to their respective databases. Ticket #323. Much more testing needs to be done to the sqliteFix...() routines in attach.c. (CVS 990) (check-in: [7202d4f1a8] user: drh branch: trunk, size: 25273)
2003-05-17
19:04
[7607b209e6] part of check-in [c8c823b068] Prevent an infinite loop when deleting a table that has a TEMP trigger. (CVS 984) (check-in: [c8c823b068] user: drh branch: trunk, size: 24025)
2003-05-02
14:32
[8ee8119860] part of check-in [be7aed2011] VDBE cursors numbers for tables in a join do not have to be consecutive. This is one step on the road to fixing ticket #272. (CVS 947) (check-in: [be7aed2011] user: drh branch: trunk, size: 23556)
2003-04-25
17:52
[62d1e1b837] part of check-in [67746833fc] Report the correct authorization context in the authorization callback when coding an INSTEAD OF trigger on an update or delete. (CVS 936) (check-in: [67746833fc] user: drh branch: trunk, size: 23559)
2003-04-24
01:45
[e763f4015c] part of check-in [206b17397b] Fix some issues with INSTEAD OF triggers. (CVS 930) (check-in: [206b17397b] user: drh branch: trunk, size: 23606)
2003-04-22
20:30
[21ad1677bb] part of check-in [c675a55041] Update the authorizer API so that it reports the database that table and indices belong to and so that it reports when actions are taken in response to a trigger. (CVS 928) (check-in: [c675a55041] user: drh branch: trunk, size: 27388)
2003-04-21
18:48
[c461789fb9] part of check-in [58ddd587b0] Add support for TEMPORARY triggers. Such triggers can write temporary or permanent tables. (CVS 926) (check-in: [58ddd587b0] user: drh branch: trunk, size: 27176)
2003-04-17
22:57
[45b67f6c43] part of check-in [1e5e00fb73] Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915) (check-in: [1e5e00fb73] user: drh branch: trunk, size: 26296)
2003-04-15
19:22
[4ca4499d36] part of check-in [0b996959b8] Get triggers working on tables with INTEGER PRIMARY KEYs. Ticket #291. This may also fix #159. Still need to add tests so both bugs remain open for the time being. (CVS 908) (check-in: [0b996959b8] user: drh branch: trunk, size: 26047)
2003-03-31
02:12
[bd5a5b234b] part of check-in [1d3fc97721] Add the sqliteErrorMsg() function and use it to generate error message text during parsing and code generation. This simplifies the code somewhat and makes it easier to handle names with a database prefix. (CVS 891) (check-in: [1d3fc97721] user: drh branch: trunk, size: 26043)
2003-03-30
00:19
[b07dc1ff60] part of check-in [b90d9de32d] Fix a memory leak in triggers and update tests to show the latest error message text. (CVS 886) (check-in: [b90d9de32d] user: drh branch: trunk, size: 26313)
2003-03-27
13:50
[64ad4be538] part of check-in [8a593e9c2d] Regression tests now work - except for some changes in error message text. The library is now safe to use for experimental work. (CVS 885) (check-in: [8a593e9c2d] user: drh branch: trunk, size: 26257)
13:01
[5e2b4cd05d] part of check-in [7672914b19] Fix a segfault in the trigger code. (CVS 884) (check-in: [7672914b19] user: drh branch: trunk, size: 26272)
12:51
[578e9d07c5] part of check-in [d2fb2bb50c] Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 883) (check-in: [d2fb2bb50c] user: drh branch: trunk, size: 26271)
2003-03-20
01:16
[aafc83ea10] part of check-in [a5d8fc95ee] Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) (check-in: [a5d8fc95ee] user: drh branch: trunk, size: 25864)
2003-01-14
02:49
[da142decd2] part of check-in [cc2ae781ac] More tests of the sqlite_set_authorizer() API together with fixes for bugs that the new tests uncovered. (CVS 832) (check-in: [cc2ae781ac] user: drh branch: trunk, size: 25676)
2003-01-13
23:27
[cb72a3374b] part of check-in [45de93f913] Revise the sqlite_set_authorizer API to provide more detailed information about the SQL statement being authorized. Only partially tested so far. (CVS 830) (check-in: [45de93f913] user: drh branch: trunk, size: 25557)
2003-01-12
18:02
[dd3fb65956] part of check-in [52d5007f64] Initial check-in of the code for the new sqlite_set_authorizer() API function. The code is mostly untested at this point. (CVS 827) (check-in: [52d5007f64] user: drh branch: trunk, size: 25341)
2002-09-14
13:47
[5ba917fc22] part of check-in [3f253afe15] Do not put a write lock on the main database file when writing to a temporary table. (CVS 750) (check-in: [3f253afe15] user: drh branch: trunk, size: 24999)
2002-08-25
19:20
[c90a292a4b] part of check-in [c602603e7c] Fix for ticket #136: Added the OP_RenameCursor VDBE instruction and used it to make cursor numbers right on nested subqueries. Also added OP_Gosub and OP_Return but have not actually used them for anything yet. (CVS 727) (check-in: [c602603e7c] user: drh branch: trunk, size: 24990)
2002-08-24
18:24
[cc8c6769c2] part of check-in [22d8726e61] Change the way token memory is allocated in an effort to fix ticket #136. There is now a memory leak when using views of views. (CVS 725) (check-in: [22d8726e61] user: drh branch: trunk, size: 25013)
2002-06-25
01:09
[d88ab4d68d] part of check-in [9c1432bf74] Added support for the "sqlite_temp_master" table. Increased the version number to 2.5.2. (CVS 640) (check-in: [9c1432bf74] user: drh branch: trunk, size: 24079)
2002-06-11
02:25
[21342af6ac] part of check-in [d4a2fb1006] Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) (check-in: [d4a2fb1006] user: danielk1977 branch: trunk, size: 24347)
2002-05-27
12:24
[d02f8e3510] part of check-in [f8041f3d4d] A SELECT statement inside the body of a TRIGGER uses the SRT_Discard target to discard the query results. Such selects are intended to be used to call user-defined functions for their side-effects. They do not return results. (CVS 594) (check-in: [f8041f3d4d] user: drh branch: trunk, size: 24102)
2002-05-26
23:24
[b7a93ffa7b] part of check-in [d9e48cd518] Require the INSTEAD OF syntax to create triggers on database views. (CVS 591) (check-in: [d9e48cd518] user: danielk1977 branch: trunk, size: 24339)
20:54
[f9adb404ea] part of check-in [9051173742] NULL values are distinct. A comparison involving a NULL is always false. Operations on a NULL value yield a NULL result. This change makes SQLite operate more like the SQL spec, but it may break existing applications that assumed the old behavior. All the old tests pass but we still need to add new tests to better verify the new behavior. Fix for ticket #44. (CVS 589) (check-in: [9051173742] user: drh branch: trunk, size: 23558)
2002-05-24
20:31
[75dd64808c] part of check-in [99bd1f5b9a] Initial implementation of LEFT OUTER JOIN including the expanded SQL92 join syntax. The basic functionality is there but there is still a lot of testing to do. (CVS 587) (check-in: [99bd1f5b9a] user: drh branch: trunk, size: 23555)
02:04
[bf1a4f6653] part of check-in [a167b71d8c] Split the IdList structure into IdList and SrcList. SrcList is used to represent a FROM clause and IdList is used for everything else. This change allows SrcList to grow to support outer joins without burdening the other uses of IdList. (CVS 584) (check-in: [a167b71d8c] user: drh branch: trunk, size: 23649)
2002-05-23
22:07
[a7990d424a] part of check-in [c53b0b9283] Change the names of the PushList and PopList opcodes to ListPush and ListPop so that they will appear together with the other List opcodes in the documentation. (CVS 583) (check-in: [c53b0b9283] user: drh branch: trunk, size: 23645)
02:09
[a5e6694f2c] part of check-in [01ad352c3c] Fix some places where a malloc() failure would lead to a segfault. (CVS 580) (check-in: [01ad352c3c] user: drh branch: trunk, size: 23645)
00:30
[0b86599dd3] part of check-in [275ba356f3] Do not allow triggers on the SQLITE_MASTER table. (CVS 579) (check-in: [275ba356f3] user: drh branch: trunk, size: 23344)
2002-05-21
13:18
[d40853730b] part of check-in [3399b01219] Clean up some compiler warnings. (CVS 575) (check-in: [3399b01219] user: drh branch: trunk, size: 23124)
11:38
[143d3d2bd1] part of check-in [37dbdd551e] Additional code cleanup resulting from a review of the new trigger code. (CVS 572) (check-in: [37dbdd551e] user: drh branch: trunk, size: 23129)
2002-05-19
23:43
[43dbeb68ba] part of check-in [8a4195c746] Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571) (check-in: [8a4195c746] user: danielk1977 branch: trunk, size: 21050)
2002-05-17
00:05
[e61b4a9ecd] part of check-in [b1d72cb584] Stylistic changes to src/trigger.c (partial fix to ticket #39). Also more comments. (CVS 570) (check-in: [b1d72cb584] user: danielk1977 branch: trunk, size: 20986)
2002-05-15
12:45
[491d5d3b40] part of check-in [b10346818b] Beginning to clean up the trigger code. Still lots of work to do. (CVS 566) (check-in: [b10346818b] user: drh branch: trunk, size: 18557)
11:44
[768b895cf0] part of check-in [690f9a1631] Remove all tabs from the beginning of source code lines. Replace tabs with the appropriate number of spaces. (CVS 565) (check-in: [690f9a1631] user: drh branch: trunk, size: 18526)
08:30
Added: [b8df3e8f09] part of check-in [794bf67b6b] Added FOR EACH ROW triggers functionality (CVS 562) (check-in: [794bf67b6b] user: danielk1977 branch: trunk, size: 17654)