Commit Graph

41 Commits

Author SHA1 Message Date
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