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]

Reply via email to