Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
V
vospace-file-catalog
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
VOSpace INAF
vospace-file-catalog
Commits
b983d3d6
Commit
b983d3d6
authored
3 years ago
by
Nicola Fulvio Calabria
Browse files
Options
Downloads
Patches
Plain Diff
removed references to relative_path, os_name and portal storage and location type
parent
ff6ff883
No related branches found
No related tags found
No related merge requests found
Pipeline
#8796
passed
3 years ago
Stage: dockerize
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
00-tables.sql
+2
-6
2 additions, 6 deletions
00-tables.sql
01-paths-indexes.sql
+1
-4
1 addition, 4 deletions
01-paths-indexes.sql
02-views.sql
+1
-26
1 addition, 26 deletions
02-views.sql
03-other-functions.sql
+0
-18
0 additions, 18 deletions
03-other-functions.sql
with
4 additions
and
54 deletions
00-tables.sql
+
2
−
6
View file @
b983d3d6
...
@@ -8,8 +8,8 @@ CREATE EXTENSION IF NOT EXISTS ltree;
...
@@ -8,8 +8,8 @@ CREATE EXTENSION IF NOT EXISTS ltree;
CREATE
TYPE
NodeType
AS
ENUM
(
'container'
,
'data'
,
'link'
,
'structured'
);
CREATE
TYPE
NodeType
AS
ENUM
(
'container'
,
'data'
,
'link'
,
'structured'
);
CREATE
TYPE
LocationType
AS
ENUM
(
'async'
,
'portal'
,
'user'
);
CREATE
TYPE
LocationType
AS
ENUM
(
'async'
,
'user'
);
CREATE
TYPE
StorageType
AS
ENUM
(
'cold'
,
'hot'
,
'local'
,
'portal'
);
CREATE
TYPE
StorageType
AS
ENUM
(
'cold'
,
'hot'
,
'local'
);
CREATE
TABLE
linked_service
(
CREATE
TABLE
linked_service
(
service_id
SERIAL
NOT
NULL
,
service_id
SERIAL
NOT
NULL
,
...
@@ -40,10 +40,8 @@ CREATE TABLE location (
...
@@ -40,10 +40,8 @@ CREATE TABLE location (
CREATE
TABLE
node
(
CREATE
TABLE
node
(
node_id
BIGSERIAL
NOT
NULL
,
node_id
BIGSERIAL
NOT
NULL
,
parent_path
LTREE
default
NULL
,
parent_path
LTREE
default
NULL
,
parent_relative_path
LTREE
default
NULL
,
fs_path
VARCHAR
default
NULL
,
fs_path
VARCHAR
default
NULL
,
name
VARCHAR
NOT
NULL
,
name
VARCHAR
NOT
NULL
,
os_name
VARCHAR
default
NULL
,
tstamp_wrapper_dir
VARCHAR
default
NULL
,
tstamp_wrapper_dir
VARCHAR
default
NULL
,
type
NodeType
NOT
NULL
,
type
NodeType
NOT
NULL
,
location_id
SMALLINT
default
NULL
,
location_id
SMALLINT
default
NULL
,
...
@@ -81,10 +79,8 @@ CREATE INDEX file_name_idx ON node USING btree(name);
...
@@ -81,10 +79,8 @@ CREATE INDEX file_name_idx ON node USING btree(name);
CREATE
TABLE
deleted_node
(
CREATE
TABLE
deleted_node
(
node_id
BIGSERIAL
NOT
NULL
,
node_id
BIGSERIAL
NOT
NULL
,
parent_path
LTREE
default
NULL
,
parent_path
LTREE
default
NULL
,
parent_relative_path
LTREE
default
NULL
,
fs_path
VARCHAR
default
NULL
,
fs_path
VARCHAR
default
NULL
,
name
VARCHAR
NOT
NULL
,
name
VARCHAR
NOT
NULL
,
os_name
VARCHAR
default
NULL
,
tstamp_wrapper_dir
VARCHAR
default
NULL
,
tstamp_wrapper_dir
VARCHAR
default
NULL
,
type
NodeType
NOT
NULL
,
type
NodeType
NOT
NULL
,
location_id
SMALLINT
default
NULL
,
location_id
SMALLINT
default
NULL
,
...
...
This diff is collapsed.
Click to expand it.
01-paths-indexes.sql
+
1
−
4
View file @
b983d3d6
...
@@ -33,11 +33,8 @@ ALTER TABLE node ADD COLUMN path ltree GENERATED ALWAYS AS (path(parent_path, no
...
@@ -33,11 +33,8 @@ ALTER TABLE node ADD COLUMN path ltree GENERATED ALWAYS AS (path(parent_path, no
CREATE
INDEX
file_path_gist_idx
ON
node
USING
GIST
(
path
);
CREATE
INDEX
file_path_gist_idx
ON
node
USING
GIST
(
path
);
CREATE
UNIQUE
INDEX
file_path_idx
ON
node
USING
btree
(
path
);
CREATE
UNIQUE
INDEX
file_path_idx
ON
node
USING
btree
(
path
);
ALTER
TABLE
node
ADD
COLUMN
relative_path
ltree
GENERATED
ALWAYS
AS
(
path
(
parent_relative_path
,
node_id
))
STORED
;
CREATE
INDEX
file_rel_path_gist_idx
ON
node
USING
GIST
(
relative_path
);
ALTER
TABLE
node
ADD
CONSTRAINT
unique_path
UNIQUE
(
parent_path
,
name
);
ALTER
TABLE
node
ADD
CONSTRAINT
unique_path
UNIQUE
(
parent_path
,
name
);
ALTER
TABLE
node
ADD
CONSTRAINT
fk_parent_path
FOREIGN
KEY
(
parent_path
)
REFERENCES
node
(
path
);
ALTER
TABLE
node
ADD
CONSTRAINT
fk_parent_path
FOREIGN
KEY
(
parent_path
)
REFERENCES
node
(
path
);
-- Create root node
-- Create root node
INSERT
INTO
node
(
parent_path
,
parent_relative_path
,
name
,
type
,
creator_id
,
is_public
)
VALUES
(
NULL
,
NULL
,
''
,
'container'
,
'0'
,
true
);
INSERT
INTO
node
(
parent_path
,
name
,
type
,
creator_id
,
is_public
)
VALUES
(
NULL
,
''
,
'container'
,
'0'
,
true
);
This diff is collapsed.
Click to expand it.
02-views.sql
+
1
−
26
View file @
b983d3d6
...
@@ -4,21 +4,6 @@
...
@@ -4,21 +4,6 @@
* SPDX-License-Identifier: GPL-3.0-or-later
* SPDX-License-Identifier: GPL-3.0-or-later
*/
*/
-- View that maps node_id to os_path (relative path of file on disk)
CREATE
VIEW
node_os_path
AS
WITH
RECURSIVE
r_os_path
AS
(
SELECT
node_id
,
relative_path
,
COALESCE
(
os_name
,
name
)
AS
os_path
FROM
node
WHERE
name
=
''
UNION
ALL
SELECT
n
.
node_id
,
n
.
relative_path
,
p
.
os_path
||
'/'
||
COALESCE
(
os_name
,
name
)
FROM
node
n
JOIN
r_os_path
p
ON
p
.
relative_path
=
n
.
parent_relative_path
WHERE
n
.
parent_relative_path
IS
NOT
NULL
)
SELECT
node_id
,
(
CASE
WHEN
os_path
=
''
THEN
'/'
ELSE
os_path
END
)
AS
os_path
FROM
r_os_path
;
-- View that maps node_id to vos_path (path in VOSpace)
-- View that maps node_id to vos_path (path in VOSpace)
CREATE
VIEW
node_vos_path
AS
CREATE
VIEW
node_vos_path
AS
...
@@ -32,13 +17,3 @@ WITH RECURSIVE r_vos_path AS (
...
@@ -32,13 +17,3 @@ WITH RECURSIVE r_vos_path AS (
JOIN
r_vos_path
p
ON
p
.
path
=
n
.
parent_path
JOIN
r_vos_path
p
ON
p
.
path
=
n
.
parent_path
)
)
SELECT
node_id
,
(
CASE
WHEN
path
=
''
THEN
'/'
ELSE
vos_path
END
)
AS
vos_path
FROM
r_vos_path
;
SELECT
node_id
,
(
CASE
WHEN
path
=
''
THEN
'/'
ELSE
vos_path
END
)
AS
vos_path
FROM
r_vos_path
;
\ No newline at end of file
-- View that combines the two previous views to obtain the os_path from the vos_path and vice versa
CREATE
VIEW
node_path
AS
SELECT
v
.
node_id
,
vos_path
,
os_path
FROM
node_vos_path
v
LEFT
JOIN
node_os_path
o
ON
o
.
node_id
=
v
.
node_id
;
-- Example query to obtain the the ltree_path from the os_path:
-- SELECT path FROM node n JOIN node_os_path o ON n.node_id = o.node_id WHERE os_path = '/curban/store';
This diff is collapsed.
Click to expand it.
03-other-functions.sql
+
0
−
18
View file @
b983d3d6
...
@@ -52,24 +52,6 @@ SELECT string_agg(name, '/') FROM (
...
@@ -52,24 +52,6 @@ SELECT string_agg(name, '/') FROM (
)
AS
names
)
AS
names
$
func
$
LANGUAGE
sql
;
$
func
$
LANGUAGE
sql
;
-- Returns os_path from node_id
CREATE
OR
REPLACE
FUNCTION
get_os_path
(
input_id
BIGINT
)
RETURNS
VARCHAR
AS
$
func
$
SELECT
'/'
||
string_agg
(
name
,
'/'
)
FROM
(
WITH
RECURSIVE
paths
AS
(
SELECT
node_id
,
COALESCE
(
os_name
,
name
)
AS
name
,
relative_path
,
parent_relative_path
,
1
AS
level
FROM
node
WHERE
node_id
=
input_id
UNION
ALL
SELECT
f
.
node_id
,
COALESCE
(
f
.
os_name
,
f
.
name
)
AS
name
,
f
.
relative_path
,
f
.
parent_relative_path
,
p
.
level
+
1
FROM
node
f
INNER
JOIN
paths
p
ON
p
.
parent_relative_path
=
f
.
relative_path
WHERE
f
.
parent_relative_path
IS
NOT
NULL
)
SELECT
name
FROM
paths
ORDER
BY
LEVEL
DESC
)
AS
names
$
func
$
LANGUAGE
sql
;
-- Trigger function that automatically updates start time and end time of jobs at phase update.
-- Trigger function that automatically updates start time and end time of jobs at phase update.
-- This could be performed by business logic of each application that handles jobs but relying directly on the database ensures a better uniformity.
-- This could be performed by business logic of each application that handles jobs but relying directly on the database ensures a better uniformity.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment