From: drh <> Date: Thu, 17 Mar 2022 11:23:13 +0000 (+0000) Subject: Another fix for a corner-case in sqlite_offset() - this one having to X-Git-Tag: version-3.39.0~301 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=494317ad57353c3872922337a0dffd738808d1f8;p=thirdparty%2Fsqlite.git Another fix for a corner-case in sqlite_offset() - this one having to do with computed virtual columns in a WITHOUT ROWID table. FossilOrigin-Name: 84ddd19bcec99f04b43b1a823477457758a2d93ea9beda43598e1234ea07776c --- diff --git a/manifest b/manifest index bb70984547..511b9b2276 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\sCLI\scomplain\sabout\sincomplete\sinput\sat\sEOF.\sFix\sfor\sregression\sreported\sat\shttps://sqlite.org/forum/forumpost/718f489a43be3197 -D 2022-03-15T17:57:42.959 +C Another\sfix\sfor\sa\scorner-case\sin\ssqlite_offset()\s-\sthis\sone\shaving\sto\ndo\swith\scomputed\svirtual\scolumns\sin\sa\sWITHOUT\sROWID\stable. +D 2022-03-17T11:23:13.924 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -639,7 +639,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c b9df133a705093da8977da5eb202eaadb844839f1c7297c08d33471f5491843d F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b -F src/where.c 7f7e6b5f0c017997a3a47988781de9481f9fa685febdaea779a9fd79ab17a43c +F src/where.c 3f6926af089c0070dd627bef9e16f6890262b43341d5627097bc26fa121d0e12 F src/whereInt.h 15d2975c3b4c193c78c26674400a840da8647fe1777ae3b026e2d15937b38a03 F src/wherecode.c 555f598a9ddad81761f084710fdb4f8733fe31bc14cd6b19f8ca4274a7eaa04c F src/whereexpr.c 2a71f5491798460c9590317329234d332d9eb1717cba4f3403122189a75c465e @@ -1944,8 +1944,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P fff1243b594c190d15f14b7ca4e60d23519cd15134f275991c685966fcc24145 -R 419d7db42dfecc265d3cd4cb01355313 -U larrybr -Z e6c264c989ed1b7dd7a09ef4a9447bb1 +P 72029cf7cdb266703cc8716102dbba8e6f2666e1f47409f42c39528795757b73 +R daa2513edd6111fe3d506fefc3f7ebd4 +U drh +Z 44502c04520a4cca4d14e85f770454ce # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index a0ac00e2f8..da3c3c2eca 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -72029cf7cdb266703cc8716102dbba8e6f2666e1f47409f42c39528795757b73 \ No newline at end of file +84ddd19bcec99f04b43b1a823477457758a2d93ea9beda43598e1234ea07776c \ No newline at end of file diff --git a/src/where.c b/src/where.c index 8dcea0fa05..83bd63fc30 100644 --- a/src/where.c +++ b/src/where.c @@ -6146,14 +6146,15 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){ ){ int x = pOp->p2; assert( pIdx->pTable==pTab ); +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC + if( pOp->opcode==OP_Offset ){ + /* Do not need to translate the column number */ + }else +#endif if( !HasRowid(pTab) ){ Index *pPk = sqlite3PrimaryKeyIndex(pTab); x = pPk->aiColumn[x]; assert( x>=0 ); -#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC - }else if( pOp->opcode==OP_Offset ){ - /* Do not need to translate the column number */ -#endif }else{ testcase( x!=sqlite3StorageColumnToTable(pTab,x) ); x = sqlite3StorageColumnToTable(pTab,x);