Changeset: 7de70b3e0520 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7de70b3e0520
Modified Files:
sql/backends/monet5/sql_upgrades.c
sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out
sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128
Branch: Dec2025
Log Message:
Fix upgrade from older versions.
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
@@ -1401,9 +1401,11 @@ sql_update_jan2022(Client c, mvc *sql)
"create function
sys.current_sessionid() returns int\n"
"external name
clients.current_sessionid;\n"
"grant execute on function
sys.current_sessionid to public;\n"
- "create function
sys.optimizer_stats()\n"
- " returns table (optname string, count
int, timing bigint)\n"
- " external name
inspect.optimizer_stats;\n"
+/* function sys.optimizer_stats is dropped again later and MAL function
+ * inspect.optimizer_stats no longer exists */
+// "create function
sys.optimizer_stats()\n"
+// " returns table (optname string, count
int, timing bigint)\n"
+// " external name
inspect.optimizer_stats;\n"
"create function sys.querycache()\n"
" returns table (query string, count
int)\n"
" external name sql.dump_cache;\n"
@@ -1457,7 +1459,9 @@ sql_update_jan2022(Client c, mvc *sql)
"external name sql.copy_rejects;\n"
"grant execute on function rejects to
public;\n"
"create view sys.rejects as select *
from sys.rejects();\n"
- "create function profiler.getlimit()
returns integer external name profiler.getlimit;\n"
+/* function profiler.getlimit is dropped later and MAL function
+ * profiler.getlimit no longer exists */
+// "create function profiler.getlimit()
returns integer external name profiler.getlimit;\n"
"create function sys.\"storage\"()\n"
"returns table (\n"
" \"schema\" varchar(1024),\n"
@@ -5161,7 +5165,7 @@ sql_update_dec2025(Client c, mvc *sql, s
return err;
if (sql_bind_func(sql, "sys", "optimizer_stats", NULL, NULL, F_UNION,
true, true)) {
- static const char query[] = "drop function sys.optimizer_stats
cascade;\n";
+ static const char query[] = "drop function if exists
sys.optimizer_stats cascade;\n";
printf("Running database upgrade commands:\n%s\n", query);
err = SQLstatementIntern(c, query, "update", true, false, NULL);
if (err)
@@ -5175,7 +5179,7 @@ sql_update_dec2025(Client c, mvc *sql, s
static const char query[] = "drop procedure profiler.start
cascade;\n"
"drop procedure profiler.stop cascade;\n"
"drop procedure profiler.setlimit cascade;\n"
- "drop function profiler.getlimit cascade;\n"
+ "drop function if exists profiler.getlimit cascade;\n"
"drop procedure profiler.setheartbeat cascade;\n";
printf("Running database upgrade commands:\n%s\n", query);
err = SQLstatementIntern(c, query, "update", true, false, NULL);
diff --git
a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
---
a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -207,13 +207,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
@@ -207,13 +207,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git
a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -292,13 +292,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git
a/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -209,13 +209,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
--- a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out
@@ -209,13 +209,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
@@ -292,13 +292,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git
a/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -207,13 +207,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git a/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
b/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
@@ -207,13 +207,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git
a/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
b/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -292,13 +292,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git
a/sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
b/sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -209,13 +209,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git a/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out
b/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out
--- a/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out
@@ -209,13 +209,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
diff --git a/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128
b/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128
@@ -292,13 +292,13 @@ update sys.functions set system = true w
update sys._tables set system = true where not system and schema_id = 2000 and
name in ('ids', 'dependencies_vw', 'describe_user_defined_types',
'dump_user_defined_types', 'storagemodel', 'tablestoragemodel');
Running database upgrade commands:
-drop function sys.optimizer_stats cascade;
+drop function if exists sys.optimizer_stats cascade;
Running database upgrade commands:
drop procedure profiler.start cascade;
drop procedure profiler.stop cascade;
drop procedure profiler.setlimit cascade;
-drop function profiler.getlimit cascade;
+drop function if exists profiler.getlimit cascade;
drop procedure profiler.setheartbeat cascade;
Running database upgrade commands:
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]