dan
28e4e35586
Explicitly cast an argument to printf() to (int), in case the result of the pointer arithmetic expression is a 64-bit integer on some platforms.
...
FossilOrigin-Name: 90cfeaf7b68eebc2cd75bc60b1bb86823646fe30
2011-06-24 18:43:23 +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
drh
124c0b49a1
Refactor the SQL parameter processing so that parameter names for values
...
that are optimized out of the prepare statement are not forgotten.
FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
2011-06-01 18:15:55 +00:00
dan
3a6d8aec2a
Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do.
...
FossilOrigin-Name: 68240e75e87a54cde93352b0ec364d34365a8170
2011-04-23 15:54:54 +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
fcd71b6010
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons
...
within asserts or unused parameters in extensions.
FossilOrigin-Name: 3eeb0ff78d04891b5fd1a3d99a9fb8cfbed77a81
2011-04-05 22:08:24 +00:00
drh
d3ef5ae05f
Simplifications to the sqlite3ResetInternalSchema() logic to eliminate
...
unreachable branches.
FossilOrigin-Name: a4c3ac989d4e93f0279172901b9ece822d137700
2011-04-05 19:26:30 +00:00
drh
cdf011dcc4
Additional schema mutex checks for sqlite3RootPageMoved().
...
Reduce the scope of sqlite3ResetInternalSchema() in a few places.
FossilOrigin-Name: 39c00907833413c0d97d3e06fdda967b825d23ea
2011-04-04 21:25:28 +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
b6ee66072e
Rename sqlite3SchemaFree() to sqlite3SchemaClear() to more accurately reflect
...
its function.
FossilOrigin-Name: 71d7440023f67760d0bff4bd7459fe88bd226f30
2011-04-04 13:40:53 +00:00
drh
069d32592d
Merge in the latest changes from trunk.
...
FossilOrigin-Name: 0d99229a7a58da07748072326f6261c533c1958f
2011-04-02 20:08:10 +00:00
drh
6412358526
Change the name of the "tAttachMask" datatype to "yDbMask".
...
FossilOrigin-Name: 3d6f2e82358c0d8c0ca04e0da20b84fc65c3f7fa
2011-04-02 20:01:02 +00:00
drh
ff2e14b93f
When resetting any non-TEMP schema, also reset the TEMP schema since it might
...
be holding references to the non-TEMP schema that just got reset.
FossilOrigin-Name: 211d5dde1f9c15048c65d1d700141aa7b2491011
2011-04-02 16:50:25 +00:00
drh
c7792fa052
Begin a series of changes designed to reduce the scope and frequency of
...
invalidating schemas. Design goals are that the internal schema should
never be deleted out from under a prepared statement that is running and
that all prepared statements should be expired if the schema is invalidated.
At the same time, minimize the number of schema invalidations. This change
merely revises the sqlite3ResetInternalSchema() function to use -1 as the
wildcard for "all" rather than 0, so that we can reset the main schema
independently of all the others.
FossilOrigin-Name: 6a8ad6e31e0d2b8a5ace38faf0efd805155ee5f3
2011-04-02 16:28:52 +00:00
drh
22645842a4
The changes to fix [f7b4edece25c9948] mean that the schema is always loaded
...
whenever a prepared statement is running. This means that a couple of
branches can be eliminated and one operand of OP_ParseSchema can be removed.
FossilOrigin-Name: b6e268fce12829f058f1dfa223731ec8479493f8
2011-03-24 01:34:03 +00:00
drh
01c7dc887c
Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62.
...
FossilOrigin-Name: 7aaf8772274422f5020fad9eea490e195170720f
2011-03-23 18:22:34 +00:00
drh
c2a75551ef
Add a generation counter to the Schema object and enhance OP_VerifySchema
...
to also check the Schema generation. Fix for
ticket [f7b4edece25c99].
FossilOrigin-Name: 36c04dd1695f0899b53ce58738181b146fc005ed
2011-03-18 21:55:46 +00:00
drh
8a8a0d1d60
Simplify the test that determines if the name of a new table collides with
...
a prior index name.
FossilOrigin-Name: 3f30f00a384d23582f3fe5e68add7fb7d7834926
2010-09-28 20:26:44 +00:00
dan
39f1bcb1df
Fix some problems that can occur if a trigger has the same name as another database object.
...
FossilOrigin-Name: 655991ec8a781d67d69fc353853403b9a811acf2
2010-09-29 07:16:46 +00:00
dan
a16d106037
Add tests to e_createtable.test. Allow a table to be created if there is an index of the same name in a different attached database.
...
FossilOrigin-Name: 6251e587403eed822b9011ed25a3a807e8fa2a6f
2010-09-28 17:37:28 +00:00
dan
72c5ea3279
Disallow statements of the form "CREATE TEMP TABLE main.t1 ...".
...
FossilOrigin-Name: dd1b34bab7edaaedd985882f6e16b16940a46d38
2010-09-28 15:55:47 +00:00
drh
155640552b
Enhance the ANALYZE command so that it gathers statistics in the sqlite_stat1
...
table even for tables that are empty or have no indices.
FossilOrigin-Name: a7645d293801da64a7579737d0a8b48117af2e2c
2010-09-25 22:32:56 +00:00
drh
75c014c321
Remove the sqlite3BtreeFactor() wrapper routine. All modules now call
...
sqlite3BtreeOpen() directly.
FossilOrigin-Name: 0900e35348f4b9bf327d6ae2884c4ddbb6345d8d
2010-08-30 15:02:28 +00:00
drh
50d1b5f363
Remove unnecessary code from malloc.c. Enhance pcache1.c so that is tries
...
to reuse existing pages, rather than create new pages, when SQLite is under
memory pressure. "Memory pressure" means that SQLITE_CONFIG_PAGECACHE memory
is nearly exhausted or sqlite3_soft_heap_limit() has been reached.
FossilOrigin-Name: 51049479a8577e03cc353f71f6e13a10c8323d91
2010-08-27 12:21:06 +00:00
drh
078e4084e9
Get SQLITE_OMIT_VIRTUALTABLE working again after being broken by recent
...
changes.
FossilOrigin-Name: 33b1e862ffa7109480cf4a77ceae8aebe98d3eee
2010-07-28 19:17:51 +00:00
drh
174b9a166d
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree()
...
and all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: 629e38a8c9e31111e351fe4625a5835576d23584
2010-07-26 11:07:20 +00:00
drh
b975598ea0
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and
...
all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: ac1f37a647e9ed1c00a901d26d9956a86c40117a
2010-07-24 16:34:37 +00:00
dan
d46def77db
Experimental code to measure memory consumed by database schemas and prepared statements.
...
FossilOrigin-Name: 9aa30342f4de4eff630520ea8e07ad253d3f0877
2010-07-24 11:28:28 +00:00
dan
1feeaed291
Remove the Table.dbMem variable, as it is no longer being used for its original purpose.
...
FossilOrigin-Name: 6eddc6e601cf8f585c6c2cf79f36fcbfe98a307e
2010-07-23 15:41:47 +00:00
drh
c6b2a0ff99
Change the journal_mode pragma to remove the "default journal mode" concept.
...
The journal_mode pragma only effects currently attached databases and does
not change the behavior of future attachments.
FossilOrigin-Name: e396184cd3bdb96e29ac33af5d1f631cac553341
2010-07-08 17:40:37 +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
0b9b4301b8
Refactor and simplify the logic used to change journalmode.
...
FossilOrigin-Name: 95cc3f6fdec5494560c3cd4439d06870d1c62506
2010-06-11 17:01:24 +00:00
dan
558814f8c6
Add some 'const' markers to static data that is really constant.
...
FossilOrigin-Name: e7073e23b80e7cae0c76d42f014ee9b2d40a8f2f
2010-06-02 05:53:53 +00:00
drh
e294da02ba
Fix to the database connection validity checker. Other test coverage
...
enhancements.
FossilOrigin-Name: 0f6291bbbd31673e2a65f38c7fc364c33719d25e
2010-02-25 23:44:15 +00:00
drh
a756466349
Log all error messages if logging is enabled.
...
FossilOrigin-Name: a8076aede33c07e9a2aaa05be8a888f37b45e41c
2010-02-22 19:32:31 +00:00
drh
7c9c98684c
If an OOM occurs while setting the page size for the TEMP database, be sure
...
that error gets reported back out to the interface layer.
FossilOrigin-Name: 6487e70a1e18bb01ee692e250b41c8652e34a87c
2010-01-31 14:18:21 +00:00
drh
10a76c90e4
Make the TEMP file tables use the page size set for the main database.
...
Ticket [b80eeab588c4].
Also copy over the changes from apple-osx check-in [7c3bede3f2].
FossilOrigin-Name: 5dcfb0c9e420d27e54a299b3991b98776651a507
2010-01-26 01:25:26 +00:00
drh
07096f68ae
Move the query flattener turn-off from a pragma to an sqlite3_test_control()
...
call. Make provisions (not yet implemented) to turn off other optimizers
using the same call.
FossilOrigin-Name: 4a97c623f4e190134de4b2ca406e311034a74797
2009-12-22 23:52:32 +00:00
drh
972a23119e
Allow zero-length names for tables, columns, and indices.
...
Fix for ticket [78e04e52eaf].
FossilOrigin-Name: 7b1cfd65a6f7c85ef8f6e4622973457cff9d007c
2009-12-08 14:34:08 +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
4c4298392e
Add asserts as evidence that all FK constraints are either immediate or
...
deferred.
FossilOrigin-Name: 634ef4fc9f4051245b38f558bb1c733031548c2f
2009-10-12 22:30:49 +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
drh
ff738bce0d
Make sure a transaction is available for rollback whenever a REDUCE conflict
...
resolution occurs and there is the possibility to ABORT.
Ticket [4a03edc4c8c]
FossilOrigin-Name: f0c56fa90dc95aff6fe6764b5ab75a90199247b0
2009-09-24 00:09:58 +00:00
dan
8099ce6f4a
Add missing comments to fkey.c. Also, change the terminology used for comments and names in fkey.c from "referenced/referencing" to "parent/child". This is arguably less correct, but is easier to follow.
...
FossilOrigin-Name: 540c2d18e14c277b55f95729fbafc04ca66466b2
2009-09-23 08:43:35 +00:00
dan
f59c5cacb8
Fix another OOM related problem in fkey.c.
...
FossilOrigin-Name: e2bc51bc61d54d103ccffd12106c27a574e4e997
2009-09-22 16:55:38 +00:00
dan
1da40a381f
Check in implementation of foreign key constraints.
...
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
drh
3492dd71dd
Make sure sufficient space is allocated for at least one VDBE cursor when
...
autoincrement is used. Ticket [a696379c1f088].
FossilOrigin-Name: 2b2a1ef74e24857b8d18f6370894588fc2aa5ebb
2009-09-14 23:47:24 +00:00
drh
92aa5eacd8
Add an #ifndef so that the build works with SQLITE_OMIT_ANALYZE again.
...
FossilOrigin-Name: b084828a771ec40be85f07c590ca99de4f6c24ee
2009-09-11 14:05:06 +00:00
dan
f3677212e3
Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM.
...
FossilOrigin-Name: b3027863505fa8edf355f3f5eea4502ef365175e
2009-09-10 16:14:50 +00:00