Changeset: 3a168604378c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3a168604378c
Modified Files:
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:

Merge with Aug2024 branch.


diffs (truncated from 322 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -829,3 +829,4 @@ 9a694c41042503a22d6c92aeab5bc4ca1912b62e
 9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_SP3_release
 e1e9e22bf3d734dc50b56151c657a57c18f56561 Aug2024_root
 cde7d8f7c99540a8c95856df052a9f123b0c1643 Dec2023_11
+cde7d8f7c99540a8c95856df052a9f123b0c1643 Dec2023_SP4_release
diff --git a/sql/ChangeLog.Aug2024 b/sql/ChangeLog.Aug2024
--- a/sql/ChangeLog.Aug2024
+++ b/sql/ChangeLog.Aug2024
@@ -8,6 +8,8 @@
 * Wed May 29 2024 Joeri van Ruth <joeri.van.r...@monetdbsolutions.com>
 - Extended view sys.sessions and function sys.sessions() with new columns:
   language, peer, hostname, application, client, clientpid and remark.
+- All users now have SELECT privilege on view sys.sessions, but non-admin
+  users only see their own sessions.
 - Added procedure sys.setclientinfo(property string, value string)
   to allow the client application to set a specific client info property.
 - Added system table sys.clientinfo_properties that lists the supported
diff --git a/sql/backends/monet5/UDF/pyapi3/conversion3.c 
b/sql/backends/monet5/UDF/pyapi3/conversion3.c
--- a/sql/backends/monet5/UDF/pyapi3/conversion3.c
+++ b/sql/backends/monet5/UDF/pyapi3/conversion3.c
@@ -787,6 +787,10 @@ wrapup:
        return NULL;
 }
 
