From: dan Date: Tue, 20 Feb 2018 19:25:49 +0000 (+0000) Subject: Fix a problem with reading the "file" column of a zonefile virtual table. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92c7c98ac4fb1d4cb116afb9edf3da0d4df5736a;p=thirdparty%2Fsqlite.git Fix a problem with reading the "file" column of a zonefile virtual table. FossilOrigin-Name: d8d0bdcb405610978393bb8f3ef30ee868fddda0d129036f8d0102012fe0d5d4 --- diff --git a/ext/zonefile/zonefile.c b/ext/zonefile/zonefile.c index e31abe0cc6..1714120535 100644 --- a/ext/zonefile/zonefile.c +++ b/ext/zonefile/zonefile.c @@ -2312,9 +2312,13 @@ static int zonefileColumn( case 1: /* v */ rc = zonefileGetValue(pCtx, pCsr); break; - case 2: /* file */ - sqlite3_result_value(pCtx, sqlite3_column_value(pCsr->pSelect, 1)); + case 2: { /* file */ + const char *zFile = 0; + rc = zonefileGetFile(pCtx, pCsr, &zFile); + sqlite3_result_text(pCtx, zFile, -1, SQLITE_TRANSIENT); + zonefileReleaseFile(pCsr); break; + } default: { /* sz */ int iCol; if( sqlite3_column_type(pCsr->pSelect, 5)==SQLITE_NULL ){ diff --git a/ext/zonefile/zonefile1.test b/ext/zonefile/zonefile1.test index ca1a06f43a..660bb14e8c 100644 --- a/ext/zonefile/zonefile1.test +++ b/ext/zonefile/zonefile1.test @@ -51,7 +51,6 @@ do_execsql_test 1.5.2 { SELECT file FROM z1 } { test.zonefile test.zonefile test.zonefile } do_execsql_test 1.5.4 { SELECT sz FROM z1 } {100 100 100} -exit do_execsql_test 1.5.5 { SELECT zz.v==z1.v FROM zz, z1 WHERE zz.k=z1.k diff --git a/manifest b/manifest index 5e2c7a9e30..118621e308 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Instead\sof\sjust\sthe\sframe\snumber,\sstore\sframe\ssizes\sand\soffsets\sin\szonefile\nshadow\stable\s%_shadow_idx. -D 2018-02-20T18:47:24.294 +C Fix\sa\sproblem\swith\sreading\sthe\s"file"\scolumn\sof\sa\szonefile\svirtual\stable. +D 2018-02-20T19:25:49.291 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 7a3f714b4fcf793108042b7b0a5c720b0b310ec84314d61ba7f3f49f27e550ea @@ -409,8 +409,8 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 F ext/userauth/userauth.c 3410be31283abba70255d71fd24734e017a4497f F ext/zonefile/README.md 1a95a93c865e196bc6301581e5a702f449ea9ce0e307cdbdbbdfd58377f1ec7e -F ext/zonefile/zonefile.c 0a15cb181d02f5afb7ca8dd3ae939cfa765bbf11a6a44c4e3f358e978d39795e -F ext/zonefile/zonefile1.test 12e32e0664338fe5002d78036f057c46cf33214d73550c6e820e90e946a90f52 +F ext/zonefile/zonefile.c e65e17336a635ab1a7745924c2a9801427fcb7d90faf27495a18818c2873cf43 +F ext/zonefile/zonefile1.test a30f9604cede51f699af8192a34fac96dc05b860ffa10d6040baeda7df350ccd F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60 @@ -1708,7 +1708,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 55cf920c5a13473d04f0cb885117c04b2bc054bfed6ee549be84cb9485c104d2 -R 032579fc2be331b3506eb489f2f4da6b +P 56801c461c5d19cf96146fe0fa7f725c81da5cd7495c9608cd044125d00fecfe +R ba7ae0ba2f81b939f32aa56d85d21a90 U dan -Z 6da1c9e76b52b238efa7bf0ed02b77c3 +Z d1c74b9a3c2d2e5fb68ce19cfd3af3bc diff --git a/manifest.uuid b/manifest.uuid index 982449f30b..9cdc09bb43 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -56801c461c5d19cf96146fe0fa7f725c81da5cd7495c9608cd044125d00fecfe \ No newline at end of file +d8d0bdcb405610978393bb8f3ef30ee868fddda0d129036f8d0102012fe0d5d4 \ No newline at end of file