]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
A proposed change to [44135d6ea84f7ba6] that retains the flexnum-proposed-fix
authordrh <>
Tue, 7 Mar 2023 19:39:18 +0000 (19:39 +0000)
committerdrh <>
Tue, 7 Mar 2023 19:39:18 +0000 (19:39 +0000)
historical datatype ("INT", not "NUM") for a table created as follows:
"<tt>CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;</tt>".

FossilOrigin-Name: a0e54fe2058a4ac1e794b2491e424c60dfa42c6781b1cfd83c5db65c28c11c71

manifest
manifest.uuid
src/select.c

index a61773815d14483b798dfad04a3a91b84e9e2a78..aee9392ccb87b889f482f2050effe1d71988b253 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sthe\sJS\ssqlite3.vfs/vtab\sutility\sAPIs,\suse\sa\slocal\sreference\sto\sStructBinder\sinstead\sof\ssqlite3.StructBinder,\sas\sthat\sobject\sis\sremoved\sfrom\sthe\ssqlite3\snamespace\sduring\sthe\sfinal\ssteps\sof\sAPI\sinitialization.\sBased\son\sfeedback\sfrom\s[forum:d19d96183badca70|forum\spost\sd19d96183badca70].
-D 2023-03-07T12:59:20.234
+C A\sproposed\schange\sto\s[44135d6ea84f7ba6]\sthat\sretains\sthe\nhistorical\sdatatype\s("INT",\snot\s"NUM")\sfor\sa\stable\screated\sas\sfollows:\n"<tt>CREATE\sTABLE\st1\sAS\sSELECT\sCAST(123\sAS\sINT)\sAS\svalue;</tt>".
+D 2023-03-07T19:39:18.271
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -623,7 +623,7 @@ F src/printf.c fb31597cf93200eba9167573094ee312b0d51b2c1998613284ceb2c8c212b492
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c 4233c3030341bf1a21cea90890e6b3d3531721acc62ede147e899d36ffad8238
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
-F src/select.c 2f38b8424d204f79180acc6adf84cf3a35a5176e33bc6b009f9a9f080316d4bb
+F src/select.c 444a4a243c6fac42ecdb6682400be8de448682f261e853445a44e92b3d552d11
 F src/shell.c.in d64f0d3822aa94508285f2bcce185b12ace06f37c953371cb0f0d835c171753c
 F src/sqlite.h.in f01033703156615566bb329144d736a37fc35a278049db91127782a9c799b938
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -2048,8 +2048,11 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 46b3ac6d1fdd9207cdc511d445bb4c33d11102d6e4eb43f119293d62bb7008ff
-R 4a31f99bfa30395371cae1302bc1f756
-U stephan
-Z 0f22e03fc38467c39e3c17df73bf7790
+P 0d89885d28b44b1858117a72a180841f4f5f44bcc574fc59a116ca3526325932
+R beb23f11e03187a80d89cee523b2f1b3
+T *branch * flexnum-proposed-fix
+T *sym-flexnum-proposed-fix *
+T -sym-trunk *
+U drh
+Z 22391db7c3b1c9e948d466993fddf217
 # Remove this line to create a well-formed Fossil manifest.
index 74e3d0c1e2dc7a774cedfc53548b44e121e83b02..0e591cb9a76130f11bec7d0e91407b8a8856ddc2 100644 (file)
@@ -1 +1 @@
-0d89885d28b44b1858117a72a180841f4f5f44bcc574fc59a116ca3526325932
\ No newline at end of file
+a0e54fe2058a4ac1e794b2491e424c60dfa42c6781b1cfd83c5db65c28c11c71
\ No newline at end of file
index 2906a4895c51ae65b2b5951a2d071f4da201afda..bdad6bfae4a40c7fc6bcc8db0abc18ed17fe4747 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) ){