1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00
Commit Graph

1063 Commits

Author SHA1 Message Date
dan
3d06237770 Merge latest trunk changes.
FossilOrigin-Name: d184cf00574b52b93f1f089025d6a0addca57558
2011-04-01 15:43:40 +00:00
drh
76a32a81e4 Fix a compiler warning and an unreachable branch. Restore 100% branch test
coverage.

FossilOrigin-Name: 4dc148bb4cec5ecba167cdcb4959a4f0fa05a96f
2011-04-01 01:38:02 +00:00
drh
9b1c62d416 Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option.
FossilOrigin-Name: 6634521461e6acff7cc778590e62d57831f9230d
2011-03-30 21:04:43 +00:00
drh
f6cf1ffb39 Do not generate sqlite_stat1 entries for empty tables when running
ANALYZE.  Ticket [83ea97620bd31016451]

FossilOrigin-Name: 3a27af5b3c688c651ba1fae261026ef77b7ff5e3
2011-03-30 14:54:05 +00:00
drh
5847b5f9c3 Merge in all the latest changes from trunk.
FossilOrigin-Name: b11d941e92897663da46160185e6e305d4e28fe6
2011-03-30 02:03:12 +00:00
dan
60939d0ade Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on.
FossilOrigin-Name: dbe569a099c2855480e35c0cc4d9332821ad80da
2011-03-29 15:40:55 +00:00
drh
9a48bf528d Merge in all the latest changes from the trunk, and especially the interface
changes to the SystemCall methods of the VFS.

FossilOrigin-Name: 9c3a6e479988e96086bef00c79dbce508a14da0d
2011-03-23 22:48:46 +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
dan
319eeb7b33 Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook.
FossilOrigin-Name: 24d4d5dd007197a141555bcca6f2ac9ab47cde80
2011-03-19 08:38:50 +00:00
drh
304637c026 Fixes for compiler warnings. Minor code cleanup.
FossilOrigin-Name: 9604d13001e0a195718c7f03fc0e73e352226caa
2011-03-18 16:47:27 +00:00
drh
ea022cffdd Fix a memory allocation issues in the preupdate hook so that the hook.test
script runs clean in valgrind.

FossilOrigin-Name: bd94f4c8b1c4590c437030f0122015f1a37e2582
2011-03-18 15:13:31 +00:00
drh
0639c34ecd Merge all the latest trunk enhancements into the sessions branch.
FossilOrigin-Name: 94fd5bb6da5ef4d850c2ed4ad38afabc5569dae6
2011-03-18 12:35:36 +00:00
dan
37db03bf73 Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback.
FossilOrigin-Name: 526545c49f64d9063d1b888cfc14ece62fa3c13c
2011-03-16 19:59:18 +00:00
dan
6566ebe1b6 Remove the sqlite3_transaction_hook() API.
FossilOrigin-Name: b0015a1cfe63c924ee5f250aa08460522882009b
2011-03-16 09:49:14 +00:00
dan
4fccf43aae Add start of sessions feature.
FossilOrigin-Name: 269a81a37d7dbdcdec3c2322074916af0fbac91c
2011-03-08 19:22:50 +00:00
drh
2327275b8c Another minor simplification brought to light by clang.
FossilOrigin-Name: 3bfbf026dd6a0eeef07f8f5f1ebf74c9cfebcd61
2011-03-06 21:54:33 +00:00
drh
cfd654bf2a Fix an instance of signed arithmetic overflow and an one bit-shift overflow.
Mark six other signed arithmetic overflow locations that need fixing.

FossilOrigin-Name: 04abab71ecd52f6070b9f84781a3df3d6dba7722
2011-03-05 13:54:15 +00:00
dan
21e8d0126d Add the experimental sqlite3_transaction_hook() API.
FossilOrigin-Name: 093d8cd8e2f3a6af5d40cf810e396f4919eb5cef
2011-03-03 20:05:59 +00:00
dan
46c47d4677 Add the experimental sqlite3_preupdate_hook() API.
FossilOrigin-Name: 6145d7b89f83500318713779c60f79a7ab2098ba
2011-03-01 18:42:07 +00:00
drh
e9ce585779 Add a NEVER() around a test that is believed to always be false.
FossilOrigin-Name: f7e2ea33d5b37e5b133d96e96a11d2842504355c
2011-02-11 22:54:28 +00:00
dan
19611b1a88 Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns.
FossilOrigin-Name: 8063197ef141c0c62ba710efdd2b3421fbee4e5d
2011-01-24 16:00:58 +00:00
drh
10fc727d35 Update the sqlite3_stmt_readonly() interface so that its output is
well-defined for all prepared statements, and so that it gives the 
correct result for VACUUM.

