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

46 Commits

Author SHA1 Message Date
drh
b04f3c1525 In the multiplexor routine that determines the size of an overflow file,
return 0 and leave the error code unchanges if there were prior errors.
This prevents some I/O errors from going unreported in nx-devkit tests.

FossilOrigin-Name: 6da0821a4717253221b25fb22e05cd9c13492f3d
2012-01-14 00:42:40 +00:00
drh
c02a43afae Only require double-zero terminators on database filenames, not any every
files supplied to the xOpen method.  This backs out [2544f233f1].  Also
refactor the fillInUnixFile() routine in os_unix.c to reduce the number
of parameters.

FossilOrigin-Name: cb774b26e13745cfad0d76a71e47466d703e0007
2012-01-10 23:18:38 +00:00
drh
ec0c765d9e Make sure the multiplexor does not create unnecessary overflow files.
FossilOrigin-Name: 1238619756c0c26e43d3c1c873cbdeca22ce9d61
2012-01-09 13:41:59 +00:00
dan
730f85a34e Have test_multiplex.c add a second nul-terminator byte to the strings that it passes to the xOpen method of the underlying VFS, in case that VFS passes the string to sqlite3_uri_parameter() or similar.
FossilOrigin-Name: 12f5b8c9c9a15bd9e6aabdc708d4e869ff918e76
2012-01-09 11:37:34 +00:00
dan
0420b74a94 Minor changes to fix compilation with SQLITE_OMIT_WAL and SQLITE_OMIT_WSD defined.
FossilOrigin-Name: 26a513a8d2dddfde82f5fd0a0e1cc186c9b0df94
2011-12-30 10:54:24 +00:00
drh
9291372094 Add interfaces sqlite3_uri_boolean() and sqlite3_uri_int64() which are
wrappers around sqlite3_uri_parameter() combined with internal routines for
converting strings to booleans and 64-bit integers.

FossilOrigin-Name: 83d26b9a9115eadac9e59a33d608bca0ab2519e3
2011-12-23 00:07:33 +00:00
drh
8c24a369a5 Tweaks to the way multiplexSubOpen() works, for backwards compatibility.
FossilOrigin-Name: bb40338887c912be70cb6fe3b760d87c14bb88a5
2011-12-16 05:50:39 +00:00
drh
0699966798 Fix a potential infinite loop (inserted by the previous check-in)
on the multiplexWrite() method of the multiplexor.

FossilOrigin-Name: 022bf427c2edfe494ec7c222f436953ff56574a6
2011-12-16 05:09:46 +00:00
drh
e7d9f13d99 The xTruncate method for the multiplexor now changes surplus overflow
files to zero-length by default.  Or if the "truncate" query parameter 
is used, it actually deletes the surplus overflow files.  This allows
VACUUM to shrink the database again.

FossilOrigin-Name: 5aefef04d6cc3b734c3f05e036b3869a52248f4d
2011-12-16 04:57:32 +00:00
dan
e712b5823e When deleting a file with the multiplexor VFS, also delete any overflow files that exist.
FossilOrigin-Name: 3af1feaa35d3fb2e7be550cd32a727001b874938
2011-12-15 17:00:10 +00:00
drh
78c0eafb35 Make sure the chunksize in test_multiplex does not cause the pending byte
to fall near the end of a chunk.  Adjust the chunksize upward as necessary
to prevent this.

FossilOrigin-Name: e05f8a2998f4f4cbdb65702baa65893c538b3d38
2011-12-15 13:29:12 +00:00
dan
31b21295b0 Fix some problems with dropped error codes in multiplexOpen().
FossilOrigin-Name: 2d50f78188e3297e8cefdf73cff51fa0a3b36e65
2011-12-15 11:45:19 +00:00
drh
2be25bffca In the multiplexor, do not try to delete overflow files that do not exist.
And assume all but the last overflow file is the size of the chunk size.

FossilOrigin-Name: a822a80d3cfe42b2fca6f8c9ff11762993114a27
2011-12-15 02:22:16 +00:00
drh
de60fc2d87 Add a file-control that will discover the name of the bottom-level VFS and
all the shims in between.

