mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Add the --enablefk option to the "changeset apply" command of the
changeset program. FossilOrigin-Name: e98d46d436f8d251ae0da5ee85fd856aca3b57cd48d1be31fa6ca88fe72cad00
This commit is contained in:
@ -30,10 +30,11 @@ static void usage(const char *argv0){
|
||||
"COMMANDs:\n"
|
||||
" apply DB [OPTIONS] Apply the changeset to database file DB. OPTIONS:\n"
|
||||
" -n|--dryrun Test run. Don't apply changes\n"
|
||||
" --nosavepoint\n"
|
||||
" --invert\n"
|
||||
" --ignorenoop\n"
|
||||
" --fknoaction\n"
|
||||
" --enablefk Enable FOREIGN KEY support\n"
|
||||
" --nosavepoint \\\n"
|
||||
" --invert \\___ Flags passed into\n"
|
||||
" --ignorenoop / changeset_apply_v2()\n"
|
||||
" --fknoaction /\n"
|
||||
" concat FILE2 OUT Concatenate FILENAME and FILE2 into OUT\n"
|
||||
" dump Show the complete content of the changeset\n"
|
||||
" invert OUT Write an inverted changeset into file OUT\n"
|
||||
@ -166,7 +167,7 @@ static int conflictCallback(
|
||||
case SQLITE_DELETE: zOp = "DELETE from"; break;
|
||||
}
|
||||
printf("%s conflict on %s table %s with primary key", zType, zOp, zTab);
|
||||
for(i=0; i<nCol; i++){
|
||||
for(i=0; i<nCol && abPK; i++){
|
||||
sqlite3_value *pVal;
|
||||
if( abPK[i]==0 ) continue;
|
||||
printf("%s", zSep);
|
||||
@ -194,6 +195,7 @@ int main(int argc, char **argv){
|
||||
if( strcmp(argv[2],"apply")==0 ){
|
||||
sqlite3 *db;
|
||||
int bDryRun = 0;
|
||||
int bEnableFK = 0;
|
||||
const char *zDb = 0;
|
||||
int i;
|
||||
int applyFlags = 0;
|
||||
@ -221,6 +223,10 @@ int main(int argc, char **argv){
|
||||
applyFlags |= SQLITE_CHANGESETAPPLY_FKNOACTION;
|
||||
continue;
|
||||
}
|
||||
if( strcmp(zArg, "-enablefk")==0 ){
|
||||
bEnableFK = 1;
|
||||
continue;
|
||||
}
|
||||
fprintf(stderr, "unknown option: \"%s\"\n", argv[i]);
|
||||
exit(1);
|
||||
}else if( zDb ){
|
||||
@ -237,6 +243,9 @@ int main(int argc, char **argv){
|
||||
sqlite3_close(db);
|
||||
exit(1);
|
||||
}
|
||||
if( bEnableFK ){
|
||||
sqlite3_exec(db, "PRAGMA foreign_keys=1;", 0, 0, 0);
|
||||
}
|
||||
sqlite3_exec(db, "BEGIN", 0, 0, 0);
|
||||
nConflict = 0;
|
||||
if( applyFlags ){
|
||||
|
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
||||
C Enhance\sthe\s"changeset"\sutility\sprogram\swith\snew\scommand-line\soptions\sfor\nthe\s"changeset\sapply"\scommand.
|
||||
D 2025-05-15T17:33:32.007
|
||||
C Add\sthe\s--enablefk\soption\sto\sthe\s"changeset\sapply"\scommand\sof\sthe\nchangeset\sprogram.
|
||||
D 2025-05-15T18:50:19.436
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@ -575,7 +575,7 @@ F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de
|
||||
F ext/rtree/util/randomshape.tcl 54ee03d0d4a1c621806f7f44d5b78d2db8fac26e0e8687c36c4bd0203b27dbff
|
||||
F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
|
||||
F ext/rtree/visual01.txt e9c2564083bcd30ec51b07f881bffbf0e12b50a3f6fced0c222c5c1d2f94ac66
|
||||
F ext/session/changeset.c 63fa39a4a6105fd796593b483bfcd513ac01b751d2bce99be2fc3a7fba589a6b
|
||||
F ext/session/changeset.c 06b585d977391d498746f002b2d5f9315d0d37888ce9551bd0cb30bfe9a4cf47
|
||||
F ext/session/changesetfuzz.c 227076ab0ae4447d742c01ee88a564da6478bbf26b65108bf8fac9cd8b0b24aa
|
||||
F ext/session/changesetfuzz1.test 15b629004e58d5ffcc852e6842a603775bb64b1ce51254831f3d12b113b616cd
|
||||
F ext/session/session1.test 5d2502922d38a1579076863827342379a1609ca6bae78c40691a2be1ed1be2aa x
|
||||
@ -2207,8 +2207,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
|
||||
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
||||
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 336ceeccc6f85bd78f4a26648af7edf9056d569a767b4120f125a02b2090a349
|
||||
R 6b2a68f7f4de7da8bbed287cac82444b
|
||||
P 428daca4f1b3e1a33b7e2f5acf114fa6136d46555e9947e2e88ea107bfec5e4f
|
||||
R 3ebb7e1a57b0644164c9806139962e47
|
||||
U drh
|
||||
Z b55344836ef42cf1c9d4fb819c337940
|
||||
Z 1a9f52a76db3b44ded26498f0dcd2e58
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
@ -1 +1 @@
|
||||
428daca4f1b3e1a33b7e2f5acf114fa6136d46555e9947e2e88ea107bfec5e4f
|
||||
e98d46d436f8d251ae0da5ee85fd856aca3b57cd48d1be31fa6ca88fe72cad00
|
||||
|
Reference in New Issue
Block a user