From: drh Date: Thu, 24 Jan 2019 15:51:03 +0000 (+0000) Subject: Make sure the column name flags are restored correctly after an error X-Git-Tag: version-3.27.0~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=491b6d897df09229cfa425d60ba095c1bd81c95f;p=thirdparty%2Fsqlite.git Make sure the column name flags are restored correctly after an error inside of sqlite3ResultSetOfSelect(). FossilOrigin-Name: b1601db7adba2dccd4f90fbbe5099c801a2b0d97af087fbe82ed98d05496b38c --- diff --git a/manifest b/manifest index f8c4c1a3d2..94218b2563 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\spotential\sproblem\swith\s"INSERT\sINTO\s...\sSELECT\s*\sFROM"\s(or\sVACUUM)\sstatements\son\sa\scorrupted\sdatabase. -D 2019-01-24T15:16:17.305 +C Make\ssure\sthe\scolumn\sname\sflags\sare\srestored\scorrectly\safter\san\serror\ninside\sof\ssqlite3ResultSetOfSelect(). +D 2019-01-24T15:51:03.986 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 0e7c107ebcaff26681bc5bcf017557db85aa828d6f7fd652d748b7a78072c298 @@ -514,7 +514,7 @@ F src/printf.c 0f1177cf1dd4d7827bf64d840768514ec76409abecaca9e8b577dbd065150381 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c c8f207247472c41ac73d738e1c1a80719ad253d1dbb617ed57740492b2a6c097 F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93 -F src/select.c f7260c833c87c52ac187bc160ccc675a67d5a226cacd7eb1cdcb3c3ff25bde76 +F src/select.c 8e22fda41a737c391e8b797f7c71e7ded1d107c31181b07bb10b3d4f22a28cd9 F src/shell.c.in 58f69c9143d9635a3d71a32c3d4cb6fad4de4f0ca400c098fa76ff83e3ec58cb F src/sqlite.h.in 8ded85ecaa768afd196b24201382ccdf00e5bab6861e30549cd750bebd273a0b F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -1802,7 +1802,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 1b536f6fd8d58800042f130842f0586aaa357841ee0d1b690a9815c865d50826 -R fc284f1d3ce3f15ef50f8cba68163dd7 -U dan -Z 7614ae7f2756b52b23d2b92aadbeffdc +P db4b4c2c1e9f1adacfb1b2fedb717a4d8bb0a299c3b11835404a99fcd67bf24b +R 9df34114c40e9efb87e11c3ff795e26e +U drh +Z 6fb0408adaa68f0f20a707371b27a9aa diff --git a/manifest.uuid b/manifest.uuid index ea068faa4d..d44ba051b9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -db4b4c2c1e9f1adacfb1b2fedb717a4d8bb0a299c3b11835404a99fcd67bf24b \ No newline at end of file +b1601db7adba2dccd4f90fbbe5099c801a2b0d97af087fbe82ed98d05496b38c \ No newline at end of file diff --git a/src/select.c b/src/select.c index 3b9a0c3756..c3351ef13a 100644 --- a/src/select.c +++ b/src/select.c @@ -2089,9 +2089,9 @@ Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ db->flags &= ~(u64)SQLITE_FullColNames; db->flags |= SQLITE_ShortColNames; sqlite3SelectPrep(pParse, pSelect, 0); + db->flags = savedFlags; if( pParse->nErr ) return 0; while( pSelect->pPrior ) pSelect = pSelect->pPrior; - db->flags = savedFlags; pTab = sqlite3DbMallocZero(db, sizeof(Table) ); if( pTab==0 ){ return 0;