FossilOrigin-Name: cdbfb553af02d10767a905489d9dfc57fc6be54e
2011-12-14 17:53:36 +00:00
drh
43a6d4bd44 Improvements to comments. No code changes.
FossilOrigin-Name: 08bbbd8e38697908ab8ae0f6b512d01c32f7e4da
2011-12-14 01:38:12 +00:00
dan
27e69643cf Add a hard limit to the number of chunks a multiplexed database may consist of if ENABLE_8_3_NAMES is defined.
FossilOrigin-Name: 43a1264088c57bf598787b7a9f5d7a2536603d67
2011-12-13 19:03:34 +00:00
drh
c7f946297a Change the SQLITE_EXTRA_INIT routine to take a single argument which is a
pointer to a string.  Call SQLITE_EXTRA_INIT with a NULL argument.
Fixes to multiplexor to treat the VFS properly in corner cases.  Fix the
initialization of multiplex3.test.

FossilOrigin-Name: 8e65b9132530e46c62bd1352bfc2e9c29f57af5f
2011-12-13 18:22:38 +00:00
drh
5b1626aa47 Move the multiplexor changes in the experimental branch
(check-ins [255d21499b] and [199f52bced]) into the nx-devkit branch.

FossilOrigin-Name: eb95d2f72c625bcfd0f8e9db1db2cb8799854b57
2011-12-13 15:02:54 +00:00
drh
43795e3b0b When the multiplexor FileSize procedure fails to open the file, assume that
the file is zero bytes in size.

FossilOrigin-Name: dc8118cd89da71f2035c6ee07c0edb772bba2186
2011-12-13 02:41:13 +00:00
drh
73795becfe Backport a minimal set of changes needed to get 8+3 filenames and the
multiplexor shim playing well together.

FossilOrigin-Name: c4e2ce486217c96373836bfe641f46abf891799a
2011-12-12 20:01:12 +00:00
drh
ad2148da00 Updated comments on the multiplexor extension. No changes to code.
FossilOrigin-Name: 0f42ef697e197d193867c0d6be3c9cf6471488c6
2011-08-15 19:44:30 +00:00
drh
11cce77042 In the multiplexor, close auxiliary files before deleting them when doing
a truncate.

FossilOrigin-Name: 6fb7cfc2efb32dd5c8921a90b853390bc44d4794
2011-07-23 13:11:02 +00:00
drh
e6deb20458 All multiplexor chunk sizes up to 4GiB. Disable the multiplexor if the
chunk size is set to 0.

FossilOrigin-Name: 83191ad6f31536b0c1929938e1fbeb4cf6121ab0
2011-07-21 20:59:58 +00:00
drh
0a0ca697d8 For an existing multiplexed database, try to set the chunk size automatically
based on the sizes of the preexisting pieces.

FossilOrigin-Name: 427a9a5120a68bfa12fec97cfd02eb9b28b3fa6b
2011-07-20 17:59:38 +00:00
drh
f3717af48d When the multiplexor opens an auxiliary file, it now persists the name of that
file until it is closed, as it should.  Remove the limit on the number of
auxiliary files used by the multiplexor.

FossilOrigin-Name: 1ffa542bf913200a18ef77447aec4fc3ca1ed618
2011-07-20 16:35:31 +00:00
drh
8efdb73256 Formatting changes on the multiplexor code - make sure no lines exceed 80
characters.  No logical changes.

FossilOrigin-Name: ed5f0aad6b21066bacd01521e82c22e96991f400
2011-07-19 18:29:00 +00:00
drh
6f25e89d27 Change the default chunk size on test_multiplex.c to 2147418112 bytes
(formerly 1073741824 bytes) and make the default configurable at compile-time
using SQLITE_MULTIPLEX_CHUNK_SIZE and at run-time using the "chunksize"
URI query parameter.  Add support fo test_multiplex to the shell.

FossilOrigin-Name: e305b5a931374e2a1d2e66ea0a1248b9d4aecb19
2011-07-08 17:02:57 +00:00
drh
a12b6fa392 Minor cleanups to the header comments on various test_*.c file, to make
the suitable for programmer-level documentation.

FossilOrigin-Name: a65d043a2ad895b931871c67e0ef397a1dc614a6
2011-05-23 18:37:42 +00:00
drh
4aef70174b Make sure the multiplexor shim uses a full pathname for temp file that it
creates.

