From: drh <> Date: Tue, 19 Apr 2022 23:00:32 +0000 (+0000) Subject: Merge the ALTER TABLE fix from trunk. X-Git-Tag: version-3.39.0~206^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=befbb40f44f4791eaf3a995fa4c6e8cd91241ac2;p=thirdparty%2Fsqlite.git Merge the ALTER TABLE fix from trunk. FossilOrigin-Name: d5ceaef3fca8cb4791ead9cbfe00d0eafa1bdc2b0522c3599c68b40fe6a7efe2 --- befbb40f44f4791eaf3a995fa4c6e8cd91241ac2 diff --cc manifest index 89f11648b0,af7df567ef..53dbf9966a --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Improved\scomment\son\sthe\sJF_LTORJ\sconstant\sdefinition. - D 2022-04-19T19:51:51.383 -C Fix\sa\sproblem\sin\sALTER\sTABLE\swith\shandling\s"table.*"\sexpressions\swithin\sSELECT\sstatements\sin\striggers. -D 2022-04-19T20:47:18.245 ++C Merge\sthe\sALTER\sTABLE\sfix\sfrom\strunk. ++D 2022-04-19T23:00:32.393 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -550,9 -550,9 +550,9 @@@ F src/pragma.h e690a356c18e98414d2e870e F src/prepare.c fd940149c691684e7c1073c3787a7170e44852b02d1275d2e30a5b58e89cfcaf F src/printf.c 05d8dfd2018bc4fc3ddb8b37eb97ccef7abf985643fa1caebdcf2916ca90fa32 F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c -F src/resolve.c 18d99e7146852d6064559561769fcca0743eb32b14a97da6dbed373a30ee0e76 +F src/resolve.c a3d58967025858f0f61b7b5d6c45914650acce05c33e4379a43ca4d042a68573 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 - F src/select.c 6fa15ee07a8da8198e74f0092f681dd5f572e9e14b756dd140e0bba18a53bed7 -F src/select.c 2df3b525acb48c4e005556771164cefca301e32aad14ffc51f5c9480ea04ff38 ++F src/select.c 708edcf15749d1a91b8bc820f546772409b3a1a33d18ca70ff90f7253c470f5a F src/shell.c.in ecff6f4ab0e8e25acd578b3eb27ac0bad4d48643c160259a277151d6e9d412e1 F src/sqlite.h.in 2a35f62185eb5e7ecc64a2f68442b538ce9be74f80f28a00abc24837edcf1c17 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@@ -1950,8 -1945,8 +1950,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 63b8f8aec2a9ac3fbbd02715aa308eaf43c9ffde9d7c6db026d46edc575e7bdd - R 0e43081825ba2ac344b2260d536ab5ce -P 2de7f8cc7fe18f0828bb53f1fd11f5eb828faf4d6dfaf39693dff4f8926c1c7a -R 318ac48bd1e34a4b6fd3ff5eb21b8cab -U dan -Z f1a4a18eaaf67a9686b3da1f44ac683c ++P e0744da95fc010dc3a2e030ff491bcfa08a18691ee6ebc7d4e8aab3850f56eec 24755fd0657252e49793bb1fe906973a2dd84a1bde03bea9a762de36cc96c2d2 ++R 87c5522f1cf8919e21182be37373bb83 +U drh - Z 728f00126338b98c12a3542524a6b6aa ++Z c5b965cb083a0fb5798e9eb24bfa9f0b # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index d89f6ecb3a,e6f39a5899..506b7930c5 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - e0744da95fc010dc3a2e030ff491bcfa08a18691ee6ebc7d4e8aab3850f56eec -24755fd0657252e49793bb1fe906973a2dd84a1bde03bea9a762de36cc96c2d2 ++d5ceaef3fca8cb4791ead9cbfe00d0eafa1bdc2b0522c3599c68b40fe6a7efe2 diff --cc src/select.c index 6ebc1dc3cb,bc6a0b1d1d..65ca283b3e --- a/src/select.c +++ b/src/select.c @@@ -5827,17 -5753,9 +5827,20 @@@ static int selectExpander(Walker *pWalk } } pRight = sqlite3Expr(db, TK_ID, zName); - zColname = zName; - zToFree = 0; - if( longNames || pTabList->nSrc>1 || IN_RENAME_OBJECT ){ + if( longNames ){ + zColname = sqlite3MPrintf(db, "%s.%s", zTabName, zName); + zToFree = zColname; + }else{ + zColname = zName; + zToFree = 0; + } - if( pTabList->nSrc>1 - && ( (pFrom->fg.jointype & JT_LTORJ)==0 - || !inAnyUsingClause(zName,pFrom,pTabList->nSrc-i-1) ) ++ if( (pTabList->nSrc>1 ++ && ( (pFrom->fg.jointype & JT_LTORJ)==0 ++ || !inAnyUsingClause(zName,pFrom,pTabList->nSrc-i-1) ++ ) ++ ) ++ || IN_RENAME_OBJECT + ){ Expr *pLeft; pLeft = sqlite3Expr(db, TK_ID, zTabName); pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);