mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-08 03:22:21 +03:00
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
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Fix\san\sassert\sthat\sfired\sincorrectly\swhen\sPRAGMA\somit_readlock\swas\sset.
|
C Change\sthe\stest_multiplex.c\scode\sto\suse\swrapper\sfunctions\sfor\sall\ssqlite3_vfs\smethods\s(instead\sof\scopying\sfunction\spointers\sfrom\sthe\sunderlying\svfs\sinto\sthe\smultiplex\svfs).\sThis\sis\srequired\sto\swork\swith\stest_osinst.c.
|
||||||
D 2010-11-09T20:33:34
|
D 2010-11-12T15:49:05
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in e7a59672eaeb04408d1fa8501618d7501a3c5e39
|
F Makefile.in e7a59672eaeb04408d1fa8501618d7501a3c5e39
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -207,7 +207,7 @@ F src/test_intarray.h 489edb9068bb926583445cb02589344961054207
|
|||||||
F src/test_journal.c 785edd54f963aefb3c1628124170a56697c68c70
|
F src/test_journal.c 785edd54f963aefb3c1628124170a56697c68c70
|
||||||
F src/test_loadext.c df586c27176e3c2cb2e099c78da67bf14379a56e
|
F src/test_loadext.c df586c27176e3c2cb2e099c78da67bf14379a56e
|
||||||
F src/test_malloc.c 09a88f0c111201dc4f8c20470aa1b5f611d59200
|
F src/test_malloc.c 09a88f0c111201dc4f8c20470aa1b5f611d59200
|
||||||
F src/test_multiplex.c 5c2b53d620613b46e4cfdde66f82612e896ac7b9
|
F src/test_multiplex.c a324e1fbd546aca59ec4e552fb42aa5142881ea3
|
||||||
F src/test_mutex.c ce06b59aca168cd8c520b77159a24352a7469bd3
|
F src/test_mutex.c ce06b59aca168cd8c520b77159a24352a7469bd3
|
||||||
F src/test_onefile.c 40cf9e212a377a6511469384a64b01e6e34b2eec
|
F src/test_onefile.c 40cf9e212a377a6511469384a64b01e6e34b2eec
|
||||||
F src/test_osinst.c f408c6a181f2fb04c56273afd5c3e1e82f60392c
|
F src/test_osinst.c f408c6a181f2fb04c56273afd5c3e1e82f60392c
|
||||||
@@ -885,7 +885,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
|||||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||||
P 07da0a0beffda324d28fd2768c542ff69d4dbff2
|
P e068758222bcd3f2367e9346f7154780cd395ddd
|
||||||
R b71e4548ec0c287ed1f2245388ac9eb0
|
R d56c467c4d95b6e0405ebbf0c7ac2142
|
||||||
U shaneh
|
U dan
|
||||||
Z d2106b3d8fbed7a3f8202cfd19fdedf9
|
Z a50b8c1ba84e37038e8c0688be6f08be
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
e068758222bcd3f2367e9346f7154780cd395ddd
|
1244ef9f7ef813d86dca6f8e01681fa55ee9eec8
|
||||||
@@ -305,6 +305,40 @@ static int multiplexDelete(
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int multiplexAccess(sqlite3_vfs *a, const char *b, int c, int *d){
|
||||||
|
return gMultiplex.pOrigVfs->xAccess(gMultiplex.pOrigVfs, b, c, d);
|
||||||
|
}
|
||||||
|
static int multiplexFullPathname(sqlite3_vfs *a, const char *b, int c, char *d){
|
||||||
|
return gMultiplex.pOrigVfs->xFullPathname(gMultiplex.pOrigVfs, b, c, d);
|
||||||
|
}
|
||||||
|
static void *multiplexDlOpen(sqlite3_vfs *a, const char *b){
|
||||||
|
return gMultiplex.pOrigVfs->xDlOpen(gMultiplex.pOrigVfs, b);
|
||||||
|
}
|
||||||
|
static void multiplexDlError(sqlite3_vfs *a, int b, char *c){
|
||||||
|
gMultiplex.pOrigVfs->xDlError(gMultiplex.pOrigVfs, b, c);
|
||||||
|
}
|
||||||
|
static void (*multiplexDlSym(sqlite3_vfs *a, void *b, const char *c))(void){
|
||||||
|
return gMultiplex.pOrigVfs->xDlSym(gMultiplex.pOrigVfs, b, c);
|
||||||
|
}
|
||||||
|
static void multiplexDlClose(sqlite3_vfs *a, void *b){
|
||||||
|
gMultiplex.pOrigVfs->xDlClose(gMultiplex.pOrigVfs, b);
|
||||||
|
}
|
||||||
|
static int multiplexRandomness(sqlite3_vfs *a, int b, char *c){
|
||||||
|
return gMultiplex.pOrigVfs->xRandomness(gMultiplex.pOrigVfs, b, c);
|
||||||
|
}
|
||||||
|
static int multiplexSleep(sqlite3_vfs *a, int b){
|
||||||
|
return gMultiplex.pOrigVfs->xSleep(gMultiplex.pOrigVfs, b);
|
||||||
|
}
|
||||||
|
static int multiplexCurrentTime(sqlite3_vfs *a, double *b){
|
||||||
|
return gMultiplex.pOrigVfs->xCurrentTime(gMultiplex.pOrigVfs, b);
|
||||||
|
}
|
||||||
|
static int multiplexGetLastError(sqlite3_vfs *a, int b, char *c){
|
||||||
|
return gMultiplex.pOrigVfs->xGetLastError(gMultiplex.pOrigVfs, b, c);
|
||||||
|
}
|
||||||
|
static int multiplexCurrentTimeInt64(sqlite3_vfs *a, sqlite3_int64 *b){
|
||||||
|
return gMultiplex.pOrigVfs->xCurrentTimeInt64(gMultiplex.pOrigVfs, b);
|
||||||
|
}
|
||||||
|
|
||||||
/************************ I/O Method Wrappers *******************************/
|
/************************ I/O Method Wrappers *******************************/
|
||||||
|
|
||||||
/* xClose requests get passed through to the original VFS.
|
/* xClose requests get passed through to the original VFS.
|
||||||
@@ -691,6 +725,18 @@ int sqlite3_multiplex_initialize(const char *zOrigVfsName, int makeDefault){
|
|||||||
gMultiplex.sThisVfs.zName = "multiplex";
|
gMultiplex.sThisVfs.zName = "multiplex";
|
||||||
gMultiplex.sThisVfs.xOpen = multiplexOpen;
|
gMultiplex.sThisVfs.xOpen = multiplexOpen;
|
||||||
gMultiplex.sThisVfs.xDelete = multiplexDelete;
|
gMultiplex.sThisVfs.xDelete = multiplexDelete;
|
||||||
|
gMultiplex.sThisVfs.xAccess = multiplexAccess;
|
||||||
|
gMultiplex.sThisVfs.xFullPathname = multiplexFullPathname;
|
||||||
|
gMultiplex.sThisVfs.xDlOpen = multiplexDlOpen;
|
||||||
|
gMultiplex.sThisVfs.xDlError = multiplexDlError;
|
||||||
|
gMultiplex.sThisVfs.xDlSym = multiplexDlSym;
|
||||||
|
gMultiplex.sThisVfs.xDlClose = multiplexDlClose;
|
||||||
|
gMultiplex.sThisVfs.xRandomness = multiplexRandomness;
|
||||||
|
gMultiplex.sThisVfs.xSleep = multiplexSleep;
|
||||||
|
gMultiplex.sThisVfs.xCurrentTime = multiplexCurrentTime;
|
||||||
|
gMultiplex.sThisVfs.xGetLastError = multiplexGetLastError;
|
||||||
|
gMultiplex.sThisVfs.xCurrentTimeInt64 = multiplexCurrentTimeInt64;
|
||||||
|
|
||||||
gMultiplex.sIoMethodsV1.iVersion = 1;
|
gMultiplex.sIoMethodsV1.iVersion = 1;
|
||||||
gMultiplex.sIoMethodsV1.xClose = multiplexClose;
|
gMultiplex.sIoMethodsV1.xClose = multiplexClose;
|
||||||
gMultiplex.sIoMethodsV1.xRead = multiplexRead;
|
gMultiplex.sIoMethodsV1.xRead = multiplexRead;
|
||||||
|
|||||||
Reference in New Issue
Block a user