1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Have sqlite3session_diff() automatically attach tables to session objects, as it has always been documented to do.

FossilOrigin-Name: ec1641858ec48d96f5a2ddce4575ebd40a18932d69831fdb4eafc9acf508f216
This commit is contained in:
dan
2025-04-08 15:58:19 +00:00
parent 87ceb6ba9e
commit 6864f78fdf
4 changed files with 39 additions and 10 deletions

View File

@ -230,4 +230,32 @@ do_catchsql_test 4.5.2 {
SELECT * FROM ixua.i8; SELECT * FROM ixua.i8;
} {1 {no such table: ixua.i8}} } {1 {no such table: ixua.i8}}
#-------------------------------------------------------------------------
# Test that sqlite3session_diff() really does automatically attach tables,
# as documented.
#
reset_db
forcedelete test.db2
do_execsql_test 4.0 {
ATTACH 'test.db2' AS two;
CREATE TABLE two.t1(a PRIMARY KEY, b, c);
CREATE TABLE t1(a PRIMARY KEY, b, c);
INSERT INTO two.t1 VALUES(1, 2, 3), (4, 5, 6), (7, 8, 9);
}
do_test 4.1 {
sqlite3session S db main
S attach t8
S diff two t1
} {}
do_changeset_test 4.2 S {
{DELETE t1 0 X.. {i 1 i 2 i 3} {}}
{DELETE t1 0 X.. {i 4 i 5 i 6} {}}
{DELETE t1 0 X.. {i 7 i 8 i 9} {}}
}
S delete
finish_test finish_test

View File

@ -2216,7 +2216,9 @@ int sqlite3session_diff(
SessionTable *pTo; /* Table zTbl */ SessionTable *pTo; /* Table zTbl */
/* Locate and if necessary initialize the target table object */ /* Locate and if necessary initialize the target table object */
pSession->bAutoAttach++;
rc = sessionFindTable(pSession, zTbl, &pTo); rc = sessionFindTable(pSession, zTbl, &pTo);
pSession->bAutoAttach--;
if( pTo==0 ) goto diff_out; if( pTo==0 ) goto diff_out;
if( sessionInitTable(pSession, pTo, pSession->db, pSession->zDb) ){ if( sessionInitTable(pSession, pTo, pSession->db, pSession->zDb) ){
rc = pSession->rc; rc = pSession->rc;

View File

@ -1,5 +1,5 @@
C Reduce\sthe\sdelay\scaused\sby\santi-virus\sretries\sin\sWindows\swhen\sattempting\sto\nopen\sa\sdatabase\sfile\swith\sinsufficient\spermission. C Have\ssqlite3session_diff()\sautomatically\sattach\stables\sto\ssession\sobjects,\sas\sit\shas\salways\sbeen\sdocumented\sto\sdo.
D 2025-03-26T22:23:22.787 D 2025-04-08T15:58:19.760
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@ -588,7 +588,7 @@ F ext/session/session9.test 4e3aff62d6b4294498ddbe309076de06f4fddffad4fe5f5a6c03
F ext/session/sessionA.test 1feeab0b8e03527f08f2f1defb442da25480138f F ext/session/sessionA.test 1feeab0b8e03527f08f2f1defb442da25480138f
F ext/session/sessionB.test c4fb7f8a688787111606e123a555f18ee04f65bb9f2a4bb2aa71d55ce4e6d02c F ext/session/sessionB.test c4fb7f8a688787111606e123a555f18ee04f65bb9f2a4bb2aa71d55ce4e6d02c
F ext/session/sessionC.test f8a5508bc059ae646e5ec9bdbca66ad24bc92fe99fda5790ac57e1f59fce2fdf F ext/session/sessionC.test f8a5508bc059ae646e5ec9bdbca66ad24bc92fe99fda5790ac57e1f59fce2fdf
F ext/session/sessionD.test f5c6a762d00bc6ca9d561695c322ba8ecca2bed370486707ef37cf565d2f6c73 F ext/session/sessionD.test 9d5d1d07bfc2de8400cd8607297dcd405e2889ccae58ae17db054de5fcae37ab
F ext/session/sessionE.test b2010949c9d7415306f64e3c2072ddabc4b8250c98478d3c0c4d064bce83111d F ext/session/sessionE.test b2010949c9d7415306f64e3c2072ddabc4b8250c98478d3c0c4d064bce83111d
F ext/session/sessionF.test d37ed800881e742c208df443537bf29aa49fd56eac520d0f0c6df3e6320f3401 F ext/session/sessionF.test d37ed800881e742c208df443537bf29aa49fd56eac520d0f0c6df3e6320f3401
F ext/session/sessionG.test 3efe388282d641b65485b5462e67851002cd91a282dc95b685d085eb8efdad0a F ext/session/sessionG.test 3efe388282d641b65485b5462e67851002cd91a282dc95b685d085eb8efdad0a
@ -616,7 +616,7 @@ F ext/session/sessionrowid.test 85187c2f1b38861a5844868126f69f9ec62223a03449a98a
F ext/session/sessionsize.test 8fcf4685993c3dbaa46a24183940ab9f5aa9ed0d23e5fb63bfffbdb56134b795 F ext/session/sessionsize.test 8fcf4685993c3dbaa46a24183940ab9f5aa9ed0d23e5fb63bfffbdb56134b795
F ext/session/sessionstat1.test 5e718d5888c0c49bbb33a7a4f816366db85f59f6a4f97544a806421b85dc2dec F ext/session/sessionstat1.test 5e718d5888c0c49bbb33a7a4f816366db85f59f6a4f97544a806421b85dc2dec
F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
F ext/session/sqlite3session.c 8011b9531c7dd8dce55226def022f3303ce40d0b45966877f2c35185f4b1c3fc F ext/session/sqlite3session.c b0f44e89facdf03feacd040b18b6fb04a5cc55095be8b688f3cbb1412eeab993
F ext/session/sqlite3session.h aa5de3ec8ef0e5313e9f65dafd69e8ba292d170f07b57da9200c040068dab061 F ext/session/sqlite3session.h aa5de3ec8ef0e5313e9f65dafd69e8ba292d170f07b57da9200c040068dab061
F ext/session/test_session.c 12e0a2c15fd60f92da4bb29c697c9177ff0c0dbcdc5129a54c47e999f147937a F ext/session/test_session.c 12e0a2c15fd60f92da4bb29c697c9177ff0c0dbcdc5129a54c47e999f147937a
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
@ -2215,9 +2215,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 1f98fc07fdf06d699ffbf1521b0b5e937a582017e4325bd994b488e06becbecc ccdd67ad9a508530ccfcec582410768c24bca4eb8b05939577fb99a50dd44b15 P d25c8a6222d4e3f20c137b1490572ad491d9c404ff12947d5867c3e00fcb615c
R 6c2ac8039a69021b5d572668708823ae R 13e264ccaec04013121101913f0528fa
T +closed ccdd67ad9a508530ccfcec582410768c24bca4eb8b05939577fb99a50dd44b15 U dan
U drh Z c782dc2350defbb4dda4222346152588
Z 0d5fc73351502e2a61a26190ba1c4a5b
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
d25c8a6222d4e3f20c137b1490572ad491d9c404ff12947d5867c3e00fcb615c ec1641858ec48d96f5a2ddce4575ebd40a18932d69831fdb4eafc9acf508f216