Added useful file
This commit is contained in:
parent
ff4d7502d1
commit
5861260245
|
@ -0,0 +1,139 @@
|
|||
CREATE EXTENSION IF NOT EXISTS timescaledb;
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
|
||||
CREATE TYPE aggregation_state AS ENUM ('RESTARTED', 'STARTED', 'AGGREGATED', 'DELETED', 'ADDED', 'COMPLETED');
|
||||
CREATE TYPE aggregation_type AS ENUM ('DAILY', 'MONTHLY', 'YEARLY');
|
||||
|
||||
CREATE TABLE "aggregation_status"(
|
||||
id UUID NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4 (),
|
||||
record_type TEXT NOT NULL,
|
||||
aggregation_type aggregation_type NOT NULL,
|
||||
aggregation_start_date TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
aggregation_end_date TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
original_records_number NUMERIC NOT NULL,
|
||||
aggregated_records_number NUMERIC NOT NULL,
|
||||
recovered_records_number NUMERIC NOT NULL,
|
||||
malformed_records_number NUMERIC NOT NULL DEFAULT 0,
|
||||
percentage NUMERIC NOT NULL,
|
||||
restart_from NUMERIC NOT NULL DEFAULT 0,
|
||||
context TEXT,
|
||||
current_aggregation_state aggregation_state NOT NULL,
|
||||
last_update_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
previous UUID REFERENCES aggregation_status (id) DEFAULT NULL ON DELETE SET NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "aggregation_status_event"(
|
||||
aggregation_state aggregation_state NOT NULL,
|
||||
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
end_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
aggregation_status UUID REFERENCES aggregation_status (id) ON DELETE CASCADE,
|
||||
UNIQUE (aggregation_state, start_time, end_time, aggregation_status)
|
||||
);
|
||||
|
||||
CREATE TYPE operation_result AS ENUM ('SUCCESS', 'FAILED');
|
||||
|
||||
CREATE TABLE "job_usage_record"(
|
||||
id UUID NOT NULL PRIMARY KEY,
|
||||
consumer_id TEXT NOT NULL,
|
||||
creation_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
scope TEXT NOT NULL,
|
||||
operation_result operation_result NOT NULL,
|
||||
caller_qualifier TEXT NOT NULL DEFAULT 'TOKEN',
|
||||
host TEXT NOT NULL,
|
||||
service_class TEXT NOT NULL,
|
||||
service_name TEXT NOT NULL,
|
||||
job_name TEXT NOT NULL,
|
||||
duration NUMERIC NOT NULL,
|
||||
max_invocation_time NUMERIC NOT NULL,
|
||||
min_invocation_time NUMERIC NOT NULL,
|
||||
operation_count INTEGER NOT NULL DEFAULT 1,
|
||||
aggregated BOOLEAN NOT NULL DEFAULT true,
|
||||
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
end_time TIMESTAMP WITH TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "portlet_usage_record"(
|
||||
id UUID NOT NULL PRIMARY KEY,
|
||||
consumer_id TEXT NOT NULL,
|
||||
creation_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
scope TEXT NOT NULL,
|
||||
operation_result operation_result NOT NULL,
|
||||
caller_qualifier TEXT NOT NULL DEFAULT 'TOKEN',
|
||||
portlet_id TEXT NOT NULL,
|
||||
operation_id TEXT NOT NULL,
|
||||
operation_count INTEGER NOT NULL DEFAULT 1,
|
||||
aggregated BOOLEAN NOT NULL DEFAULT true,
|
||||
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
end_time TIMESTAMP WITH TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "service_usage_record"(
|
||||
id UUID NOT NULL PRIMARY KEY,
|
||||
consumer_id TEXT NOT NULL,
|
||||
creation_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
scope TEXT NOT NULL,
|
||||
operation_result operation_result NOT NULL,
|
||||
caller_qualifier TEXT NOT NULL DEFAULT 'TOKEN',
|
||||
caller_host TEXT NOT NULL,
|
||||
host TEXT NOT NULL,
|
||||
service_class TEXT NOT NULL,
|
||||
service_name TEXT NOT NULL,
|
||||
called_method TEXT NOT NULL,
|
||||
duration NUMERIC NOT NULL,
|
||||
max_invocation_time NUMERIC NOT NULL,
|
||||
min_invocation_time NUMERIC NOT NULL,
|
||||
operation_count INTEGER NOT NULL DEFAULT 1,
|
||||
aggregated BOOLEAN NOT NULL DEFAULT true,
|
||||
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
end_time TIMESTAMP WITH TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
CREATE TYPE data_type AS ENUM ('STORAGE', 'TREE', 'GEO', 'DATABASE', 'LOCAL', 'OTHER', 'JUPYTER', 'KUBERNETES');
|
||||
|
||||
CREATE TABLE "storage_status_record"(
|
||||
id UUID NOT NULL PRIMARY KEY,
|
||||
consumer_id TEXT NOT NULL,
|
||||
creation_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
scope TEXT NOT NULL,
|
||||
operation_result operation_result NOT NULL,
|
||||
data_type data_type NOT NULL,
|
||||
data_volume NUMERIC NOT NULL,
|
||||
data_count NUMERIC NOT NULL,
|
||||
provider_uri TEXT DEFAULT 'data.d4science.org',
|
||||
operation_count INTEGER NOT NULL DEFAULT 1,
|
||||
aggregated BOOLEAN NOT NULL DEFAULT true,
|
||||
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
end_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
|
||||
-- Deprecated and to be removed
|
||||
provider_id TEXT DEFAULT 'data.d4science.org',
|
||||
data_service_id TEXT DEFAULT 'NOT_NEEDED',
|
||||
data_service_class TEXT DEFAULT 'NOT_NEEDED',
|
||||
data_service_name TEXT DEFAULT 'NOT_NEEDED'
|
||||
|
||||
);
|
||||
|
||||
CREATE TYPE operation_type AS ENUM ('CREATE', 'READ', 'UPDATE', 'DELETE');
|
||||
|
||||
CREATE TABLE "storage_usage_record"(
|
||||
id UUID NOT NULL PRIMARY KEY,
|
||||
consumer_id TEXT NOT NULL,
|
||||
creation_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
scope TEXT NOT NULL,
|
||||
operation_result operation_result NOT NULL,
|
||||
resource_owner TEXT NOT NULL,
|
||||
provider_uri TEXT NOT NULL,
|
||||
operation_type operation_type NOT NULL,
|
||||
data_type data_type NOT NULL,
|
||||
data_volume NUMERIC NOT NULL,
|
||||
operation_count INTEGER NOT NULL DEFAULT 1,
|
||||
aggregated BOOLEAN NOT NULL DEFAULT true,
|
||||
start_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
end_time TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
|
||||
-- Deprecated and to be removed
|
||||
resource_scope TEXT DEFAULT 'NOT_NEEDED',
|
||||
resource_uri TEXT DEFAULT 'NOT_NEEDED'
|
||||
|
||||
);
|
Loading…
Reference in New Issue