FossilOrigin-Name: 186d7ff1d9804d508e472e4939608bf2be67bdc2
2011-05-18 03:02:10 +00:00
shaneh
cc4e19be9a Update multiplex VFS to handle empty filenames which can occur for during vacuuming (temp file names.)
FossilOrigin-Name: a074986045f1a81fb831ffee4a29af13c978b053
2011-05-18 02:22:41 +00:00
shaneh
3801b65d62 Removed dependency on sqliteInt.h so that multiplex VFS shim can be compiled as loadable module.
FossilOrigin-Name: 718f1ad7df9115871ba6159012d3183183fc40a1
2011-04-01 14:22:46 +00:00
shaneh
c27fa4b074 Enable/disable support.
FossilOrigin-Name: b3c6d9aa9e2124a2f2a1a5f9dbbd7db3b1d01a31
2011-03-31 15:11:53 +00:00
shaneh
d8ce22bbb7 Tests and bug fixes for SELECT multiplex_control(op, val);
Add tests and fixes for SELECT multiplex_control(op, val);

FossilOrigin-Name: fee9734c193a8bec9599e02e16938179e642bf5e
2011-03-31 13:14:12 +00:00
shaneh
78c4de4c71 Additional test cases; Round chunk size up to a multiple of max page size;
FossilOrigin-Name: 36e364a3fe7d3a9a521189ff0262611a492c21dc
2011-03-31 05:31:24 +00:00
shaneh
ac039688d2 Updates to multiplex.test script; misc. bug fixes;
FossilOrigin-Name: c41ff2358e8af0fe2186ab4173b81fba204a57ab
2011-03-30 21:03:07 +00:00
shaneh
d50deeeb7a In-progress changes - do not use; Removed prefix support; Added file control interface to enable/disable and adjust chunk size;
added app-def function for same;

FossilOrigin-Name: bc02d0c193225bd49a8d8a3295aeac752d3c2e30
2011-03-29 05:06:46 +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
bb201344cf Make sure code *compiles* with each OMIT and ENABLE option. Mostly changes to test modules.
FossilOrigin-Name: 7cc515edc9cade2bc6c74699b3e4153bf2b74ebb
2011-02-09 19:55:20 +00:00
shaneh
8fcfc3449c Changed multiplex shim's xFilesize to return an error on mismatched chunk size.
Added test of same.

FossilOrigin-Name: 6818c6e42faf233afa6b30799c5b425aa42d0783
2010-12-01 23:42:42 +00:00
dan
fffadc52f9 Change the test_multiplex.c code to use wrapper functions for all sqlite3_vfs methods (instead of copying function pointers from the underlying vfs into the multiplex vfs). This is required to work with test_osinst.c.
FossilOrigin-Name: 1244ef9f7ef813d86dca6f8e01681fa55ee9eec8
2010-11-12 15:49:04 +00:00
shaneh
050d09abdc Changes to the multiplex VFS to optionally (compiler define) allow
the "chunk extension" to overwrite the right-most chars of the filename 
instead of simply being appended.

FossilOrigin-Name: 07da0a0beffda324d28fd2768c542ff69d4dbff2
2010-11-08 19:16:16 +00:00
shaneh
0596beec9f Fix to xTruncate and more journal mode tests for the multiplex VFS.
FossilOrigin-Name: 65fa1164f035d270db48db6474da888aacfba3bd
2010-11-05 20:50:43 +00:00
shaneh
b5830294dc More tests and added support for xDelete in multiplex VFS.
FossilOrigin-Name: f2004b44bfba62a7a2296b161a25aefdf55e035a
2010-11-05 17:51:25 +00:00
shaneh
e5a6ad6d63 Additional error checking and tests.
FossilOrigin-Name: 1ab9a59237bed6d03b55153a67588486f9adc67b
2010-11-05 03:58:58 +00:00
shaneh
fd1552f269 Additional tests and commenting for the multiplex VFS.
FossilOrigin-Name: 8ed944ba74566c6241d655a39801ad192c61219a
2010-11-05 03:43:54 +00:00
shaneh
8a922f758d First attempt at a sharding VFS to split large DBs.
FossilOrigin-Name: dd4dc8a4269e23ffe0e18438690da6077e17cdad
2010-11-04 20:50:27 +00:00