Skip to content
Snippets Groups Projects
Commit 45c0fc8b authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added storage and location tables

parent 40c125b1
No related branches found
No related tags found
No related merge requests found
Pipeline #921 passed
......@@ -33,6 +33,27 @@ CREATE TYPE NodeType AS ENUM ('container', 'data', 'link', 'structured');
CREATE TYPE LocationType AS ENUM ('async', 'portal', 'user');
CREATE TYPE StorageType AS ENUM ('cold', 'hot');
CREATE TABLE storage (
storage_id SMALLSERIAL NOT NULL,
storage_type StorageType NOT NULL,
base_path VARCHAR NOT NULL,
hostname VARCHAR NOT NULL,
PRIMARY KEY (storage_id)
);
CREATE TABLE location (
location_id SMALLSERIAL NOT NULL,
location_type LocationType NOT NULL,
storage_src_id SMALLINT default NULL,
storage_dest_id SMALLINT default NULL,
PRIMARY KEY (location_id),
FOREIGN KEY (storage_src_id) REFERENCES storage (storage_id),
FOREIGN KEY (storage_dest_id) REFERENCES storage (storage_id)
);
CREATE TABLE node (
node_id BIGSERIAL NOT NULL,
parent_path LTREE default NULL,
......@@ -67,7 +88,8 @@ CREATE TABLE node (
-- storage service mapping used to access the content of this node
-- storage_id VARCHAR,
protocols TEXT[] default NULL,
PRIMARY KEY (node_id)
PRIMARY KEY (node_id),
FOREIGN KEY (location_id) REFERENCES location (location_id)
);
......@@ -111,16 +133,6 @@ CREATE TABLE deleted_node (
);
CREATE TABLE location (
location_id SMALLSERIAL NOT NULL,
location_type LocationType NOT NULL,
storage_type StorageType NOT NULL,
base_path VARCHAR NOT NULL,
hostname VARCHAR NOT NULL,
PRIMARY KEY (location_id)
);
CREATE TABLE users (
rap_id VARCHAR NOT NULL,
user_name VARCHAR NOT NULL,
......
......@@ -2,6 +2,12 @@
Initialization test for vospace node table; for now owner_id and group_id are set equal to the rap_id
*/
INSERT INTO storage (storage_type, base_path, hostname) VALUES ('cold', '/ia2_tape_stb_01/users', 'tape-fe.ia2.inaf.it');
INSERT INTO storage (storage_type, base_path, hostname) VALUES ('hot', '/home/users', 'server');
INSERT INTO storage (storage_type, base_path, hostname) VALUES ('hot', '/home', 'localhost');
INSERT INTO location (location_type, storage_src_id, storage_dest_id) VALUES ('async', 1, 3);
-- parent_path = parent_relative_path
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id) VALUES (NULL, NULL, '', 'container', '0', '0'); -- /
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id) VALUES ('', '', 'curban', 'container', '3354', '3354'); -- /curban
......@@ -10,16 +16,13 @@ INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creat
-- parent_path <> parent_relative_path
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id, group_read, group_write) VALUES ('', NULL, 'test', 'container', '2386', '2386', '{"VOSpace.test1"}','{"VOSpace.test1"}'); -- /test
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id) VALUES ('5', '', 'f1', 'container', '2386', '2386'); -- /test/f1 (rel: /f1)
INSERT INTO node (parent_path, parent_relative_path, name, os_name, type, owner_id, creator_id) VALUES ('5.6', '6', 'f2_renamed', 'f2', 'container', '2386', '2386'); -- /test/f1/f2_renamed (rel: /f1/f2)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id) VALUES ('5.6.7', '6.7', 'f3', 'data', '2386', '2386'); -- /test/f1/f2_renamed/f3 (rel: /f1/f2/f3)
INSERT INTO node (parent_path, parent_relative_path, name, os_name, type, owner_id, creator_id, location_id) VALUES ('5.6', '6', 'f2_renamed', 'f2', 'container', '2386', '2386', 1); -- /test/f1/f2_renamed (rel: /f1/f2)
INSERT INTO node (parent_path, parent_relative_path, name, type, owner_id, creator_id, location_id) VALUES ('5.6.7', '6.7', 'f3', 'data', '2386', '2386', 1); -- /test/f1/f2_renamed/f3 (rel: /f1/f2/f3)
/*
Initialization test for location table
*/
INSERT INTO location (location_type, storage_type, base_path, hostname) VALUES ('async', 'cold', '/ia2_tape_stb_01/users', 'tape-fe.ia2.inaf.it');
INSERT INTO location (location_type, storage_type, base_path, hostname) VALUES ('async', 'hot', '/home/users', 'server');
/*
Initialization test for vospace users table
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment