Changeset: c03572335d0e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c03572335d0e
Modified Files:
sql/backends/monet5/sql_upgrades.c
Branch: Aug2024
Log Message:
Add upgrade code for #7611.
diffs (50 lines):
diff --git a/sql/backends/monet5/sql_upgrades.c
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -4367,6 +4367,35 @@ sql_update_aug2024(Client c, mvc *sql, s
return err;
}
+static str
+sql_update_aug2024_sp3(Client c, mvc *sql, sql_schema *s)
+{
+ char *err;
+ res_table *output;
+ BAT *b;
+
+ (void) sql;
+ (void) s;
+ err = SQLstatementIntern(c, "SELECT id FROM sys.keys WHERE type = 3 AND
name LIKE '%_?';\n", "update", true, false, &output);
+ if (err)
+ return err;
+ b = BATdescriptor(output->cols[0].b);
+ if (b) {
+ if (BATcount(b) > 0) {
+ /* do update */
+ const char query1[] =
+ "UPDATE sys.keys k SET name = (SELECT t.name
FROM sys._tables t WHERE t.id = k.table_id) || '_' || (SELECT
group_concat(kc.name, '_' /* ORDER BY kc.nr */) FROM sys.objects kc WHERE kc.id
= k.id) || '_nndunique' WHERE k.type = 3 AND (k.table_id, k.name) IN (SELECT
t.id, t.name || '_?' FROM sys._tables t WHERE NOT t.system);\n";
+ printf("Running database upgrade commands:\n%s\n",
query1);
+ fflush(stdout);
+ err = SQLstatementIntern(c, query1, "update", true,
false, NULL);
+ }
+ BBPunfix(b->batCacheid);
+ }
+ res_table_destroy(output);
+
+ return err;
+}
+
int
SQLupgrades(Client c, mvc *m)
{
@@ -4425,6 +4454,10 @@ SQLupgrades(Client c, mvc *m)
goto handle_error;
}
+ if ((err = sql_update_aug2024_sp3(c, m, s)) != NULL) {
+ goto handle_error;
+ }
+
return 0;
handle_error:
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]