1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-01-13 20:39:27 +03:00
Commit Graph

147 Commits

Author SHA1 Message Date
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
drh
9e55d47d33 Reorder variable declarations in the previous check-in to avoid putting code
before declarations when not testing.

FossilOrigin-Name: d1fe8ab4a176180053d35300ad0540a27c6cd76d
2010-07-06 09:29:01 +00:00
dan
9859c427a2 Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails.
FossilOrigin-Name: c272196115ab3926e56b6f4183ec127e3f98ef9c
2010-07-06 07:36:18 +00:00
drh
6498f0bb2e Avoid unnecessary calls to sqlite3_step() with null prepared statements
while parsing the schema.

FossilOrigin-Name: ae04d2d15d3d96f607adb394a631d96cd4cf2c1d
2010-04-09 09:14:05 +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
dan
b7dca7d733 Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4].
FossilOrigin-Name: 8858042fa1449516a2c7dbb991dca3eb6c5794cb
2010-03-05 16:32:12 +00:00
drh
a6129fa79a Enhancements to the way errors are reported up when an automatic
statement reprepare fails.

FossilOrigin-Name: 1a6d4bb130382564093b6370818ae4a7633f4074
2010-02-24 17:15:19 +00:00
drh
413c3d36a2 Continuing improvements to error reporting and the sqlite3_log() routine.
FossilOrigin-Name: edea3bb740ddd096a46e00678b59d465bb1e2903
2010-02-23 20:11:56 +00:00
drh
9978c97ec5 Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
output for CORRUPT, and CANTOPEN errors.

FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
drh
6a9c64b363 Make sure internal queries are well ordered, even when the
reverse_unordered_selects pragma is in effect.
Ticket [eb942c64a157].

FossilOrigin-Name: 0209f17180065d9c213b6c437be1c3c40660665f
2010-01-12 23:54:14 +00:00
shaneh
d77f56efe5 Fix typo in comment of prepare.c.
FossilOrigin-Name: 333c3ffe6d4d2293d01958812b9c02b0bf9796a4
2009-12-17 21:05:42 +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
dan
937d0dea4f Add the experimental sqlite3_reoptimize() API.
FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
2009-10-15 18:35:38 +00:00
dan
65a7cd1631 More fixes and comment updates.
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan
2832ad4221 More fixes for test cases.
FossilOrigin-Name: 85d9f23be1e8673dbda42e43b9b23332ada9225f
2009-08-31 15:27:27 +00:00
dan
165921a742 Changes to support recursive triggers.
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh
3d5f74b275 Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960)
FossilOrigin-Name: ba1afc040171810d0c996708d7b9cb11abcd99d8
2009-08-06 17:43:31 +00:00
drh
35ccb3d3bc Return a better error message when problems are encountered parsing a
TEMP trigger or TEMP view that references objects in other databases that
have been modified or dropped.  Ticket #3810. (CVS 6956)

FossilOrigin-Name: 102785b9fbc5ab5dd740110243f080e3f3661e87
2009-08-01 16:27:00 +00:00
danielk1977
595a523a10 Allow virtual tables to be used in shared-cache mode. (CVS 6928)
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
drh
1adecdf814 Remove unused code (that was commented out) from prepare.c. Remove an
incorrect NEVER() macro.  Fix the comment on schemaIsValid() to correctly
describe its return behavior. (CVS 6845)

FossilOrigin-Name: 90deb65835febc908f21bca89ef497d1048afe0a
2009-07-03 19:19:50 +00:00
danielk1977
94b30733f7 When a b-tree transaction is committed when there are open cursors, downgrade shared-cache write-locks to read-locks instead of relinquishing all locks. Fix for #3942. (CVS 6837)
FossilOrigin-Name: 611e704fdf90a3d3932ca1cbab4be7e282bf1ddf
2009-07-02 17:21:57 +00:00
danielk1977
602b466e99 Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836)
FossilOrigin-Name: e3c055f167f895ae45858de9d9d8a264df2f36b6
2009-07-02 07:47:33 +00:00
drh
9635cc7c0d Get the notify2.test running again by removing an ALWAYS() that was mistakenly
inserted and by taking care not to report corruption following an
SQLITE_LOCKED failure during schema parsing. (CVS 6815)

FossilOrigin-Name: 6e9140a729bd26dd102e603abf6ea16d67e8546e
2009-06-25 11:50:21 +00:00
drh
27731d7c73 Make sure sqlite3BtreeCreateTable() returns an error code if the largest
rootpage field is invalid in auto_vacuum mode.  Update file-format comments
to describe all of the "meta" values. (CVS 6797)

FossilOrigin-Name: bda38f5e86db45234c2dbb0f8d1a81f6ff6d04e4
2009-06-22 12:05:10 +00:00
drh
58fbb314ae Changes to prepare.c and callback.c to promote better test coverage. (CVS 6770)
FossilOrigin-Name: 08cca219f16efab93cb00f04d2e2f8033893e5f1
2009-06-17 00:35:30 +00:00
drh
9da742f969 Changes sqlite3_prepare_v2() (and related routines) so that if it fails due
to a missing table and the schema is out of date, it retries once before
returning SQLITE_SCHEMA.  Other changes to prepare.c to facilitate coverage
testing. (CVS 6769)

FossilOrigin-Name: 256ec3c6af41c2324db82e4deb54edbba5b581e8
2009-06-16 17:49:36 +00:00
drh
c5e47ac238 Fix two instances where a malformed header in a database file (in other words
a corrupt database file) can lead to an assertion fault. (CVS 6712)

