From: drh <> Date: Wed, 14 Dec 2022 17:46:35 +0000 (+0000) Subject: Rework the code that computes the datatypes and affinities for subqueries X-Git-Tag: version-3.41.0~246 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=daa46142ecf8dd3b886fb5940e1faf4366a36df3;p=thirdparty%2Fsqlite.git Rework the code that computes the datatypes and affinities for subqueries and views. If the subquery/view is constructed from a compound SELECT where the affinity varies across arms of the compound, set the affinity for the corresponding column in the constructed view to be BLOB so that it is allowed to take on any data type. FossilOrigin-Name: 27655c9353620aa58105e87d1e171d1f0a637deedde41c081824078385cd49ac --- daa46142ecf8dd3b886fb5940e1faf4366a36df3 diff --cc manifest index e13ac335e7,06fda08f52..35df2843b3 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Slight\sreformulation\sof\ssome\stest\scode\sto\stest\smulti-arg\swasm.peek()\scall\sform. - D 2022-12-14T16:40:17.727 -C If\sthe\sSELECT\sthat\simplements\sa\ssubquery\sor\sa\sVIEW\sor\sa\sCREATE\sTABLE\sAS\sis\na\scompound\swith\sdifferent\sresult\sdatatypes\son\stwo\sor\smore\sarms\sof\sthe\scompound,\nthen\sthe\soverall\scolumn\stype\sbecomes\sBLOB\s(ANY). -D 2022-12-14T14:41:35.799 ++C Rework\sthe\scode\sthat\scomputes\sthe\sdatatypes\sand\saffinities\sfor\ssubqueries\nand\sviews.\s\sIf\sthe\ssubquery/view\sis\sconstructed\sfrom\sa\scompound\sSELECT\swhere\nthe\saffinity\svaries\sacross\sarms\sof\sthe\scompound,\sset\sthe\saffinity\sfor\sthe\ncorresponding\scolumn\sin\sthe\sconstructed\sview\sto\sbe\sBLOB\sso\sthat\sit\sis\sallowed\nto\stake\son\sany\sdata\stype. ++D 2022-12-14T17:46:35.207 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -2067,8 -2067,8 +2067,9 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P ef7b783552f7783a728837fcfc81e493b135a7aac59747397e7e3d28f4309f95 - R 69b57b7832989a3f15d31278da83eb54 - U stephan - Z 4a759f802ddd912d8f969c788a0a3db7 -P fe5a77bcc4de8f49cc4fe6bd2e2e1f31da8d3bc84120daaa99eb853b06291d15 -R 35120453735b5c5db8d03f0193f6b48d ++P 349bb28f614bc210b3283ed1c1144c45fbc7d9e2ffc3dc6193ccb9932d347efb 6ebb178c6b688ebd632e91a5ec4c748567833037c679ab3d72fb770deb230fe1 ++R f920a5948608f4bc33fea80bc8d67560 ++T +closed 6ebb178c6b688ebd632e91a5ec4c748567833037c679ab3d72fb770deb230fe1 + U drh -Z 332f66b2a4fa2c34f1a59001ebc620e0 ++Z 8100acbd11a7404ffd2194b46d0236b1 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index 2ceff7e018,02273568ea..8326d613cb --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 349bb28f614bc210b3283ed1c1144c45fbc7d9e2ffc3dc6193ccb9932d347efb -6ebb178c6b688ebd632e91a5ec4c748567833037c679ab3d72fb770deb230fe1 ++27655c9353620aa58105e87d1e171d1f0a637deedde41c081824078385cd49ac