Changeset: 1cfacaf6ecd9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1cfacaf6ecd9
Modified Files:
sql/backends/monet5/sql_upgrades.c
Branch: default
Log Message:
Merge with Apr2019 branch.
diffs (275 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
@@ -179,7 +179,7 @@ sql_fix_system_tables(Client c, mvc *sql
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -256,7 +256,7 @@ sql_update_hugeint(Client c, mvc *sql)
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -308,7 +308,7 @@ sql_update_geom(Client c, mvc *sql, int
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -401,7 +401,7 @@ sql_update_jul2017(Client c, mvc *sql)
"update sys._tables set system = true where name in
('function_languages', 'function_types', 'index_types', 'key_types',
'privilege_codes') and schema_id = (select id from sys.schemas where name =
'sys');\n");
/* 75_shp.sql, if shp extension available */
- err = SQLstatementIntern(c, &q1, "update", 1, 0, &output);
+ err = SQLstatementIntern(c, &q1, "update", true, false, &output);
if (err) {
GDKfree(buf);
return err;
@@ -424,7 +424,7 @@ sql_update_jul2017(Client c, mvc *sql)
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -437,7 +437,7 @@ sql_update_jul2017_sp2(Client c)
res_table *output;
BAT *b;
- err = SQLstatementIntern(c, &qry, "update", 1, 0, &output);
+ err = SQLstatementIntern(c, &qry, "update", true, false, &output);
if (err) {
return err;
}
@@ -468,7 +468,7 @@ sql_update_jul2017_sp2(Client c)
pos += snprintf(buf + pos, bufsize - pos, "commit;\n");
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true,
false, NULL);
GDKfree(buf);
}
BBPunfix(b->batCacheid);
@@ -521,7 +521,7 @@ sql_update_jul2017_sp3(Client c, mvc *sq
pos += snprintf(buf + pos, bufsize - pos, "commit;\n");
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
}
return err;
@@ -561,7 +561,7 @@ sql_update_mar2018_geom(Client c, mvc *s
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -578,7 +578,7 @@ sql_update_mar2018(Client c, mvc *sql)
BAT *b;
buf = "select id from sys.functions where name = 'quarter' and
schema_id = (select id from sys.schemas where name = 'sys');\n";
- err = SQLstatementIntern(c, &buf, "update", 1, 0, &output);
+ err = SQLstatementIntern(c, &buf, "update", true, false, &output);
if (err)
return err;
b = BATdescriptor(output->cols[0].b);
@@ -1032,7 +1032,7 @@ sql_update_mar2018(Client c, mvc *sql)
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
if (err == MAL_SUCCEED) {
schema = stack_get_string(sql, "current_schema");
pos = snprintf(buf, bufsize, "set schema \"sys\";\n"
@@ -1044,7 +1044,7 @@ sql_update_mar2018(Client c, mvc *sql)
pos += snprintf(buf + pos, bufsize - pos, "commit;\n");
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
}
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
@@ -1081,7 +1081,7 @@ sql_update_mar2018_netcdf(Client c, mvc
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -1160,7 +1160,7 @@ sql_update_mar2018_samtools(Client c, mv
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -1188,7 +1188,7 @@ sql_update_mar2018_sp1(Client c, mvc *sq
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -1222,7 +1222,7 @@ sql_update_remote_tables(Client c, mvc *
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "create function", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "create function", true, false, NULL);
if (err)
goto bailout;
@@ -1234,7 +1234,7 @@ sql_update_remote_tables(Client c, mvc *
assert(pos < bufsize);
- err = SQLstatementIntern(c, &buf, "get remote table names", 1, 0,
&output);
+ err = SQLstatementIntern(c, &buf, "get remote table names", true,
false, &output);
if (err)
goto bailout;
@@ -1350,7 +1350,7 @@ sql_replace_Mar2018_ids_view(Client c, m
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -1373,7 +1373,7 @@ sql_update_gsl(Client c, mvc *sql)
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -1403,7 +1403,7 @@ sql_update_aug2018(Client c, mvc *sql)
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
if (err)
goto bailout;
err = sql_update_remote_tables(c, sql);
@@ -1429,7 +1429,7 @@ sql_update_aug2018_sp2(Client c, mvc *sq
/* required update for changeset 23e1231ada99 */
pos += snprintf(buf + pos, bufsize - pos,
"select id from sys.functions where language <> 0 and
not side_effect and type <> 4 and (type = 2 or (language <> 2 and id not in
(select func_id from sys.args where inout = 1)));\n");
- err = SQLstatementIntern(c, &buf, "update", 1, 0, &output);
+ err = SQLstatementIntern(c, &buf, "update", true, false, &output);
if (err) {
GDKfree(buf);
return err;
@@ -1448,7 +1448,7 @@ sql_update_aug2018_sp2(Client c, mvc *sq
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0,
&output);
+ err = SQLstatementIntern(c, &buf, "update", true,
false, NULL);
}
BBPunfix(b->batCacheid);
}
@@ -1493,7 +1493,7 @@ sql_drop_functions_dependencies_Xs_on_Ys
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -1584,7 +1584,7 @@ sql_update_apr2019(Client c, mvc *sql)
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
if (err == MAL_SUCCEED) {
schema = stack_get_string(sql, "current_schema");
pos = snprintf(buf, bufsize, "set schema \"sys\";\n"
@@ -1594,7 +1594,7 @@ sql_update_apr2019(Client c, mvc *sql)
pos += snprintf(buf + pos, bufsize - pos, "commit;\n");
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
}
GDKfree(buf);
@@ -1917,7 +1917,24 @@ sql_update_storagemodel(Client c, mvc *s
assert(pos < bufsize);
printf("Running database upgrade commands:\n%s\n", buf);
- err = SQLstatementIntern(c, &buf, "update", 1, 0, NULL);
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
+ GDKfree(buf);
+ return err; /* usually MAL_SUCCEED */
+}
+
+static str
+sql_update_apr2019_sp1(Client c)
+{
+ size_t bufsize = 1000, pos = 0;
+ char *buf, *err;
+
+ if ((buf = GDKmalloc(bufsize)) == NULL)
+ throw(SQL, "sql_update_aug2018_sp2", SQLSTATE(HY001)
MAL_MALLOC_FAIL);
+
+ /* required update for changeset 23e1231ada99 */
+ pos += snprintf(buf + pos, bufsize - pos,
+ "insert into dependencies (select c.id as id, k.id as
depend_id, dt.dependency_type_id as depend_type from sys.dependency_types dt,
sys._columns c, sys.keys k, sys.objects o where k.id = o.id and o.name = c.name
and c.table_id = k.table_id and dt.dependency_type_name = 'KEY' and k.type = 1
and not exists (select d.id from sys.dependencies d where d.id = c.id and
d.depend_id = k.id and d.depend_type = dt.dependency_type_id));\n");
+ err = SQLstatementIntern(c, &buf, "update", true, false, NULL);
GDKfree(buf);
return err; /* usually MAL_SUCCEED */
}
@@ -2100,7 +2117,7 @@ SQLupgrades(Client c, mvc *m)
/* determine if sys.ids needs to be updated (only the version
of Mar2018) */
char * qry = "select id from sys._tables where name = 'ids' and
query like '% tmp.keys k join sys._tables% tmp.idxs i join sys._tables%
tmp.triggers g join sys._tables% ';";
res_table *output = NULL;
- err = SQLstatementIntern(c, &qry, "update", 1, 0, &output);
+ err = SQLstatementIntern(c, &qry, "update", true, false,
&output);
if (err) {
fprintf(stderr, "!%s\n", err);
freeException(err);
@@ -2197,6 +2214,11 @@ SQLupgrades(Client c, mvc *m)
}
}
+ if ((err = sql_update_apr2019_sp1(c)) != NULL) {
+ fprintf(stderr, "!%s\n", err);
+ freeException(err);
+ }
+
if ((err = sql_update_default(c, m)) != NULL) {
fprintf(stderr, "!%s\n", err);
freeException(err);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list