drh
d96cc6fbcb
Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled
...
correctly in trigger.c.
FossilOrigin-Name: 343e55992f503efa662e49bb0f3c0d798defd0a11f2ee1c36968902fa7e06823
2017-06-08 14:35:21 +00:00
drh
e0a04a36a6
All temp.sqlite_master to be used as an alias for sqlite_temp_master.
...
FossilOrigin-Name: 8d646905b830d5bb29092e103ac5cb499b3c7e5a
2016-12-16 01:00:21 +00:00
drh
9e5eb9c8cc
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].
FossilOrigin-Name: 6bf5ba10d28f1b0a32aa9a560ae3143a1235eadb
2016-09-18 16:08:10 +00:00
drh
a0daa751f8
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly.
...
FossilOrigin-Name: a3e3b3e1c57178ccd38fc7375ec1de8e8ae45372
2016-09-16 11:53:10 +00:00
drh
69c338263a
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.
FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
2016-08-18 14:33:11 +00:00
drh
4a642b6060
Improvements to the way that OOM errors are processed.
...
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
40aced5c65
Add the sqlite3TokenInit() utility function.
...
FossilOrigin-Name: 7323175337b7ba85ac932ca892b28860f6a5b688
2016-01-22 17:48:09 +00:00
drh
9b34abee30
Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for
...
a slightly smaller and faster binary.
FossilOrigin-Name: a4258cd4613c55acacb5c7b61faa3de7eb0759d2
2016-01-16 15:12:35 +00:00
drh
8c8dddc904
Simplification of the DROP TRIGGER logic using sqlite3NestedParse() instead
...
of hand-coded VDBE code. This is a manual cherry-pick of the key change from
check-in [c80bbf14b365d].
FossilOrigin-Name: 8021b4c8139ba56d6b1e2e26aeec4f9bf77f37c9
2015-12-09 16:26:38 +00:00
dan
464083544e
Ensure that tables names are dequoted exactly once by the trigger logic.
...
FossilOrigin-Name: 9d887b92f8086961e045f8acb9ee7a443796d411
2015-04-21 16:38:49 +00:00
drh
b6b676ea7c
Fix some identifier name de-quoting issues in the foreign key and trigger logic.
...
FossilOrigin-Name: 59e92bd9521f1e8315a9a7e7fd3d63b0c75eaf0e
2015-04-21 03:13:47 +00:00
drh
97ab32bcd3
Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg()
...
take care of doing that.
FossilOrigin-Name: 3f3b0f683af2fbee83811536f6bef770ff919385
2015-04-17 18:22:53 +00:00
drh
e06874eaa1
Make sure errors in coding triggers are propagated back up to the parser.
...
FossilOrigin-Name: 928f973ca9adc7933015b2fb6b6fcb8e3154cb9c
2015-04-16 15:47:06 +00:00
drh
3875becf35
Remove two pointless assert() statements. This should silence harmless
...
compiler warnings reported at
[https://bugzilla.mozilla.org/show_bug.cgi?id=1152845 ]
FossilOrigin-Name: 83b342a44ffc9ea07dc4d59f2866cefc68ee4f13
2015-04-09 16:30:56 +00:00
peter.d.reid
60ec914c74
Fix typos in comments. No code changes.
...
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
acbcb7e013
Simplify the interface to the symbol table, saving 600 bytes of code space.
...
FossilOrigin-Name: 14b0f561fe15622b61c6676c9c455dca6b9ba5f0
2014-08-21 20:26:37 +00:00
drh
b06a4ec1f0
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.
FossilOrigin-Name: 0a5318bc272b844e937cb1df3a07224034bc3450
2014-03-10 18:03:09 +00:00
drh
688852ab15
Add logic to do test coverage measurements on the VDBE code.
...
FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
2014-02-17 22:40:43 +00:00
drh
aceb31b120
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.
FossilOrigin-Name: 192dea97316144f15f6dd0eabff08a0bf9ef203e
2014-02-08 01:40:27 +00:00
drh
75593d96be
Allow a VALUES clause to be used any place that a SELECT statement can be
...
used.
FossilOrigin-Name: c9ea7d199f06a7801ab639e7ac98ebeb98706f24
2014-01-10 20:46:55 +00:00
drh
f30a969b80
Rework the logic that factors constant expressions out of inner loops, making
...
it both simpler and faster.
FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
2013-11-15 01:10:18 +00:00
drh
c7379ce442
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.
FossilOrigin-Name: e1a89b56f7173166bb9224e2e360fd67ad3399c3
2013-10-30 02:28:23 +00:00
drh
d100f6912d
The sqlite3FixInit() routine cannot fail. So change the return type from "int"
...
to "void".
FossilOrigin-Name: 500c5932fe3f5fcd0940522f7839d581c555e0eb
2013-10-03 15:39:44 +00:00
dan
46539d7cfa
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.
...
FossilOrigin-Name: f35f6ae3da77dbdf5f7a4a9927475659fc6e0ca6
2013-10-03 12:29:38 +00:00
drh
f7b5496e8e
Many small harmless comment changes. Removal of obsolete comments and
...
fixing misspelled words. No changes to code.
FossilOrigin-Name: a0d5cc9315dc6e9ef7dee4c3dfabf4e562d64376
2013-05-28 12:11:54 +00:00
dan
f78baafe41
Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6].
...
FossilOrigin-Name: 0c31a46801746191d1a53332d75beda880fe1fd7
2012-12-06 19:37:22 +00:00
mistachkin
d5578433ff
Fix all known instances of 'repeated the' style typos in comments. No changes to code.
...
FossilOrigin-Name: 9b19b847533f944f289d93dcdba29c0d67bf251c
2012-08-25 10:01:29 +00:00
dan
1d8cb21fdb
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442].
...
FossilOrigin-Name: 557c69055a300b4082830b5f4803091dca1c3140
2011-12-09 13:24:16 +00:00
drh
6fea83e52c
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.
FossilOrigin-Name: 009c96ea7836edf75d65b150055e920079bb45e3
2011-07-01 13:50:44 +00:00
drh
5d9c9da6e8
Create and use a function especially for adding the ParseSchema opcode.
...
This gives a small reduction in code and a small performance increase.
FossilOrigin-Name: 957b2ab67c6185f0e1062593d237de5c434a38bf
2011-06-03 20:11:17 +00:00
dan
579667537a
Add VerifyCookie instructions to "DROP XXX IF EXISTS" statements if the specified database object does not exist when the statement is prepared.
...
FossilOrigin-Name: a46f32900a013aa6bb2dad2a9ed3ce00ab2493fd
2011-04-09 17:32:58 +00:00
dan
7687c83d4c
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).
...
FossilOrigin-Name: b9dbd9936191666c3fc9889e938344a82cc03aeb
2011-04-09 15:39:02 +00:00
drh
959b6a95ee
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.
FossilOrigin-Name: 5db4511d8a77b74be3503a7c34257ef6b07541f5
2011-04-05 13:12:28 +00:00
drh
8d129422ed
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.
FossilOrigin-Name: bf664b206bf6f5c1941da1986dfe2c0d1831d5e4
2011-04-05 12:25:19 +00:00
drh
2120608e0f
Add a description of access rules for the Schema object and lots of asserts
...
to verify that the access rules are followed.
FossilOrigin-Name: ae8374af057b6e6546e9265148cfffe32fcb0849
2011-04-04 18:22:02 +00:00
drh
e83cafd2f0
Add the ability to enable and disable foreign key constraints and triggers
...
using calls to sqlite3_db_config().
FossilOrigin-Name: 09e167f9c14625924b17bbb1f292f89ac9ddc93a
2011-03-21 17:15:58 +00:00
drh
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
dan
d19c933e8e
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement.
...
FossilOrigin-Name: 00e55102a8309eb6df08ad4a8937ba02688bac62
2010-07-26 12:05:17 +00:00
dan
1db95106ee
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.).
...
FossilOrigin-Name: 4932f22848b3d15a2b6dc5fa2cd69ce19182e2a4
2010-06-28 10:15:19 +00:00
drh
8b307fbfa0
Automatically generate transient indices for tables in joins that would
...
otherwise have to use a full table scan.
FossilOrigin-Name: 1b2a04125f964e14f3fb90171c5ab86a0641d1c9
2010-04-06 15:57:05 +00:00
drh
622d288790
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].
FossilOrigin-Name: ec914af32675e472694270d46f3ba2214eb2fe90
2010-02-15 16:54:55 +00:00
drh
a8c62df904
Fix a compiler warning in shell.c. Updates to comments in trigger.c.
...
FossilOrigin-Name: c727601eecd85a26dbd4fc36823d77bec34da3c3
2010-02-15 15:47:18 +00:00
dan
bb5f168f2e
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers.
...
FossilOrigin-Name: 1b7c5250ccb63182324bfc3f1ea28f17b6db357a
2009-11-27 12:12:34 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
fcb9f7ad7a
Fixed warnings with MSVC compile.
...
FossilOrigin-Name: e0aa50c382a56bb02eaa589619b7e670006a26b3
2009-10-13 19:19:23 +00:00
dan
d66c83095e
Fix the DROP TABLE command so that it cannot be used to bypass foreign key constraints (if foreign key support is enabled).
...
FossilOrigin-Name: 8353808c9e70412fdee31bfda7810e948f1c7485
2009-09-28 14:49:01 +00:00
dan
94d7f50a0f
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect().
...
FossilOrigin-Name: 0443f7c9112ca91aa45c78a3d6287e5fcf5c3b73
2009-09-24 09:05:49 +00:00
dan
1da40a381f
Check in implementation of foreign key constraints.
...
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
drh
3991bb0dee
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]
FossilOrigin-Name: 03e464be51a1c36fc02cf31178ae91f736dfddd6
2009-09-17 00:41:19 +00:00
drh
b7f1d9a747
Further simplifications to the VDBE - removing functionality that is no longer
...
used.
FossilOrigin-Name: b271e16621831957468a1d3925174aac73f58891
2009-09-08 02:27:58 +00:00