FossilOrigin-Name: 9c19b7ae3542fd1fac692b4471f1839b22685c76
2010-12-08 18:30:19 +00:00
dan
271065704c Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs.
FossilOrigin-Name: 119ffe955eb1e8016cb8131a63bd17557f395f3f
2010-12-01 08:04:47 +00:00
dan
2ce224535f Experimental changes to EXPLAIN QUERY PLAN.
FossilOrigin-Name: f4747eb83dacce6430ad6e5eb20155ffad975514
2010-11-08 19:01:16 +00:00
drh
8c96a6eac0 Remove unreachable branches to facilitate test coverage.
FossilOrigin-Name: 86bcb9aab901713684f978479d29304cc9699e84
2010-08-31 01:09:15 +00:00
dan
5653e4da36 Add coverage tests for pager.c.
FossilOrigin-Name: 228c5b16af80c22e97d9d4deb351e0d3f4523f89
2010-08-12 11:25:47 +00:00
drh
be0b237e6a If a database becomes corrupted such that an index is out of sync with its
table, make sure the corruption is detected and reported back.  Do not assume
that indices always contain rowids for valid table rows.

FossilOrigin-Name: 83395a3d24f18170fc068d9e644291678694c3f0
2010-07-30 18:40:55 +00:00
drh
abfb62f9bd Cherry-pick the multi-file transaction fix for ticket [f3e5abed55] out of
the experimental branch.

FossilOrigin-Name: 40f7f0a583e6bba66cd006253a0ef4623ea74f17
2010-07-30 11:20:35 +00:00
drh
f37c68e036 Further fixes to the P4_MEM size measurement logic.
FossilOrigin-Name: 934cda2987c331b57a195ed45e9a91794896672a
2010-07-26 14:20:06 +00:00
drh
c176c27cbc Fix an issue with P4_MEM and the schema size measurement logic. Also fix
a compiler warning.

FossilOrigin-Name: 8166f33885b86029bb8a0fbaf70606a0d2d5ec2e
2010-07-26 13:57:59 +00:00
drh
7043db9f6f Make sure sqlite3_free() is not called for P4_MPRINTF during a size
measurement.

FossilOrigin-Name: 56f11f8823cd06a69eebce6a9613e22b1810b59b
2010-07-26 12:38:12 +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
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
drh
a0b75da197 Take out the incomplete initializer on the constant "dummy" in
sqlite3VdbeGetOp().  Add a comment that the MSVC warning there should
be ignored.

FossilOrigin-Name: 452ccaa9080e42657b5f0908bf40dbd834cd39f6
2010-07-02 18:44:37 +00:00
shaneh
8a300f8095 Fix a couple more compiler warnings under MSVC.
FossilOrigin-Name: 26bc27e3f4c8a666f3358f73fc21eccdec3508f6
2010-07-02 18:15:31 +00:00
drh
f83dc1ef3f Remove global variables when compiled with SQLITE_OMIT_WSD
FossilOrigin-Name: dd10a547f10364058025c48b28d8fd240bf46aff
2010-06-03 12:09:52 +00:00
dan
40ad9d2870 If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache.
FossilOrigin-Name: eb80ddc665132c607c258b59131025a296269dad
2010-06-03 09:17:38 +00:00
drh
3ebaee9633 The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode
for new databases added with ATTACH, so the behavior is consistent with the
other journal modes.

FossilOrigin-Name: c3520460a4a39fc5e981c3033068ffbb422a4af2
2010-05-06 21:37:22 +00:00
dan
6908343c65 Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43].
FossilOrigin-Name: f660be615a0c1f4641782a83744533f5d3119218
2010-04-29 22:57:56 +00:00
drh
a378c566d2 Take care to avoid a buffer over-read when adding a KEYINFO structure
to the P4 parameter of an opcode.

FossilOrigin-Name: 937b931a7cdad6874638158ed6a9ab6356b0bd0c
2010-04-02 12:55:38 +00:00
drh
280799b4ff Attempt to suppress a warning from Borland Code Guard.
FossilOrigin-Name: be278979917336e7186d7830876180154b5280ba
2010-03-24 11:55:08 +00:00
drh
3517324ddc Add NEVER and assert macros and explanatory comments for unreachable
conditions.

FossilOrigin-Name: ffb6596e6c80e284c1542b03f2c7bbfce0bd87d9
2010-03-08 21:40:13 +00:00
drh
4611d925a9 Expire pragma statements when reset, even if they were not run to completion.
FossilOrigin-Name: 78351d289bba83e536b64666c566b7bfc57351da
2010-02-25 14:47:01 +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
87f5c5f16e Manually copy over the rebustness fixes from the apple-osx branch.
FossilOrigin-Name: 095c74ea6260096f6a600fdc0edccf7ea24aace4
2010-01-20 01:20:56 +00:00
drh
5cfa584831 Add comments and an assert() to help clarify the operation of the
sqlite3VdbeList() routine used to implement EXPLAIN.

FossilOrigin-Name: e1ccdb93d79a6f7b16f1f59cc3ad78f8d02eae84
2009-12-31 20:35:08 +00:00
drh
19875c8240 Add comments to better explain the two-pass memory allocation approach
for prepared statements.

FossilOrigin-Name: 0e5e18ea12c70559d4c63981c0bb5f9430c5bcbb
2009-12-08 19:58:19 +00:00
drh
4800b2ee95 Avoid pointer aliasing in the allocSpace() routine in vdbeaux.c.
FossilOrigin-Name: d6ae27512229d95502c584b17bb2cbdba401f80a
2009-12-08 15:35:22 +00:00