Changeset: 43b1645251ff for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/43b1645251ff
Modified Files:
sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64
sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64.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.32bit
sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.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.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.32bit
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.32bit
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.32bit
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.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:
Approve upgrade outputs for new system table sys.fkey_actions and view sys.fkeys
diffs (truncated from 1102 to 300 lines):
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
@@ -5756,4 +5756,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
diff --git
a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
---
a/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
+++
b/sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
@@ -5756,4 +5756,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
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
@@ -5161,4 +5161,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
diff --git
a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.32bit
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.32bit
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.32bit
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.32bit
@@ -5161,4 +5161,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
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
@@ -5827,4 +5827,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
diff --git
a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64
--- a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64
+++ b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64
@@ -5161,4 +5161,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
diff --git
a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
---
a/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
+++
b/sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
@@ -5827,4 +5827,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
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
@@ -5756,4 +5756,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
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
@@ -5161,4 +5161,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
diff --git a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.32bit
b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.32bit
--- a/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.32bit
+++ b/sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.32bit
@@ -5161,4 +5161,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
+INSERT INTO sys.fkey_actions (action_id, action_name) VALUES
+ (0, 'NO ACTION'),
+ (1, 'CASCADE'),
+ (2, 'RESTRICT'),
+ (3, 'SET NULL'),
+ (4, 'SET DEFAULT');
+ALTER TABLE sys.fkey_actions SET READ ONLY;
+GRANT SELECT ON sys.fkey_actions TO PUBLIC;
+CREATE VIEW sys.fkeys AS
+SELECT id, table_id, type, name, rkey, update_action_id, upd.action_name as
update_action, delete_action_id, del.action_name as delete_action FROM (
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM sys.keys WHERE type = 2
+ UNION ALL
+ SELECT id, table_id, type, name, rkey, cast((("action" >> 8) & 255) as
smallint) as update_action_id, cast(("action" & 255) as smallint) AS
delete_action_id FROM tmp.keys WHERE type = 2
+) AS fks
+JOIN sys.fkey_actions upd ON fks.update_action_id = upd.action_id
+JOIN sys.fkey_actions del ON fks.delete_action_id = del.action_id;
+GRANT SELECT ON sys.fkeys TO PUBLIC;
+update sys._tables set system = true where name in ('fkey_actions', 'fkeys')
AND schema_id = 2000;
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
@@ -5827,4 +5827,25 @@ create procedure sys.vacuum(sname string
create procedure sys.stop_vacuum(sname string, tname string, cname string)
external name sql.stop_vacuum;
update sys.functions set system = true where system <> true and name in
('vacuum', 'stop_vacuum') and schema_id = 2000 and type = 2;
+CREATE TABLE sys.fkey_actions (
+ action_id SMALLINT NOT NULL PRIMARY KEY,
+ action_name VARCHAR(15) NOT NULL);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list