Commit Graph

9034 Commits

Author SHA1 Message Date
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
d9523b97ec Allow multiplex file names to be preceeded by prefix of the form ":multiplex:chunksize:maxchunks:"
Still work to be done, though it compiles and prefixes are ignored.

FossilOrigin-Name: cfa4a2f7ea948be0925227efca82baea509249c9
2011-03-15 04:45:48 +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
0d8abc84fa Merge the unix-excl VFS into the trunk. This merge also adds the -vfs
option to the command-line shell.

FossilOrigin-Name: 3934b004e93852c89b937ec20431de96a2e99440
2011-03-14 13:54:01 +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
fbf34bf794 Simplification of tests and more added for SQLITE_OMIT_UNIQUE_ENFORCEMENT tests.
FossilOrigin-Name: 75a38411a89bd2969ec5cecca13c13a390b3d478
2011-03-10 21:48:02 +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
66d655b409 Unix errno integer can vary from one system to the next. So do not
depend on specific errno values in test cases.

FossilOrigin-Name: ddb747d33a004c7fe532a661e879ccba68c79c59
2011-03-08 14:05:07 +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
3fcdfb35a6 Fix quoting of the result in rtreeB.test.
FossilOrigin-Name: c6532b35cc5a81cc753a22e0165bfdd5143941f1
2011-03-02 22:07:29 +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
befd5f3c20 Make sure the rtreenode() testing and analysis routine in the RTREE extension
can handle 64-bit rowids.  This fix is in response to a message on the
mailing list.

FossilOrigin-Name: 24602557fc3295fe2836d269175f12ec680ac011
2011-03-02 15:44:35 +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
drh
b1aa0ab6da Fix the sqlite3ValueFromExpr() routine so that it returns SQLITE_NOMEM
on an OOM when trying to extract a NULL.

FossilOrigin-Name: 1061e94fa983a441b289753b873559163ab849e6
2011-02-18 17:23:23 +00:00
drh
cd92e84d07 Remove a no-op code path from sqlite3ExprIsInteger(). Replace it with an
assert() that proves it always does nothing.

FossilOrigin-Name: 7af66d1bd53fd5973281646511e4e1d3b16601a3
2011-02-17 15:58:20 +00:00
drh
0cf0e6c912 Remove an assert() that was made redundant by the previous checkin.
FossilOrigin-Name: 21db719156deef9fb26aff27a01e324da255c825
2011-02-17 13:52:02 +00:00
drh
6f2e6c0026 Add an ALWAYS() around a always-true test in where.c.
FossilOrigin-Name: 8123283ee1a360586a1721a56b4db15718c25ee0
2011-02-17 13:33:15 +00:00