From: drh Date: Fri, 13 Nov 2015 13:15:42 +0000 (+0000) Subject: Add the --transaction option to the sqldiff tool. X-Git-Tag: version-3.10.0~135 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=05d4ebf6c3652eda096ceddd755db37d89ebca41;p=thirdparty%2Fsqlite.git Add the --transaction option to the sqldiff tool. FossilOrigin-Name: 8882d1f3ef0fc53d7c19918c3af43c5bdd79e88f --- diff --git a/manifest b/manifest index 972db47b4f..ddb0e9ebc3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\sreleasetest-out.txt\slog\soutput\sfrom\sreleasetest.tcl\sso\sthat\sit\sworks\nwhen\sthe\s--jobs\soption\sis\sused. -D 2015-11-13T12:52:34.131 +C Add\sthe\s--transaction\soption\sto\sthe\ssqldiff\stool. +D 2015-11-13T13:15:42.017 F Makefile.in d828db6afa6c1fa060d01e33e4674408df1942a1 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc e928e68168df69b353300ac87c10105206653a03 @@ -1392,7 +1392,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 7ce07da76b5e745783e703a834417d725b7d45fd F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c -F tool/sqldiff.c 40e3458f0015290be8ecb6e03f9dbf1bb1e264c0 +F tool/sqldiff.c db1232df457fdd4cbf2a919a497fc44bb18fb933 F tool/stack_usage.tcl f8e71b92cdb099a147dad572375595eae55eca43 F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d F tool/symbols.sh fec58532668296d7c7dc48be9c87f75ccdb5814f @@ -1403,7 +1403,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P ebda77aad4d964593606ded2fdb19259ef9ebb8e -R 0d2c22d081ef129ebfad482569c607ff +P 6bb314a5022c8bae63f6cdb48652915e05c06a38 +R 935905eff9b6be5b31cdb25ab8246ccb U drh -Z 0f5445a085b6cf791e190a6c97d0a451 +Z 6be4f9e3d294b71573d3af5237a10dc6 diff --git a/manifest.uuid b/manifest.uuid index d171197a9c..e84e61c770 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6bb314a5022c8bae63f6cdb48652915e05c06a38 \ No newline at end of file +8882d1f3ef0fc53d7c19918c3af43c5bdd79e88f \ No newline at end of file diff --git a/tool/sqldiff.c b/tool/sqldiff.c index 90a53fe16a..0f406d8a03 100644 --- a/tool/sqldiff.c +++ b/tool/sqldiff.c @@ -1741,6 +1741,7 @@ static void showHelp(void){ " --schema Show only differences in the schema\n" " --summary Show only a summary of the differences\n" " --table TAB Show only differences in table TAB\n" +" --transaction Show SQL output inside a transaction\n" ); } @@ -1757,6 +1758,8 @@ int main(int argc, char **argv){ void (*xDiff)(const char*,FILE*) = diff_one_table; int nExt = 0; char **azExt = 0; + int useTransaction = 0; + int neverUseTransaction = 0; g.zArgv0 = argv[0]; sqlite3_config(SQLITE_CONFIG_SINGLETHREAD); @@ -1770,6 +1773,7 @@ int main(int argc, char **argv){ out = fopen(argv[++i], "wb"); if( out==0 ) cmdlineError("cannot open: %s", argv[i]); xDiff = changeset_one_table; + neverUseTransaction = 1; }else if( strcmp(z,"debug")==0 ){ if( i==argc-1 ) cmdlineError("missing argument to %s", argv[i]); @@ -1803,6 +1807,9 @@ int main(int argc, char **argv){ if( i==argc-1 ) cmdlineError("missing argument to %s", argv[i]); zTab = argv[++i]; }else + if( strcmp(z,"transaction")==0 ){ + useTransaction = 1; + }else { cmdlineError("unknown option: %s", argv[i]); } @@ -1845,6 +1852,8 @@ int main(int argc, char **argv){ cmdlineError("\"%s\" does not appear to be a valid SQLite database", zDb2); } + if( neverUseTransaction ) useTransaction = 0; + if( useTransaction ) printf("BEGIN TRANSACTION;\n"); if( zTab ){ xDiff(zTab, out); }else{ @@ -1862,6 +1871,7 @@ int main(int argc, char **argv){ } sqlite3_finalize(pStmt); } + if( useTransaction ) printf("COMMIT;\n"); /* TBD: Handle trigger differences */ /* TBD: Handle view differences */