]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Keep the historical datatype ("INT", not "NUM") for a table created as follows: ...
authordrh <>
Wed, 8 Mar 2023 14:37:04 +0000 (14:37 +0000)
committerdrh <>
Wed, 8 Mar 2023 14:37:04 +0000 (14:37 +0000)
FossilOrigin-Name: dc1033af4bf707095032f66d7a8ab63204f38bae244fab16a2bc870840d5bffd

manifest
manifest.uuid
src/select.c

index c82be7d71d9e98f58eb788ff15181a5b36020d13..74653933525ed67ec4994a5a37e1df7aba6d31e7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\san\sassertion\sfault\sadded\sby\s[65ffee234787213c].
-D 2023-03-08T00:04:47.876
+C Keep\sthe\shistorical\sdatatype\s("INT",\snot\s"NUM")\sfor\sa\stable\screated\sas\sfollows:\s"CREATE\sTABLE\st1\sAS\sSELECT\sCAST(123\sAS\sINT)\sAS\svalue;".\s\sThe\suse\sof\sFLEXNUM\sonly\soccurs\son\scompound\squeries.
+D 2023-03-08T14:37:04.942
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -621,7 +621,7 @@ F src/printf.c ff4b05e38bf928ff1b80d3dda4f977b10fe39ecbfe69c018224c7e5594fb2455
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c 4233c3030341bf1a21cea90890e6b3d3531721acc62ede147e899d36ffad8238
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
-F src/select.c c5c632f69a5e3cbe5e21df7a46919ee2a539c646f8ccfe8b65004eb1112b73de
+F src/select.c 5068552556486a8078f7935a5c46b737360be92ab0626c9a9e1a30c2388df41b
 F src/shell.c.in 6f36f5ca05f1bebf74935a7fcf2dce983016e807a09cbd752a673583ad7da087
 F src/sqlite.h.in 662a2fa083d093896b92560c871dea6d86792b49dc4bf7b4e8dbeca8e7171488
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -2045,9 +2045,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P b2ad89d3f0fe5c7582d97e65770eb93986ba8d4b031aafb04f86160383b47aab
-Q +1096b5a7cc8104db01f8820ace47020baad2f12e6711e3a7b4514ed1becc7b66
-R 3e2f7f0ce4375fb0eea9ca556e38d2dd
+P d00e68baf73238d2f91df6b19525c91539a7fe26406516cbacfff113e79e26ea
+Q +6d5b5896261c62a7e130b47416ee8c25793859a2afcb1646c257600537a5b71b
+R 05e345d820d81a67729a6442fb0a0119
 U drh
-Z d647b3185fedb3aa33e77c616fedfd8d
+Z 51dba0d99dc87e9d4f108cf8acf33536
 # Remove this line to create a well-formed Fossil manifest.
index 36db9e2049da18fbf0b2fd95ba2b62e71020d6fd..85f98f13b2ff731c280172231eaa680702003646 100644 (file)
@@ -1 +1 @@
-d00e68baf73238d2f91df6b19525c91539a7fe26406516cbacfff113e79e26ea
\ No newline at end of file
+dc1033af4bf707095032f66d7a8ab63204f38bae244fab16a2bc870840d5bffd
\ No newline at end of file
index dcfa9d94126c8510484444dab3de94d731801d9d..2d44ffc7c2dde181be730f3b22b0e7662d32dea7 100644 (file)
@@ -2332,8 +2332,6 @@ void sqlite3SubqueryColumnTypes(
     pCol->affinity = sqlite3ExprAffinity(p);
     if( pCol->affinity<=SQLITE_AFF_NONE ){
       pCol->affinity = aff;
-    }else if( pCol->affinity>=SQLITE_AFF_NUMERIC && p->op==TK_CAST ){
-      pCol->affinity = SQLITE_AFF_FLEXNUM;
     }
     if( pCol->affinity>=SQLITE_AFF_TEXT && pSelect->pNext ){
       int m = 0;
@@ -2347,6 +2345,9 @@ void sqlite3SubqueryColumnTypes(
       if( pCol->affinity>=SQLITE_AFF_NUMERIC && (m&0x02)!=0 ){
         pCol->affinity = SQLITE_AFF_BLOB;
       }
+      if( pCol->affinity>=SQLITE_AFF_NUMERIC && p->op==TK_CAST ){
+        pCol->affinity = SQLITE_AFF_FLEXNUM;
+      }
     }
     zType = columnType(&sNC, p, 0, 0, 0);
     if( zType==0 || pCol->affinity!=sqlite3AffinityType(zType, 0) ){