+#ifndef NUMPY_CORE_INCLUDE_NUMPY_NPY_2_COMPAT_H_
+#define PyDataType_ELSIZE(x) (x)->elsize
+#endif
+
 str
 PyObject_GetReturnValues(PyObject *obj, PyReturn *ret)
 {
@@ -802,7 +806,7 @@ PyObject_GetReturnValues(PyObject *obj, 
        }
 
        ret->result_type = PyArray_DESCR((PyArrayObject 
*)ret->numpy_array)->type_num; // We read the result type from the resulting 
array
-       ret->memory_size = PyArray_DESCR((PyArrayObject 
*)ret->numpy_array)->elsize;
+       ret->memory_size = PyDataType_ELSIZE(PyArray_DESCR((PyArrayObject 
*)ret->numpy_array));
        ret->count = PyArray_DIMS((PyArrayObject *)ret->numpy_array)[0];
        ret->array_data = PyArray_DATA((PyArrayObject *)ret->numpy_array);
        ret->mask_data = NULL;
@@ -891,7 +895,7 @@ PyObject_PreprocessObject(PyObject *pRes
                        ret->array_data = PyArray_DATA((PyArrayObject 
*)ret->numpy_array);
                        if (ret->numpy_mask != NULL)
                                ret->mask_data = PyArray_DATA((PyArrayObject 
*)ret->numpy_mask);
-                       ret->memory_size = PyArray_DESCR((PyArrayObject 
*)ret->numpy_array)->elsize;
+                       ret->memory_size = 
PyDataType_ELSIZE(PyArray_DESCR((PyArrayObject *)ret->numpy_array));
                } else {
                        msg = PyObject_GetReturnValues(pColO, ret);
                        Py_DECREF(pColO);
diff --git a/sql/test/Tests/hot_snapshot.py b/sql/test/Tests/hot_snapshot.py
--- a/sql/test/Tests/hot_snapshot.py
+++ b/sql/test/Tests/hot_snapshot.py
@@ -110,7 +110,13 @@ def test_snapshot(z_extension, expected_
 
         # and extract the tar file
         with tarfile.open(fileobj=f) as tar:
-            tar.extractall(dbfarm)
+            try:
+                tar.extraction_filter
+            except AttributeError:
+                # pre 3.12 Python
+                tar.extractall(dbfarm)
+            else:
+                tar.extractall(dbfarm, filter='data')
 
         f.close()
         # and restart the server
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out 
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -70,17 +70,6 @@ update sys.functions set system = true w
 update sys.functions set system = true where system <> true and name = 
'filter' and schema_id = (select id from sys.schemas where name = 'json') and 
type = 1;
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out 
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
@@ -70,17 +70,6 @@ update sys.functions set system = true w
 update sys.functions set system = true where system <> true and name = 
'filter' and schema_id = (select id from sys.schemas where name = 'json') and 
type = 1;
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 
b/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out 
b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 
b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -70,17 +70,6 @@ update sys.functions set system = true w
 update sys.functions set system = true where system <> true and name = 
'filter' and schema_id = (select id from sys.schemas where name = 'json') and 
type = 1;
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 
b/sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
 update sys._columns set type_digits = 31 where type = 'int' and type_digits <> 
31;
diff --git a/sql/test/testdb-upgrade/Tests/upgrade.stable.out 
b/sql/test/testdb-upgrade/Tests/upgrade.stable.out
--- a/sql/test/testdb-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/testdb-upgrade/Tests/upgrade.stable.out
@@ -1,17 +1,6 @@
 Running database upgrade commands to update system tables.
 
 Running database upgrade commands:
-delete from sys.dependencies where (id, depend_id) in (select c.id, f.id from 
sys.functions f, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and f.id = d.depend_id and c.id = d.id and f.schema_id = 2000 
and t.schema_id = 2000 and (f.name, t.name, c.name) in (values 
('describe_columns', '_columns', 'storage'), ('describe_function', 
'function_languages', 'language_name'), ('describe_function', 'function_types', 
'function_type_name'), ('describe_function', 'functions', 'func'), 
('describe_function', 'functions', 'mod'), ('describe_function', 'functions', 
'semantics'), ('describe_function', 'functions', 'side_effect'), 
('describe_function', 'functions', 'system'), ('describe_function', 
'functions', 'vararg'), ('describe_function', 'functions', 'varres'), 
('describe_function', 'schemas', 'authorization'), ('describe_function', 
'schemas', 'owner'), ('describe_function', 'schemas', 'system'), 
('describe_table', '_tables', 'access'), ('describe_table', '_tables',
  'commit_action'), ('describe_table', '_tables', 'system')));
-delete from sys.dependencies where (id, depend_id) in (select c.id, v.id from 
sys._tables v, sys._tables t, sys._columns c, sys.dependencies d where 
c.table_id = t.id and v.id = d.depend_id and c.id = d.id and v.schema_id = 2000 
and t.schema_id = 2000 and (v.name, t.name, c.name) in (values 
('dependency_columns_on_indexes', '_columns', 'name'), 
('dependency_columns_on_indexes', '_columns', 'number'), 
('dependency_columns_on_indexes', '_columns', 'storage'), 
('dependency_columns_on_indexes', '_columns', 'table_id'), 
('dependency_columns_on_indexes', '_columns', 'type_digits'), 
('dependency_columns_on_indexes', 'keys', 'id'), 
('dependency_columns_on_indexes', 'triggers', 'name'), 
('dependency_columns_on_indexes', 'triggers', 'orientation'), 
('dependency_columns_on_indexes', 'triggers', 'table_id'), 
('dependency_columns_on_indexes', 'triggers', 'time'), 
('dependency_columns_on_keys', '_columns', 'name'), 
('dependency_columns_on_keys', '_columns', 'table_id'), 
('dependency_columns_on_ke
 ys', '_columns', 'type'), ('dependency_columns_on_keys', '_columns', 
'type_digits'), ('dependency_columns_on_keys', '_columns', 'type_scale'), 
('dependency_columns_on_keys', 'triggers', 'name'), 
('dependency_columns_on_keys', 'triggers', 'orientation'), 
('dependency_columns_on_keys', 'triggers', 'table_id'), 
('dependency_columns_on_keys', 'triggers', 'time'), 
('dependency_columns_on_triggers', 'keys', 'name'), 
('dependency_columns_on_triggers', 'keys', 'rkey'), 
('dependency_columns_on_triggers', 'keys', 'type'), 
('dependency_functions_on_triggers', 'keys', 'action'), 
('dependency_functions_on_triggers', 'keys', 'name'), 
('dependency_functions_on_triggers', 'keys', 'rkey'), 
('dependency_functions_on_triggers', 'keys', 'type'), 
('dependency_keys_on_foreignkeys', '_columns', 'default'), 
('dependency_keys_on_foreignkeys', '_columns', 'name'), 
('dependency_keys_on_foreignkeys', '_columns', 'table_id'), 
('dependency_keys_on_foreignkeys', '_columns', 'type'), 
('dependency_keys_on_foreignke
 ys', '_columns', 'type_digits'), ('dependency_keys_on_foreignkeys', 
'_columns', 'type_scale'), ('dependency_tables_on_foreignkeys', '_columns', 
'default'), ('dependency_tables_on_foreignkeys', '_columns', 'name'), 
('dependency_tables_on_foreignkeys', '_columns', 'table_id'), 
('dependency_tables_on_foreignkeys', '_columns', 'type'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_digits'), 
('dependency_tables_on_foreignkeys', '_columns', 'type_scale'), 
('dependency_tables_on_indexes', '_columns', 'name'), 
('dependency_tables_on_indexes', '_columns', 'number'), 
('dependency_tables_on_indexes', '_columns', 'storage'), 
('dependency_tables_on_indexes', '_columns', 'table_id'), 
('dependency_tables_on_indexes', '_columns', 'type_digits'), 
('dependency_tables_on_indexes', 'keys', 'id'), 
('dependency_tables_on_triggers', 'keys', 'action'), 
('dependency_tables_on_triggers', 'keys', 'name'), 
('dependency_tables_on_triggers', 'keys', 'rkey'), 
('dependency_tables_on_triggers', 'keys', 'ty
 pe')));
-delete from sys.triggers where table_id not in (select id from sys._tables);
-commit;
-
-Running database upgrade commands:
-create temporary table d as (select distinct * from sys.dependencies);
-delete from sys.dependencies;
-insert into sys.dependencies (select * from d);
-
-Running database upgrade commands:
 update sys._columns set type_digits = 7 where type = 'tinyint' and type_digits 
<> 7;
 update sys._columns set type_digits = 15 where type = 'smallint' and 
type_digits <> 15;
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to