]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem with ALTER TABLE RENAME COLUMN when used on a schema that features...
authordan <Dan Kennedy>
Tue, 16 Mar 2021 11:11:07 +0000 (11:11 +0000)
committerdan <Dan Kennedy>
Tue, 16 Mar 2021 11:11:07 +0000 (11:11 +0000)
FossilOrigin-Name: 0e255b26872b50581d470952dd98e21dd82d081885006f58d49daa4b4576b35d

manifest
manifest.uuid
src/alter.c
test/altercol.test

index f2db2d8e7a00bc507b2f1c97b2059f248f9e1edb..3349d89c12b1011212813f18133e8c6208be4687 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Version\s3.35.1
-D 2021-03-15T16:53:57.484
+C Fix\sa\sproblem\swith\sALTER\sTABLE\sRENAME\sCOLUMN\swhen\sused\son\sa\sschema\sthat\sfeatures\sgenerated\scolumns.
+D 2021-03-16T11:11:07.514
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -476,7 +476,7 @@ F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca
 F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
 F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
-F src/alter.c e06ec2433a97865a221be855c513bc9a40d6636c965dc0109b78b01009aefc8c
+F src/alter.c 2d631213818b654faaf08755f26e934134c4769757ae9286981401cd6b571081
 F src/analyze.c 01c6c6765cb4d40b473b71d85535093730770bb186f2f473abac25f07fcdee5c
 F src/attach.c 9cbe761e464025694df8e6f6ee4d9f41432c3a255ca9443ccbb4130eeb87cf72
 F src/auth.c 08954fdc4cc2da5264ba5b75cfd90b67a6fc7d1710a02ccf917c38eadec77853
@@ -647,7 +647,7 @@ F test/alter3.test e487958dec7932453e0b83baf21d6b1e71d5e7d9a55bc20eadfa62a51ddff
 F test/alter4.test dfd6086faf461b27ca2d2999848dcd207edf23352fc1592d0005c0844f3f08cf
 F test/alterauth.test 63442ba61ceb0c1eeb63aac1f4f5cebfa509d352276059d27106ae256bafc959
 F test/alterauth2.test 794ac5cef251819fe364b4fe20f12f86e9c5d68070513c7fd26c17cb244c89af
-F test/altercol.test 65eef562f0eea7a1f5ddd4a140c4274c2bfc5712bb2ab2096f738852b0efce86
+F test/altercol.test 3456f7cc4196ef8f7d82d245d6e91940eb12bc95c36c91ac4b512f6b5c9a4fa9
 F test/altercorrupt.test 584d707a80e106952d6382790c8919bcf9f0db678ed3a1c09fd98b7f9d1d3a10
 F test/alterdropcol.test 596623cb8a72d9570bfb8417b0f302810efe007873796f03c17a9e9ff28dade1
 F test/alterdropcol2.test 527fce683b200d620f560f666c44ae33e22728e990a10a48a543280dfd4b4d41
@@ -1910,9 +1910,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 0915f969f429a8d0b594e937e0128d5476774d9bbe4a24081dbc60273cb5bb9a
-R 2b3598619c1684078c28a748b557717f
-T +sym-release *
-T +sym-version-3.35.1 *
-U drh
-Z b6e46b43ad7d89d09a3fbf23443eb714
+P aea12399bf1fdc76af43499d4624c3afa17c3e6c2459b71c195804bb98def66a
+R 8d9ba034916265e30952367e14ccf2d0
+U dan
+Z 66abaaaa0bcfb13bbe669b759bf47eeb
index 8d134baaf5e39cd889dc49592d20ad2c74d55641..bed7091db56cd908021496153528863ea347a09e 100644 (file)
@@ -1 +1 @@
-aea12399bf1fdc76af43499d4624c3afa17c3e6c2459b71c195804bb98def66a
\ No newline at end of file
+0e255b26872b50581d470952dd98e21dd82d081885006f58d49daa4b4576b35d
\ No newline at end of file
index e28f22d6a852adb8526513be528a9b27ea7a790c..c0797db45e158d20a518e5ff1e1beede74ace398 100644 (file)
@@ -1436,12 +1436,12 @@ static void renameColumnFunc(
         for(pIdx=sParse.pNewIndex; pIdx; pIdx=pIdx->pNext){
           sqlite3WalkExprList(&sWalker, pIdx->aColExpr);
         }
-      }
 #ifndef SQLITE_OMIT_GENERATED_COLUMNS
-      for(i=0; i<sParse.pNewTable->nCol; i++){
-        sqlite3WalkExpr(&sWalker, sParse.pNewTable->aCol[i].pDflt);
-      }
+        for(i=0; i<sParse.pNewTable->nCol; i++){
+          sqlite3WalkExpr(&sWalker, sParse.pNewTable->aCol[i].pDflt);
+        }
 #endif
+      }
 
       for(pFKey=sParse.pNewTable->pFKey; pFKey; pFKey=pFKey->pNextFrom){
         for(i=0; i<pFKey->nCol; i++){
index d2406e4c9617d9ecb288f4e7f3ef5e1a7ea1e426..047917e5a197679cf1deb497a579a4baa1ec8fe9 100644 (file)
@@ -822,5 +822,18 @@ do_execsql_test 21.2 {
   END}
 }
 
+#-------------------------------------------------------------------------
+#
+reset_db
+do_execsql_test 22.0 {
+  CREATE TABLE t1(a, b);
+  CREATE TABLE t2(c, othername, extra AS (c + 1));
+  ALTER TABLE t1 RENAME a to othername;
+  SELECT sql FROM sqlite_schema;
+} {
+  {CREATE TABLE t1(othername, b)}
+  {CREATE TABLE t2(c, othername, extra AS (c + 1))}
+}
+
 
 finish_test