]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem with the changes on this branch and tables that use an implicit primary... session-alter
authordan <Dan Kennedy>
Sat, 7 Oct 2023 16:07:02 +0000 (16:07 +0000)
committerdan <Dan Kennedy>
Sat, 7 Oct 2023 16:07:02 +0000 (16:07 +0000)
FossilOrigin-Name: 1f9d10235ff32e72074be695049567135b02e681068ce117b66adc14a6214449

ext/session/sessionalter.test
ext/session/sqlite3session.c
manifest
manifest.uuid

index fb64b26d260626950d2809cbb4769af623a5136b..15c9bf4c70ecfae5d97902bd04055c8aa9534654 100644 (file)
@@ -106,9 +106,14 @@ reset_db
 do_execsql_test 3.0 {
   CREATE TABLE t1(x INTEGER PRIMARY KEY, y);
   CREATE TABLE t2(x PRIMARY KEY, y);
+  CREATE TABLE t3(x, y);
+  CREATE TABLE t4(y PRIMARY KEY, x) WITHOUT ROWID;
 
   INSERT INTO t1 VALUES(1, 2), (3, 4), (5, 6);
   INSERT INTO t2 VALUES('one', 'two'), ('three', 'four'), ('five', 'six');
+  INSERT INTO t3 VALUES(1, 2), (3, 4), (5, 6);
+
+  INSERT INTO t4(x, y) VALUES(1, 2), (3, 4), (5, 6);
 }
 
 db_save_and_close
@@ -163,6 +168,26 @@ foreach {tn sql1 at sql2} {
     ALTER TABLE t2 ADD COLUMN d DEFAULT NULL;
   } {
   }
+
+  7 {
+    INSERT INTO t3(x, y) VALUES(7, 8);
+    UPDATE t3 SET y='fourteen' WHERE x=1;
+    DELETE FROM t3 WHERE x=3;
+  } {
+    ALTER TABLE t3 ADD COLUMN c;
+  } {
+    INSERT INTO t3(x, y, c) VALUES(9, 10, 11);
+  }
+
+  8 {
+    INSERT INTO t4(x, y) VALUES(7, 8);
+    UPDATE t4 SET y='fourteen' WHERE x=1;
+    DELETE FROM t4 WHERE x=3;
+  } {
+    ALTER TABLE t4 ADD COLUMN c;
+  } {
+    INSERT INTO t4(x, y, c) VALUES(9, 10, 11);
+  }
 } {
   db_restore_and_reopen
 
@@ -196,6 +221,8 @@ foreach {tn sql1 at sql2} {
   sqlite3changeset_apply_v2 db $T2 xConflict
   set S2 [scksum db main]
 
+  # if { $tn==7 } { puts [changeset_to_list $T1] }
+
   do_test 3.1.$tn.2 { set S1 } $S2
 }
 
index bc84736471f5dae05418a1e20a34b31c9a850698..80783805cd7ba2e3a89a0eab5ca9190fc819ad2f 100644 (file)
@@ -1101,6 +1101,8 @@ static int sessionTableInfo(
     pAlloc = sessionMalloc64(pSession, nByte);
     if( pAlloc==0 ){
       rc = SQLITE_NOMEM;
+    }else{
+      memset(pAlloc, 0, nByte);
     }
   }
   if( rc==SQLITE_OK ){
index ea3c50c411675c74dd315ec09de824e48fb50b85..17d2603f3a40a4ea095dd305239550095dd00617 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\smissing\ssource\scode\scomments\sand\sfix\sother\sissues\swith\sthe\snew\scode\son\sthis\sbranch.
-D 2023-10-06T20:39:42.133
+C Fix\sa\sproblem\swith\sthe\schanges\son\sthis\sbranch\sand\stables\sthat\suse\san\simplicit\sprimary\skey.
+D 2023-10-07T16:07:02.856
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -529,7 +529,7 @@ F ext/session/sessionG.test 3efe388282d641b65485b5462e67851002cd91a282dc95b685d0
 F ext/session/sessionH.test 71bbff6b1abb2c4ac62b84dee53273c37e0b21e5fde3aed80929403e091ef859
 F ext/session/session_common.tcl e5598096425486b363718e2cda48ee85d660c96b4f8ea9d9d7a4c3ef514769da
 F ext/session/session_speed_test.c dcf0ef58d76b70c8fbd9eab3be77cf9deb8bc1638fed8be518b62d6cbdef88b3
-F ext/session/sessionalter.test 29d77c44087263c63d69be69219734d636ea68635307500d5b0f07a056e4d432
+F ext/session/sessionalter.test 06ac2da2f14fd722409b91d865c840caea4d7670eb759eeb6b64581f37737f4f
 F ext/session/sessionat.test 00c8badb35e43a2f12a716d2734a44d614ff62361979b6b85419035bc04b45ee
 F ext/session/sessionbig.test 47c381e7acfabeef17d98519a3080d69151723354d220afa2053852182ca7adf
 F ext/session/sessiondiff.test ad13dd65664bae26744e1f18eb3cbd5588349b7e9118851d8f9364248d67bcec
@@ -545,7 +545,7 @@ F ext/session/sessionrowid.test 85187c2f1b38861a5844868126f69f9ec62223a03449a98a
 F ext/session/sessionsize.test 8fcf4685993c3dbaa46a24183940ab9f5aa9ed0d23e5fb63bfffbdb56134b795
 F ext/session/sessionstat1.test b039e38e2ba83767b464baf39b297cc0b1cc6f3292255cb467ea7e12d0d0280c
 F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
-F ext/session/sqlite3session.c 26ea9b58ccd9fdfd211163bb637833d12c2beb491160e04fd415fd0519aa2685
+F ext/session/sqlite3session.c a371d74dd1b545d43c40363ecfc52cece93521db61a90c152034b47f125de451
 F ext/session/sqlite3session.h 4d1f69f1d8bfd4798e8f6431de301d17bb2e4097de2f77ca4dad494bb6c60dc0
 F ext/session/test_session.c 0b4bc954e5e411baa723e52abd46380ca428797dff39ed62c610001777a2b70f
 F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
@@ -2125,8 +2125,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 897e926a5eaa0eab7e09e5003e4c15c974897be298a18ae85345962dc3f410a1
-R 99b1a1d1e6fc326e3288fb4d2006c57d
+P df39fbe9ab87937beb77af353cd55602290b185e222e0a92a3ebf9a9a0b9e2e7
+R 87820a64ef2d678a0a08630e2b1112e2
 U dan
-Z 6d17292d226b837db6fc5d0737e14243
+Z 7f46b239846dc0ee500d5b995bf91280
 # Remove this line to create a well-formed Fossil manifest.
index 5f9fbc9ffc14f25bcabccd5ed535cea418598e30..3f5907db200736a09eca19f1bb473e7c581cd16d 100644 (file)
@@ -1 +1 @@
-df39fbe9ab87937beb77af353cd55602290b185e222e0a92a3ebf9a9a0b9e2e7
\ No newline at end of file
+1f9d10235ff32e72074be695049567135b02e681068ce117b66adc14a6214449
\ No newline at end of file