Changeset: 308f38b687f5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/308f38b687f5 Modified Files: gdk/gdk_bbp.c sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit Branch: default Log Message:
Fix and approve upgrade. After the hashash bit was removed from an empty string bat, the tail file does not exist, so we shouldn't complain about it missing. diffs (86 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -1267,10 +1267,13 @@ movestrbats(void) struct stat st; int ret = -1; if (oldpath != NULL && newpath != NULL) { - if (MT_stat(oldpath, &st) == -1 && MT_stat(newpath, &st) == 0) - ret = 0; /* new exists, old doesn't: that's ok */ - else + if (MT_stat(oldpath, &st) != 0 && (b->batCount == 0 || MT_stat(newpath, &st) == 0)) + ret = 0; /* old doesn't exist, but new does or bat is empty: that's ok */ + else { ret = MT_rename(oldpath, newpath); + if (ret < 0) + GDKsyserror("rename %s %s\n", oldpath, newpath); + } } GDKfree(oldpath); GDKfree(newpath); diff --git a/sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit b/sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit --- a/sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit +++ b/sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit @@ -2738,7 +2738,7 @@ insert into sys.functions values (737, ' insert into sys.args values (9875, 737, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (9876, 737, 'arg_1', 'date', 0, 0, 1, 1); insert into sys.functions values (738, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9877, 738, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9877, 738, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9878, 738, 'arg_1', 'date', 0, 0, 1, 1); insert into sys.functions values (739, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (9879, 739, 'res_0', 'int', 32, 0, 0, 0); @@ -2750,7 +2750,7 @@ insert into sys.functions values (741, ' insert into sys.args values (9883, 741, 'res_0', 'decimal', 9, 6, 0, 0); insert into sys.args values (9884, 741, 'arg_1', 'time', 7, 0, 1, 1); insert into sys.functions values (742, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9885, 742, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9885, 742, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9886, 742, 'arg_1', 'time', 7, 0, 1, 1); insert into sys.functions values (743, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (9887, 743, 'res_0', 'int', 32, 0, 0, 0); @@ -2762,7 +2762,7 @@ insert into sys.functions values (745, ' insert into sys.args values (9891, 745, 'res_0', 'decimal', 9, 6, 0, 0); insert into sys.args values (9892, 745, 'arg_1', 'timetz', 7, 0, 1, 1); insert into sys.functions values (746, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9893, 746, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9893, 746, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9894, 746, 'arg_1', 'timetz', 7, 0, 1, 1); insert into sys.functions values (747, 'century', 'century', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (9895, 747, 'res_0', 'int', 32, 0, 0, 0); @@ -2792,7 +2792,7 @@ insert into sys.functions values (755, ' insert into sys.args values (9911, 755, 'res_0', 'decimal', 9, 6, 0, 0); insert into sys.args values (9912, 755, 'arg_1', 'timestamp', 7, 0, 1, 1); insert into sys.functions values (756, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9913, 756, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9913, 756, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9914, 756, 'arg_1', 'timestamp', 7, 0, 1, 1); insert into sys.functions values (757, 'century', 'century', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (9915, 757, 'res_0', 'int', 32, 0, 0, 0); @@ -2822,7 +2822,7 @@ insert into sys.functions values (765, ' insert into sys.args values (9931, 765, 'res_0', 'decimal', 9, 6, 0, 0); insert into sys.args values (9932, 765, 'arg_1', 'timestamptz', 7, 0, 1, 1); insert into sys.functions values (766, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9933, 766, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9933, 766, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9934, 766, 'arg_1', 'timestamptz', 7, 0, 1, 1); insert into sys.functions values (767, 'year', 'year', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (9935, 767, 'res_0', 'int', 32, 0, 0, 0); @@ -2843,7 +2843,7 @@ insert into sys.functions values (772, ' insert into sys.args values (9945, 772, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (9946, 772, 'arg_1', 'day_interval', 4, 0, 1, 1); insert into sys.functions values (773, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9947, 773, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9947, 773, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9948, 773, 'arg_1', 'day_interval', 4, 0, 1, 1); insert into sys.functions values (774, 'day', 'day', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (9949, 774, 'res_0', 'bigint', 64, 0, 0, 0); @@ -2858,7 +2858,7 @@ insert into sys.functions values (777, ' insert into sys.args values (9955, 777, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (9956, 777, 'arg_1', 'sec_interval', 13, 0, 1, 1); insert into sys.functions values (778, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (9957, 778, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (9957, 778, 'res_0', 'decimal', 18, 3, 0, 0); insert into sys.args values (9958, 778, 'arg_1', 'sec_interval', 13, 0, 1, 1); insert into sys.functions values (779, 'next_value_for', 'next_value', 'sql', 0, 1, true, false, false, 2000, true, true); insert into sys.args values (9959, 779, 'res_0', 'bigint', 64, 0, 0, 0); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list