Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS.

FossilOrigin-Name: c43b59dac1fbb67ec3a9d921005543046ad416ce
This commit is contained in:
mistachkin 2013-12-09 21:48:49 +00:00
parent a2a3028d5f
commit 401387553d
4 changed files with 22 additions and 14 deletions

View File

@ -1,5 +1,5 @@
C Reduce\sthe\snumber\sof\stimes\sthat\sOP_Column\scalls\ssqlite3VdbeMemMakeWriteable(). C Correct\sthe\sVFS\sname\sas\sreported\sby\sthe\sfile\scontrol\swhen\sexplicitly\susing\sthe\s'win32-longpath'\sVFS.
D 2013-12-09T21:06:46.044 D 2013-12-09T21:48:49.439
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in e1a9b4258bbde53f5636f4e238c65b7e11459e2b F Makefile.in e1a9b4258bbde53f5636f4e238c65b7e11459e2b
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -206,7 +206,7 @@ F src/os.c b4ad71336fd96f97776f75587cd9e8218288f5be
F src/os.h 4a46270a64e9193af4a0aaa3bc2c66dc07c29b3f F src/os.h 4a46270a64e9193af4a0aaa3bc2c66dc07c29b3f
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
F src/os_unix.c 60a7b3b23e6fcf83a50d1e320b280b551724e11f F src/os_unix.c 60a7b3b23e6fcf83a50d1e320b280b551724e11f
F src/os_win.c 4323dd0bac4f7a7037fc4cf87fb4692d17f0b108 F src/os_win.c 16eac0961603182ffc10c02b39fe830126538e07
F src/pager.c 19203eff37c099271189bf8b378a1143847b92e3 F src/pager.c 19203eff37c099271189bf8b378a1143847b92e3
F src/pager.h f094af9f6ececfaa8a1e93876905a4f34233fb0c F src/pager.h f094af9f6ececfaa8a1e93876905a4f34233fb0c
F src/parse.y acee1a9958539e21263362b194594c5255ad2fca F src/parse.y acee1a9958539e21263362b194594c5255ad2fca
@ -1088,7 +1088,7 @@ F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c
F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361 F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
F test/win32longpath.test e2aafc07e6990fe86c69be22a3d1a0e210cd329b F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
F test/without_rowid1.test aaa26da19d543cd8d3d2d0e686dfa255556c15c8 F test/without_rowid1.test aaa26da19d543cd8d3d2d0e686dfa255556c15c8
F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99 F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99
F test/without_rowid3.test eac3d5c8a1924725b58503a368f2cbd24fd6c8a0 F test/without_rowid3.test eac3d5c8a1924725b58503a368f2cbd24fd6c8a0
@ -1146,7 +1146,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
P bf97598592ff60fab2a06d8b31b0201200b91684 P 6b51863553e51334880fb322bdf74e51e35d0e61
R 30f9bdfbb15779200abce614661249ba R 02366bc03c0aa38f7c8d01b5c92fd1d6
U drh U mistachkin
Z 09a9fc22866f6b8bd3a17a9239808986 Z d9c38f842954179c02eb8030f4c6e2c4

View File

@ -1 +1 @@
6b51863553e51334880fb322bdf74e51e35d0e61 c43b59dac1fbb67ec3a9d921005543046ad416ce

View File

@ -3119,7 +3119,7 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){
return SQLITE_OK; return SQLITE_OK;
} }
case SQLITE_FCNTL_VFSNAME: { case SQLITE_FCNTL_VFSNAME: {
*(char**)pArg = sqlite3_mprintf("win32"); *(char**)pArg = sqlite3_mprintf("%s", pFile->pVfs->zName);
OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h));
return SQLITE_OK; return SQLITE_OK;
} }

View File

@ -19,11 +19,19 @@ set testdir [file dirname $argv0]
source $testdir/tester.tcl source $testdir/tester.tcl
set testprefix win32longpath set testprefix win32longpath
do_test 1.0 {
file_control_vfsname db
} win32
db close db close
set path [file nativename [get_pwd]] set path [file nativename [get_pwd]]
sqlite3 db [file join $path test.db] -vfs win32-longpath sqlite3 db [file join $path test.db] -vfs win32-longpath
do_test 1.1 { do_test 1.1 {
file_control_vfsname db
} win32-longpath
do_test 1.2 {
db eval { db eval {
BEGIN EXCLUSIVE; BEGIN EXCLUSIVE;
CREATE TABLE t1(x); CREATE TABLE t1(x);
@ -47,13 +55,13 @@ make_win32_dir $longPath(3)
set fileName $longPath(3)\\test.db set fileName $longPath(3)\\test.db
do_test 1.2 { do_test 1.3 {
list [catch {sqlite3 db2 [string range $fileName 4 end]} msg] $msg list [catch {sqlite3 db2 [string range $fileName 4 end]} msg] $msg
} {1 {unable to open database file}} } {1 {unable to open database file}}
sqlite3 db3 $fileName -vfs win32-longpath sqlite3 db3 $fileName -vfs win32-longpath
do_test 1.3 { do_test 1.4 {
db3 eval { db3 eval {
BEGIN EXCLUSIVE; BEGIN EXCLUSIVE;
CREATE TABLE t1(x); CREATE TABLE t1(x);
@ -71,13 +79,13 @@ db3 close
sqlite3 db3 $fileName -vfs win32-longpath sqlite3 db3 $fileName -vfs win32-longpath
do_test 1.4 { do_test 1.5 {
db3 eval { db3 eval {
PRAGMA journal_mode = WAL; PRAGMA journal_mode = WAL;
} }
} {wal} } {wal}
do_test 1.5 { do_test 1.6 {
db3 eval { db3 eval {
BEGIN EXCLUSIVE; BEGIN EXCLUSIVE;
INSERT INTO t1 VALUES(9); INSERT INTO t1 VALUES(9);