Commit Graph

6439 Commits

Author SHA1 Message Date
drh 58ad580ffa Change the xSetSyscall methods of the VFS so that they do not cast object
pointers into function pointers.  Fix other unrelated compiler warnings.

FossilOrigin-Name: e059152adce3a8fb693f082b82b5669a238c8d6f
2011-03-23 22:02:23 +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 c8ba212665 In the shell, make sure the ".log" command has at least one argument.
FossilOrigin-Name: 1ed5e361ca7bfa9226fec265704394e0f228f0c5
2011-03-23 11:16:22 +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 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 d416fe7995 Update the implementation of ".testctrl" in the command-line shell to use
a look-up table rather than a long sequence of if-elses.  Shorten source
code lines of shell.c to 80 characters or less.

FossilOrigin-Name: 54bacb95dd6e2d6ac4971391a40484ccb9126d29
2011-03-17 16:45:50 +00:00
drh ac8eb11375 Comment enhancement to better explain the logic in the "x IS NULL"
optimization.

FossilOrigin-Name: 869f894798a65f8bc0e0b083866a784fa0189f68
2011-03-17 01:58:21 +00:00
drh 1f9c7663ce Enhances to the query planner such that "x IS NULL" constraints take the
STAT2 statistics into account, just like "x=VALUE" constraints.

FossilOrigin-Name: 2353176811f752a16c1f2351a3d3431919b062a9
2011-03-17 01:34:26 +00:00
drh 2f8ebdde3e Additional interpretation of flags and constants in the VFS trace output.
FossilOrigin-Name: 3e984195f1f6d28734456dd726d226cedf207da2
2011-03-16 18:54:23 +00:00
drh 2b625e243e Add the -vfstrace option to the usage error message in the shell.
FossilOrigin-Name: baca45c549e1c144257ee657258939640120e094
2011-03-16 17:05:28 +00:00
drh 97ae8ffb7a Add the VFS-trace shim.
FossilOrigin-Name: f49a9ef3387bd4453f5654ebe83fea445c03cf4d
2011-03-16 16:56:29 +00:00
drh 7719711b81 Make the "unix-excl" VFS work exactly like "unix" if the database
file is read-only.

FossilOrigin-Name: d9846834993079fb2e42d6bd2644b2154ef324d1
2011-03-15 19:08:48 +00:00
drh 77ec9ba3f8 Fix an out-of-order variable declaration in shell.c.
FossilOrigin-Name: 725708465072fc63736e99610cc9cb0ac336145a
2011-03-15 18:35:44 +00:00
shaneh 9d677e1599 Fix cut-and-paste typo in debugging print statement in winMutexTry().
FossilOrigin-Name: def98fd23e42bda13547e38ab13fed0e6554ce99
2011-03-15 02:55:28 +00:00
drh 3cb9339a6c In the "unix-excl" VFS, use the heap for shared memory, since only a single
process is able to read or write the database.

FossilOrigin-Name: a05a6d40875df674f9c2b46e33128c6878d4edaa
2011-03-12 18:10:44 +00:00
drh a7e61d8b24 Add the new optional "unix-excl" VFS. This VFS grabs an exclusive lock on
the database preventing other processes from accessing it, but continues to
allow other database connections from the same process.

FossilOrigin-Name: 00051c3296e11211b2bb5ae28f016b17dca857d7
2011-03-12 17:02:57 +00:00
shaneh 11c58f7d8e More tests for SQLITE_OMIT_UNIQUE_ENFORCEMENT and minor change to implementation.
FossilOrigin-Name: b86999436ec2414c990ba720441fe316f647eef6
2011-03-12 04:58:55 +00:00
drh ca6b9d5bbe Remove an unused field from the unix sqlite3_file object.
FossilOrigin-Name: f957f23a8a392bb1720720960bda2c7b24de9663
2011-03-11 16:15:48 +00:00
shaneh e08160bdc1 Skip unique constraint enforcement if compiled with SQLITE_OMIT_UNIQUE_ENFORCEMENT.
FossilOrigin-Name: ba85bf8cb88f7ae220d919f5c23f51d9dcedc843
2011-03-10 21:13:18 +00:00
shaneh 9324794e1e Minor clean-up of previous mem5 allocator fix.
FossilOrigin-Name: 3643842316239ff7859f0ec522736a2b9c03d22c
2011-03-10 03:54:55 +00:00
shaneh a6ec892b5b Fix issue with mem5 allocator when min request size is larger thatn 2^30.
FossilOrigin-Name: d7dae06fb2d57ed6b9555b774712f42077ae4155
2011-03-09 21:36:17 +00:00
drh 95e037ba39 Omit unnecessary OP_Next and OP_Prev operators when uniqueness constraints
guarantee that the code will only make one pass through the loop.

FossilOrigin-Name: f000c9b2b7348238fe2085140d2dd05294a19709
2011-03-09 21:02:31 +00:00
drh a1df4bfc1a Updates to the OS/2 implementation from Rich Walsh.
FossilOrigin-Name: dc46156a2237701679433779b871844f4f2abe4b
2011-03-09 11:04:07 +00:00
drh 6f6e689c90 Merge the syscall-override changes into trunk.
FossilOrigin-Name: 36d79e6f54cdc4129c6e6366a49722e2cf1cccbd
2011-03-08 16:39:29 +00:00
drh 87e79aefef Fix two compiler warnings. No functional code changes.
FossilOrigin-Name: c829868aa2254c5e2268cdb803462cc6ec5cb71e
2011-03-08 13:06:41 +00:00
drh d50ffc416f Fix additional cases of possible signed integer overflow, especially with
regard to negation.