FossilOrigin-Name: 4e92c7f20afa51849128aa1d784ab885b517a73d
2009-06-04 00:11:56 +00:00
danielk1977
0d19f7ac57 Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709)
FossilOrigin-Name: 6dbf4eca00f845baa7200aba421d0bc158ba96aa
2009-06-03 11:25:07 +00:00
drh
e7b3470705 Malloc for space to hold the Parse object in sqlite3_prepare() and friends.
Or, if compiled with SQLITE_USE_ALLOCA, obtain space for the object from
alloca(). (CVS 6702)

FossilOrigin-Name: c7c0c58e472cd8277b2ad58bb60834190bace4fa
2009-06-01 18:18:20 +00:00
drh
c4a64facce Rework the logic that generates a schema for tables created using
"CREATE TABLE ... AS SELECT ...".  Instead of trying to copy the raw
datatype string from the right-hand side, just make the type one 
of TEXT, INT, REAL, NUM, or nothing.  This is much simpler than 
trying to parse and quote datatype strings.  Other minor 
implifications to build.c are bundled with this change. (CVS 6626)

FossilOrigin-Name: 33cf83591e6e13875ef6ada5b8ac8ab07619d8bc
2009-05-11 20:53:28 +00:00
drh
8a93919082 Change the journal_mode pragma so that it always returns the current
journal mode, even on a failed attempt to change the journal mode.
Allow the journal mode to be changed as long as there is not a pending
transaction.  Ticket #3811. (CVS 6526)

FossilOrigin-Name: 419e320ae51639794335d19699f8e1189e524e7d
2009-04-20 17:43:03 +00:00
drh
860e077a7a Fix the sqlite3_prepare() family of interfaces so that they zero the *ppStmt
value even on an SQLITE_MISUSE return.  Make it clear in the documentation
that the ppStmt parameter cannot be zero. (CVS 6441)

FossilOrigin-Name: 23bf9f266559603e37b2703715eaf8ef5af6bb17
2009-04-02 18:32:26 +00:00
drh
769e97e032 Remove dead code from the UTF conversion routines. Fix a bug in
sqlite3_prepare16_v2() in which an out-of-memory error fails to
set the statement return pointer to NULL. (CVS 6423)

FossilOrigin-Name: 94e2f815ebb38981a2226d8aed9f3731f8833f7c
2009-04-01 16:33:37 +00:00
drh
d9da78a2c8 Changes to insure that lookaside memory allocations are never used to hold
schema content.
Ticket #3743. (CVS 6377)

FossilOrigin-Name: ea74d8dc62f5784089aa8ef098e97c505a79b176
2009-03-24 15:08:09 +00:00
danielk1977
4be6469146 Add a comment to prepare.c explaining why the lookaside buffer is disabled before sqlite3_exec() is called to parse a schema statement. No code changes. (CVS 6376)
FossilOrigin-Name: 8ca6a665650c9683a202f3ced17b14f7c85624bf
2009-03-24 04:46:08 +00:00
danielk1977
a8bbef84bf Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373)
FossilOrigin-Name: 92ec5975123284aff3a69ee16c397d9e2a844c0b
2009-03-23 17:11:26 +00:00
danielk1977
238746a650 Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360)
FossilOrigin-Name: cc0d925669ddeb55048e88aa5b4f658be60b0962
2009-03-19 18:51:06 +00:00
danielk1977
65a2ea1155 Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359)
FossilOrigin-Name: e8be1af922098e298902820730f8b28603bd6fae
2009-03-19 07:58:31 +00:00
danielk1977
404ca07578 Add the sqlite3_unlock_notify() API. (CVS 6348)
FossilOrigin-Name: b649a6cc5bfefddd6a04b1183647d2923e0a0daa
2009-03-16 13:19:36 +00:00
shane
be21779385 Corrected typos and misspellings. Ticket #3702. (CVS 6336)
FossilOrigin-Name: 6404afa0c515a6536fc2e878d4fb451e4dc06942
2009-03-05 04:20:31 +00:00
drh
c74d0b1dfc Enhanced comments on table locking logic as it relates to preparing new
statements.  Added assert() and testcase() but no other changes to code. (CVS 6319)

FossilOrigin-Name: 4a12f5b818b769d7518c942ff3dedf453dde698e
2009-02-24 16:18:05 +00:00
danielk1977
6ab3a2ec8a 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)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
danielk1977
78ca0e7eb4 When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196)

FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
drh
1c767f0df3 More coverage improvements. (CVS 6148)
FossilOrigin-Name: 6e171c0a64850013b26a223189d5bebcc0a01a8b
2009-01-09 02:49:31 +00:00
drh
ea6788322e 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)

FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00
drh
dc5ea5c785 Remove or rename local variables that shadow other variables or parameters. (CVS 6005)
FossilOrigin-Name: e7e9fa4fa1b7fc0668f4e3a51873ee5d11893f42
2008-12-10 17:19:59 +00:00
danielk1977
f3d3c27a0c Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)
FossilOrigin-Name: d1abe8a1c9a990b02c71d6c249436381c9fde443
2008-11-19 16:52:44 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
00e136135e Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
danielk1977
10fb749b37 Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853)
FossilOrigin-Name: bfce91429b1dad6e0ca36929e41a7adfb30f8522
2008-10-31 10:53:22 +00:00