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