Changeset: ad9b188058a3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ad9b188058a3
Modified Files:
sql/backends/monet5/sql_upgrades.c
sql/test/emptydb-previous-upgrade-chain-hge/Tests/All
sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-chain/Tests/All
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/emptydb-upgrade-chain-hge/Tests/All
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/All
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/emptydb/Tests/check.SQL.py
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
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: Dec2023
Log Message:
Fix an old upgrade error where triggers were left with bad table_id values.
diffs (truncated from 436 to 300 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
@@ -6616,17 +6616,24 @@ sql_update_dec2023_sp4(Client c, mvc *sq
b = BATdescriptor(output->cols[0].b);
if (b) {
if (BATcount(b) > 0) {
- const char query[] = "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'), ('de
scribe_table', '_tables', 'commit_action'), ('describe_table', '_tables',
'system')));\n"
+ const char query[] =
+ "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', '_tab
les', 'commit_action'), ('describe_table', '_tables', 'system')));\n"
"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_keys', '_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_fore
ignkeys', '_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'
, 'type')));\n"
- /* the "chain" upgrade check tests fail with a
duplicate
- * entry in sys.dependencies, but running this
query
- * results in NULL values in sys.dependencies
in some of
- * the upgrade tests, so it is disabled */
- /*"create temporary table d as (select distinct
* from sys.dependencies);\ndelete from sys.dependencies;\ninsert into
sys.dependencies (select * from d);\n"*/;
+ "delete from sys.triggers where table_id not in
(select id from sys._tables);\n"
+ "commit;\n";
assert(BATcount(b) == 1);
printf("Running database upgrade commands:\n%s\n",
query);
fflush(stdout);
err = SQLstatementIntern(c, query, "update", true,
false, NULL);
+ if (err == MAL_SUCCEED) {
+ const char query2[] =
+ "create temporary table d as (select
distinct * from sys.dependencies);\n"
+ "delete from sys.dependencies;\n"
+ "insert into sys.dependencies (select *
from d);\n";
+ printf("Running database upgrade
commands:\n%s\n", query2);
+ fflush(stdout);
+ err = SQLstatementIntern(c, query2, "update",
true, false, NULL);
+ }
}
BBPunfix(b->batCacheid);
}
diff --git a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/All
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/All
--- a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/All
+++ b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/All
@@ -1,2 +1,2 @@
HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_NETCDF&HAVE_SHP&PREVHGECHAINRELEMPTY&!NOWAL?upgrade
-KNOWNFAIL?check
+check
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
@@ -613,4 +613,11 @@ update sys.functions set system = true w
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);
+
diff --git a/sql/test/emptydb-previous-upgrade-chain/Tests/All
b/sql/test/emptydb-previous-upgrade-chain/Tests/All
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/All
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/All
@@ -1,2 +1,2 @@
HAVE_FITS&HAVE_GEOM&HAVE_NETCDF&HAVE_SHP&PREVCHAINRELEMPTY&!NOWAL?upgrade
-KNOWNFAIL?check
+check
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
@@ -613,4 +613,11 @@ update sys.functions set system = true w
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);
+
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
@@ -682,4 +682,11 @@ update sys.functions set system = true w
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);
+
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
@@ -613,4 +613,11 @@ update sys.functions set system = true w
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);
+
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
@@ -613,4 +613,11 @@ update sys.functions set system = true w
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);
+
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
@@ -682,4 +682,11 @@ update sys.functions set system = true w
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);
+
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/All
b/sql/test/emptydb-upgrade-chain-hge/Tests/All
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/All
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/All
@@ -1,3 +1,3 @@
HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_NETCDF&HAVE_SHP&LASTHGECHAINRELEMPTY&!NOWAL?upgrade
RELEASERUN?package
-KNOWNFAIL?check
+check
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,4 +1,11 @@
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);
+
diff --git a/sql/test/emptydb-upgrade-chain/Tests/All
b/sql/test/emptydb-upgrade-chain/Tests/All
--- a/sql/test/emptydb-upgrade-chain/Tests/All
+++ b/sql/test/emptydb-upgrade-chain/Tests/All
@@ -1,3 +1,3 @@
HAVE_FITS&HAVE_GEOM&HAVE_NETCDF&HAVE_SHP&LASTCHAINRELEMPTY&!NOWAL?upgrade
RELEASERUN&!HAVE_HGE?package
-KNOWNFAIL?check
+check
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,4 +1,11 @@
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);
+
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
@@ -72,4 +72,11 @@ update sys.functions set system = true w
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);
+
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,4 +1,11 @@
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);
+
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,4 +1,11 @@
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);
+
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
@@ -72,4 +72,11 @@ update sys.functions set system = true w
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);
+
diff --git a/sql/test/emptydb/Tests/check.SQL.py
b/sql/test/emptydb/Tests/check.SQL.py
--- a/sql/test/emptydb/Tests/check.SQL.py
+++ b/sql/test/emptydb/Tests/check.SQL.py
@@ -590,7 +590,7 @@ if check:
stableout = 'check.stable.out.32bit' if os.getenv('TST_BITS', '') ==
'32bit' else 'check.stable.out.int128' if os.getenv('HAVE_HGE') else
'check.stable.out'
stable = open(stableout).readlines()
import difflib
- for line in difflib.unified_diff(stable, output, fromfile='test',
tofile=stableout):
+ for line in difflib.unified_diff([x for x in stable if not
x.startswith('%')], [x for x in output if not x.startswith('%')],
fromfile='test', tofile=stableout):
sys.stderr.write(line)
xit = 1
elif approve:
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
@@ -613,4 +613,11 @@ update sys.functions set system = true w
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);
+
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
@@ -613,4 +613,11 @@ update sys.functions set system = true w
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);
+
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
@@ -682,4 +682,11 @@ update sys.functions set system = true w
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);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]