diff --git a/00-tables.sql b/00-tables.sql index 8db42ecfbdef66b6b5b6bc8b7fedbec4c1157d8d..8e7f69e082e4bfaded5b5b873febebc191654ecb 100644 --- a/00-tables.sql +++ b/00-tables.sql @@ -48,6 +48,8 @@ CREATE TABLE node ( -- async_trans tells us whether a node is hosted on a cold storage and has to be transferred asynchronously sticky BOOLEAN default false, busy_state BOOLEAN default NULL, + job_id VARCHAR default NULL, + -- job_id will likely replace 'busy_state' creator_id VARCHAR default NULL, group_read VARCHAR[] default NULL, group_write VARCHAR[] default NULL, @@ -125,24 +127,24 @@ CREATE TABLE users ( CREATE TYPE JobPhaseEnum AS ENUM ('PENDING', 'QUEUED', 'EXECUTING', 'ABORTED', 'COMPLETED', 'HELD', 'SUSPENDED', 'ERROR', 'ARCHIVED'); -CREATE TYPE ErrorType AS ENUM('transient','fatal'); +CREATE TYPE ErrorType AS ENUM('transient','fatal'); CREATE TABLE job ( - job_id varchar not null, - owner_id varchar not null, - job_type varchar not null, - phase JobPhaseEnum not null, - start_time timestamp, - end_time timestamp, - creation_time timestamp default CURRENT_TIMESTAMP, - job_info jsonb, - processed_blocks int default null, - total_blocks int default null, - results jsonb, - error_message varchar, - error_type ErrorType, - error_has_detail boolean, - error_detail varchar, + job_id VARCHAR NOT NULL, + owner_id VARCHAR NOT NULL, + job_type VARCHAR NOT NULL, + phase JobPhaseEnum NOT NULL, + start_time TIMESTAMP, + end_time TIMESTAMP, + creation_time TIMESTAMP default CURRENT_TIMESTAMP, + job_info JSONB, + processed_blocks INT default NULL, + total_blocks INT default NULL, + results JSONB, + error_message VARCHAR, + error_type ErrorType, + error_has_detail BOOLEAN, + error_detail VARCHAR, primary key(job_id) );