FossilOrigin-Name: 2d5800bd8cfc7d7f5578a71b1aeaa74b2ec4b372
2011-03-08 02:38:28 +00:00
drh 2327275b8c Another minor simplification brought to light by clang.
FossilOrigin-Name: 3bfbf026dd6a0eeef07f8f5f1ebf74c9cfebcd61
2011-03-06 21:54:33 +00:00
drh c126e63e4f Remove dead code identified by the clang static analyzer.
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
drh d7255a207e Simplifications to the overflow-free multiplier. Also remove some commented-out
code that was left in that subroutine by mistake on the previous check-in.

FossilOrigin-Name: 55fc25fdab61e6094289e068c343e012fec10439
2011-03-05 21:41:34 +00:00
drh 158b9cb965 Fix all known instances of signed-integer overflow. Within SQL expressions,
integer overflow now forces coercion to floating point.  The shift operators
work with any integer right-hand operand with negative values reversing
the direction of the shift.

FossilOrigin-Name: abf21394124a0af46f072793718964cee2ce55d0
2011-03-05 20:59:46 +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
drh ad4f1e5415 Handle EINTR errors from open().
FossilOrigin-Name: a7d176b27cd73791d45eb3a31df78187ae10ce20
2011-03-04 15:43:57 +00:00
drh 92e4feb74c Do a better job of choosing the join table order when the tables having
very different numbers of rows.

FossilOrigin-Name: 952f5e8c69904c48f2decfabf8ea60a2e9f3e134
2011-03-04 00:56:58 +00:00
drh 1df30967af Add additional VFS methods to retrieve system call pointers and to get a
list of all changeable system calls.

FossilOrigin-Name: 38558363494e3a736dcb091dd859e76b7ccd78b0
2011-03-02 19:06:42 +00:00
drh e562be52cf Add more system calls to the set that can be overridden in os_unix.c.
Also merge in recent fixes from trunk.

FossilOrigin-Name: 80fac2a6e07221bb67613af84ab9dda3e18b5ceb
2011-03-02 18:01:10 +00:00
drh e84009f6a8 Fix bugs in [7b6e30e6a7] that only show up on Mac.
FossilOrigin-Name: ec55e8c6bb4f2419b3813aa2fd1a20d8f5016159
2011-03-02 17:54:32 +00:00
drh 99ab3b120e Proof-of-concept prototype for the proposed xSetSystemCall extension method
on the VFS.

FossilOrigin-Name: 92b5a76abc53290e1bb87b6b55bc64bb1b331dfc
2011-03-02 15:09:07 +00:00
drh 0e9365ced3 Log all error from close() in os_unix.c to sqlite3_log() but do not attempt to
report errors back up to the application.  Update the unix error logging to
put the most important information earlier in the message.

FossilOrigin-Name: 7b6e30e6a712311d4ef275253b085b85e6e17116
2011-03-02 02:08:13 +00:00
drh 30f776fadb Comment out some code in os_unix.c that only runs on MacOSX with
SQLITE_ENABLE_LOCKING_STYLE.

FossilOrigin-Name: 4e50b0362ab6604a4b6c9f4ad849ec1733d6ce1a
2011-02-25 03:25:07 +00:00
drh 7f0857c437 Fix a typo in a comment. No changes to code.
FossilOrigin-Name: af4756184a255f5d8a5cd276bf9f2fc3b38d9169
2011-02-24 21:10:00 +00:00
drh 03e1b40b03 Reserve a range of bits in the SQLITE_OPEN_xxxx bit vector for future
expansion.

FossilOrigin-Name: 9b9046546db5b060e37e7ba01c23bb7e9528d861
2011-02-23 22:39:23 +00:00
drh 5c81927c9d Fix a typo in the robust_flock() macro for systems without EINTR.
FossilOrigin-Name: af9ba2a6d2c37915e799eec52bb827de46afd34d
2011-02-23 14:00:12 +00:00
drh ff81231e62 Retry selected system calls on unix when they fail with EINTR.
FossilOrigin-Name: b9d29ea385bafcf87c7dd07822ce9ec3d3892bd1
2011-02-23 13:33:46 +00:00
drh 5b6c545ba1 When a stale schema-cookie is seen, expire only the one statement that
encountered the bad cookie, not every statement on the database 
connection.  Ticket [b72787b1a7cea1f]

FossilOrigin-Name: 1bca0a7e198391202fd2bc1650c0a62028a9aaa5
2011-02-22 03:34:56 +00:00
dan ef7075de1f Fix a problem with "EXPLAIN QUERY PLAN SELECT count(*) FROM tbl".
FossilOrigin-Name: 9f9f32882501ac9b6e60f81195a64bdbf6e4497b
2011-02-21 17:49:49 +00:00
dan e18d495315 Have os_unix.c call sqlite3_log() following errors in certain system calls.
FossilOrigin-Name: 01076528a43b61ae20ef6969b7d326de9b5313e4
2011-02-21 11:46:24 +00:00
drh 03c6967f34 An SQLITE_PROTOCOL error counts as a locking error for verification
purposes.

FossilOrigin-Name: e87d499a4f8a456111c1f96ca6da31d0810fb7c8
2011-02-19 23:18:12 +00:00
drh c90e0811d8 Change a testcase() added by the previous checkin into an assert().
FossilOrigin-Name: 6f3dad32aa0e1e9ee374302c82bea9bd60d5854b
2011-02-19 17:02:44 +00:00
drh ab1cc7462f Add testcase macros to verify that all return values from
walTryBeginRead() are tested.

FossilOrigin-Name: 262b6fca0b7a251c02604c684a9f7e7a1434d630
2011-02-19 16:51:45 +00:00
drh 658d76c9f8 Changes to make WAL more robust against SQLITE_PROTOCOL errors.
FossilOrigin-Name: fd578a32f8e9f04957359e73f244a60f02afe08c
2011-02-19 15:22:14 +00:00