/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.datamanagement.backend.metadata.derby.internal;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.BIG_VALUE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.BINARY_REFERENCE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.BINARY_REFERENCE_KEY;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COMPONENT_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COMPONENT_INSTANCE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COMPONENT_INSTANCE_NAME;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COMPONENT_RUN_FINAL_STATE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COMPONENT_RUN_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COMPRESSION;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.CONTROLLER_NODE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.COUNTER;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.DATAMANAGEMENT_NODE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.DATA_REFERENCE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.DATA_REFERENCE_KEY;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.DB_VERSION;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.ENDPOINT_INSTANCE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.ENDTIME;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.FINAL_STATE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.HISTORY_DATA_ITEM;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.KEY;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.NAME;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.NODE_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.REFERENCES_DELETED;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.REL_COMPONENTINSTANCE_DATAREFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.REL_COMPONENTRUN_DATAREFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.REL_DATAREFERENCE_BINARYREFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.REL_WORKFLOWRUN_DATAREFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.REVISION;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.STARTTIME;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_BINARY_REFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_COMPONENT_INSTANCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_COMPONENT_INSTANCE_PROPERTIES;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_COMPONENT_RUN;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_COMPONENT_RUN_PROPERTIES;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_DATA_REFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_DB_VERSION_INFO;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_ENDPOINT_DATA;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_ENDPOINT_INSTANCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_ENDPOINT_INSTANCE_PROPERTIES;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_TIMELINE_INTERVAL;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_TYPED_DATUM;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_WORKFLOW_RUN;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TABLE_WORKFLOW_RUN_PROPERTIES;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TIMELINE_DATA_ITEM;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TIMELINE_INTERVAL_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TO_BE_DELETED;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TYPE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.TYPED_DATUM_ID;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VALUE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_COMPONENT_RUNS;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_COMPONENT_TIMELINE_INTERVALS;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_ENDPOINT_DATA;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_ENDPOINT_INSTANCE_PROPERTIES;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_WORKFLOWRUN_COMPONENTRUN;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_WORKFLOWRUN_DATAREFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.VIEW_WORKFLOWRUN_TYPEDDATUM;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.WORKFLOW_FILE_REFERENCE;
import static de.rcenvironment.core.datamanagement.commons.MetaDataConstants.WORKFLOW_RUN_ID;
import de.rcenvironment.core.datamodel.api.TimelineIntervalType;
import de.rcenvironment.core.utils.common.StringUtils;
/**
* Static strings representing sql statements for setting up database tables and views.
*
* @author Jan Flink
*/
public abstract class DerbyDatabaseSetupSqlStatements {
private static final String UNION = " UNION ";
private static final String AND = " AND ";
private static final String CLOB = " CLOB ";
private static final String UNIQUE = "UNIQUE";
private static final String STRING_PLACEHOLDER = "%s";
private static final String WHERE = " WHERE ";
private static final String EQUAL = " = ";
private static final String APO = "'";
private static final String COMMA = " , ";
private static final String SELECT = " SELECT ";
private static final String FROM = " FROM ";
private static final String CREATE_TABLE = " CREATE TABLE ";
private static final String PRIMARY_KEY = " PRIMARY KEY ";
private static final String FOREIGN_KEY = " FOREIGN KEY ";
private static final String REFERENCES = " REFERENCES ";
private static final String INTEGER = " INTEGER ";
private static final String BIGINT = " BIGINT ";
private static final String CHAR_5 = " CHAR(5) ";
private static final String CHAR_36 = " CHAR(36) ";
private static final String VARCHAR_100 = " VARCHAR(100) ";
private static final String VARCHAR_255 = " VARCHAR(255) ";
private static final String AS_IDENTITY = " GENERATED ALWAYS AS IDENTITY ";
private static final String TIMESTAMP = " TIMESTAMP ";
private static final String VARCHAR = " VARCHAR ";
private static final String NOT_NULL = " NOT NULL ";
private static final String LONG_VARCHAR = " LONG" + VARCHAR;
private static final String DOT = ".";
private static final String CREATE_VIEW = " CREATE VIEW ";
private static final String AS = " AS ";
private static final String BOOLEAN = " BOOLEAN ";
protected static String getSqlTableDbVersionInfo() {
String sql = CREATE_TABLE + TABLE_DB_VERSION_INFO + "("
+ DB_VERSION + VARCHAR_255 + NOT_NULL + ")";
return sql;
}
protected static String getSqlRelationWorkflowRunDataReference() {
String sql = CREATE_TABLE + REL_WORKFLOWRUN_DATAREFERENCE + "("
+ WORKFLOW_RUN_ID + BIGINT + NOT_NULL + COMMA
+ DATA_REFERENCE_ID + BIGINT + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + WORKFLOW_RUN_ID + COMMA + DATA_REFERENCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + WORKFLOW_RUN_ID + ")" + REFERENCES
+ TABLE_WORKFLOW_RUN + "(" + WORKFLOW_RUN_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + DATA_REFERENCE_ID + ")" + REFERENCES
+ TABLE_DATA_REFERENCE + "(" + DATA_REFERENCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlRelationComponentInstanceDataReference() {
String sql = CREATE_TABLE + REL_COMPONENTINSTANCE_DATAREFERENCE + "("
+ COMPONENT_INSTANCE_ID + BIGINT + NOT_NULL + COMMA
+ DATA_REFERENCE_ID + BIGINT + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + COMPONENT_INSTANCE_ID + COMMA + DATA_REFERENCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_INSTANCE_ID + ")" + REFERENCES
+ TABLE_COMPONENT_INSTANCE + "(" + COMPONENT_INSTANCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + DATA_REFERENCE_ID + ")" + REFERENCES
+ TABLE_DATA_REFERENCE + "(" + DATA_REFERENCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlRelationDataReferenceBinaryReference() {
String sql = CREATE_TABLE + REL_DATAREFERENCE_BINARYREFERENCE + "("
+ BINARY_REFERENCE_ID + BIGINT + NOT_NULL + COMMA
+ DATA_REFERENCE_ID + BIGINT + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + BINARY_REFERENCE_ID + COMMA + DATA_REFERENCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + BINARY_REFERENCE_ID + ")" + REFERENCES
+ TABLE_BINARY_REFERENCE + "(" + BINARY_REFERENCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + DATA_REFERENCE_ID + ")" + REFERENCES
+ TABLE_DATA_REFERENCE + "(" + DATA_REFERENCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlRelationComponentRunDataReference() {
String sql = CREATE_TABLE + REL_COMPONENTRUN_DATAREFERENCE + "("
+ COMPONENT_RUN_ID + BIGINT + NOT_NULL + COMMA
+ DATA_REFERENCE_ID + BIGINT + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + COMPONENT_RUN_ID + COMMA + DATA_REFERENCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_RUN_ID + ")" + REFERENCES
+ TABLE_COMPONENT_RUN + "(" + COMPONENT_RUN_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + DATA_REFERENCE_ID + ")" + REFERENCES
+ TABLE_DATA_REFERENCE + "(" + DATA_REFERENCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableBinaryReference() {
String sql = CREATE_TABLE + TABLE_BINARY_REFERENCE + "("
+ BINARY_REFERENCE_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ BINARY_REFERENCE_KEY + CHAR_36 + NOT_NULL + COMMA
+ COMPRESSION + VARCHAR_255 + NOT_NULL + COMMA + REVISION + CHAR_5 + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + BINARY_REFERENCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableDataReference() {
String sql = CREATE_TABLE + TABLE_DATA_REFERENCE + "("
+ DATA_REFERENCE_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ DATA_REFERENCE_KEY + CHAR_36 + UNIQUE + COMMA + NODE_ID + VARCHAR_100 + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + DATA_REFERENCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableEndpointData() {
String sql = CREATE_TABLE + TABLE_ENDPOINT_DATA + "("
+ COMPONENT_RUN_ID + BIGINT + NOT_NULL + COMMA
+ ENDPOINT_INSTANCE_ID + BIGINT + NOT_NULL + COMMA + TYPED_DATUM_ID + BIGINT + NOT_NULL + COMMA
+ COUNTER + INTEGER + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + COMPONENT_RUN_ID + COMMA + TYPED_DATUM_ID + COMMA + ENDPOINT_INSTANCE_ID + COMMA + COUNTER + ")"
+ COMMA
+ FOREIGN_KEY + "(" + COMPONENT_RUN_ID + ")" + REFERENCES
+ TABLE_COMPONENT_RUN + "(" + COMPONENT_RUN_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + ENDPOINT_INSTANCE_ID + ")" + REFERENCES
+ TABLE_ENDPOINT_INSTANCE + "(" + ENDPOINT_INSTANCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + TYPED_DATUM_ID + ")" + REFERENCES
+ TABLE_TYPED_DATUM + "(" + TYPED_DATUM_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableEndpointInstance() {
String sql = CREATE_TABLE + TABLE_ENDPOINT_INSTANCE + "("
+ ENDPOINT_INSTANCE_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ COMPONENT_INSTANCE_ID + BIGINT + NOT_NULL + COMMA
+ NAME + VARCHAR_255 + NOT_NULL + COMMA + TYPE + VARCHAR_255 + NOT_NULL + COMMA
+ PRIMARY_KEY + "(" + ENDPOINT_INSTANCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_INSTANCE_ID + ")" + REFERENCES
+ TABLE_COMPONENT_INSTANCE + "(" + COMPONENT_INSTANCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableEndpointInstanceProperties() {
String sql = CREATE_TABLE + TABLE_ENDPOINT_INSTANCE_PROPERTIES + "("
+ ENDPOINT_INSTANCE_ID + BIGINT + NOT_NULL + COMMA
+ KEY + VARCHAR_255 + NOT_NULL + COMMA + VALUE + LONG_VARCHAR + COMMA
+ PRIMARY_KEY + "(" + ENDPOINT_INSTANCE_ID + COMMA + KEY + ")" + COMMA
+ FOREIGN_KEY + "(" + ENDPOINT_INSTANCE_ID + ")" + REFERENCES
+ TABLE_ENDPOINT_INSTANCE + "(" + ENDPOINT_INSTANCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableTypedDatum() {
String sql = CREATE_TABLE + TABLE_TYPED_DATUM + "("
+ TYPED_DATUM_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ TYPE + VARCHAR_255 + NOT_NULL + COMMA + VALUE + LONG_VARCHAR + COMMA
+ BIG_VALUE + CLOB + COMMA
+ PRIMARY_KEY + "(" + TYPED_DATUM_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableComponentRunProperties() {
String sql = CREATE_TABLE + TABLE_COMPONENT_RUN_PROPERTIES + "("
+ COMPONENT_RUN_ID + BIGINT + NOT_NULL + COMMA
+ KEY + VARCHAR_255 + NOT_NULL + COMMA + VALUE + LONG_VARCHAR + COMMA
+ PRIMARY_KEY + "(" + COMPONENT_RUN_ID + COMMA + KEY + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_RUN_ID + ")" + REFERENCES
+ TABLE_COMPONENT_RUN + "(" + COMPONENT_RUN_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableComponentRun() {
String sql = CREATE_TABLE + TABLE_COMPONENT_RUN + "("
+ COMPONENT_RUN_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ COMPONENT_INSTANCE_ID + BIGINT + NOT_NULL + COMMA
+ COMPONENT_RUN_FINAL_STATE + VARCHAR_255 + COMMA + NODE_ID + VARCHAR_100 + NOT_NULL + COMMA
+ COUNTER + INTEGER + NOT_NULL + COMMA + HISTORY_DATA_ITEM + LONG_VARCHAR + COMMA
+ REFERENCES_DELETED + BOOLEAN + COMMA
+ PRIMARY_KEY + "(" + COMPONENT_RUN_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_INSTANCE_ID + ")" + REFERENCES
+ TABLE_COMPONENT_INSTANCE + "(" + COMPONENT_INSTANCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableComponentInstanceProperties() {
String sql = CREATE_TABLE + TABLE_COMPONENT_INSTANCE_PROPERTIES + "("
+ COMPONENT_INSTANCE_ID + BIGINT + NOT_NULL + COMMA + KEY + VARCHAR_255 + NOT_NULL + COMMA
+ VALUE + LONG_VARCHAR + COMMA
+ PRIMARY_KEY + "(" + COMPONENT_INSTANCE_ID + COMMA + KEY + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_INSTANCE_ID + ")" + REFERENCES
+ TABLE_COMPONENT_INSTANCE + "(" + COMPONENT_INSTANCE_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableComponentInstance() {
String sql =
CREATE_TABLE + TABLE_COMPONENT_INSTANCE + "("
+ COMPONENT_INSTANCE_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ WORKFLOW_RUN_ID + BIGINT + NOT_NULL + COMMA + COMPONENT_ID + VARCHAR_255 + NOT_NULL + COMMA
+ COMPONENT_INSTANCE_NAME + VARCHAR_255 + NOT_NULL + COMMA + FINAL_STATE + VARCHAR_255 + COMMA + PRIMARY_KEY + "("
+ COMPONENT_INSTANCE_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + WORKFLOW_RUN_ID + ")" + REFERENCES
+ TABLE_WORKFLOW_RUN + "(" + WORKFLOW_RUN_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableTimelineInterval() {
String sql = CREATE_TABLE + TABLE_TIMELINE_INTERVAL + "("
+ TIMELINE_INTERVAL_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ WORKFLOW_RUN_ID + BIGINT + NOT_NULL + COMMA + TYPE + VARCHAR_255 + NOT_NULL + COMMA
+ STARTTIME + TIMESTAMP + NOT_NULL + COMMA + ENDTIME + TIMESTAMP + COMMA
+ COMPONENT_RUN_ID + BIGINT + COMMA
+ PRIMARY_KEY + "(" + TIMELINE_INTERVAL_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + WORKFLOW_RUN_ID + ")" + REFERENCES
+ TABLE_WORKFLOW_RUN + "(" + WORKFLOW_RUN_ID + ")" + COMMA
+ FOREIGN_KEY + "(" + COMPONENT_RUN_ID + ")" + REFERENCES
+ TABLE_COMPONENT_RUN + "(" + COMPONENT_RUN_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableWorkflowRunProperties() {
String sql = CREATE_TABLE + TABLE_WORKFLOW_RUN_PROPERTIES + "("
+ WORKFLOW_RUN_ID + BIGINT + NOT_NULL + COMMA + KEY + VARCHAR_255 + NOT_NULL + COMMA
+ VALUE + LONG_VARCHAR + COMMA
+ PRIMARY_KEY + "(" + WORKFLOW_RUN_ID + COMMA + KEY + ")" + COMMA
+ FOREIGN_KEY + "(" + WORKFLOW_RUN_ID + ")" + REFERENCES
+ TABLE_WORKFLOW_RUN + "(" + WORKFLOW_RUN_ID + ")"
+ ")";
return sql;
}
protected static String getSqlTableWorkflowRun() {
String sql = CREATE_TABLE + TABLE_WORKFLOW_RUN + "("
+ WORKFLOW_RUN_ID + BIGINT + NOT_NULL + AS_IDENTITY + COMMA
+ NAME + VARCHAR_255 + NOT_NULL + COMMA + CONTROLLER_NODE_ID + VARCHAR_100 + NOT_NULL + COMMA
+ DATAMANAGEMENT_NODE_ID + VARCHAR_100 + NOT_NULL + COMMA + FINAL_STATE + VARCHAR_255 + COMMA + TIMELINE_DATA_ITEM
+ LONG_VARCHAR + COMMA + WORKFLOW_FILE_REFERENCE + LONG_VARCHAR + COMMA
+ TO_BE_DELETED + INTEGER + COMMA
+ PRIMARY_KEY + "(" + WORKFLOW_RUN_ID + ")"
+ ")";
return sql;
}
protected static String getSqlViewEndpointData() {
String sql =
CREATE_VIEW + VIEW_ENDPOINT_DATA + AS
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA
+ TABLE_ENDPOINT_DATA + DOT + COMPONENT_RUN_ID + COMMA
+ TABLE_ENDPOINT_DATA + DOT + COUNTER + COMMA
+ TABLE_ENDPOINT_INSTANCE + DOT + ENDPOINT_INSTANCE_ID + COMMA
+ TABLE_ENDPOINT_INSTANCE + DOT + NAME + COMMA
+ TABLE_ENDPOINT_INSTANCE + DOT + TYPE + AS + "ENDPOINT_TYPE" + COMMA
+ TABLE_TYPED_DATUM + DOT + TYPE + AS + "DATUM_TYPE" + COMMA
+ TABLE_TYPED_DATUM + DOT + VALUE + COMMA
+ TABLE_TYPED_DATUM + DOT + BIG_VALUE
+ FROM + TABLE_COMPONENT_INSTANCE + COMMA + TABLE_COMPONENT_RUN + COMMA + TABLE_ENDPOINT_DATA
+ COMMA + TABLE_ENDPOINT_INSTANCE + COMMA + TABLE_TYPED_DATUM
+ WHERE + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID + EQUAL + TABLE_COMPONENT_RUN + DOT
+ COMPONENT_INSTANCE_ID
+ AND + TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_ID + EQUAL + TABLE_ENDPOINT_DATA + DOT + COMPONENT_RUN_ID
+ AND + TABLE_ENDPOINT_INSTANCE + DOT + ENDPOINT_INSTANCE_ID + EQUAL + TABLE_ENDPOINT_DATA + DOT + ENDPOINT_INSTANCE_ID
+ AND + TABLE_TYPED_DATUM + DOT + TYPED_DATUM_ID + EQUAL + TABLE_ENDPOINT_DATA + DOT + TYPED_DATUM_ID;
return sql;
}
protected static String getSqlViewEndpointInstanceProperties() {
String sql =
CREATE_VIEW + VIEW_ENDPOINT_INSTANCE_PROPERTIES + AS
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA
+ TABLE_ENDPOINT_INSTANCE + DOT + ENDPOINT_INSTANCE_ID + COMMA
+ TABLE_ENDPOINT_INSTANCE + DOT + NAME + COMMA
+ TABLE_ENDPOINT_INSTANCE + DOT + TYPE + AS + "ENDPOINT_TYPE" + COMMA
+ TABLE_ENDPOINT_INSTANCE_PROPERTIES + DOT + KEY + COMMA
+ TABLE_ENDPOINT_INSTANCE_PROPERTIES + DOT + VALUE
+ FROM + TABLE_COMPONENT_INSTANCE + COMMA
+ TABLE_ENDPOINT_INSTANCE + COMMA + TABLE_ENDPOINT_INSTANCE_PROPERTIES
+ WHERE + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID + EQUAL + TABLE_ENDPOINT_INSTANCE + DOT
+ COMPONENT_INSTANCE_ID
+ AND + TABLE_ENDPOINT_INSTANCE + DOT + ENDPOINT_INSTANCE_ID + EQUAL + TABLE_ENDPOINT_INSTANCE_PROPERTIES + DOT
+ ENDPOINT_INSTANCE_ID;
return sql;
}
protected static String getSqlViewWorkflowRunComponentRun() {
String sql =
CREATE_VIEW + VIEW_WORKFLOWRUN_COMPONENTRUN + AS
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA + TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_ID + FROM
+ TABLE_COMPONENT_INSTANCE + COMMA + TABLE_COMPONENT_RUN
+ WHERE + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID + EQUAL
+ TABLE_COMPONENT_RUN + DOT + COMPONENT_INSTANCE_ID;
return sql;
}
protected static String getSqlViewComponentRuns() {
String sql =
StringUtils.format(
CREATE_VIEW + VIEW_COMPONENT_RUNS + AS
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA
+ TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_ID + COMMA
+ TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_NAME + COMMA
+ TABLE_COMPONENT_INSTANCE + DOT + FINAL_STATE + COMMA
+ TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_ID + COMMA
+ TABLE_COMPONENT_RUN + DOT + NODE_ID + COMMA
+ TABLE_COMPONENT_RUN + DOT + COUNTER + COMMA
+ TABLE_COMPONENT_RUN + DOT + REFERENCES_DELETED + COMMA
+ TABLE_COMPONENT_RUN + DOT + HISTORY_DATA_ITEM + COMMA
+ TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_FINAL_STATE + COMMA
+ TABLE_TIMELINE_INTERVAL + DOT + STARTTIME + COMMA
+ TABLE_TIMELINE_INTERVAL + DOT + ENDTIME
+ FROM + TABLE_COMPONENT_INSTANCE + COMMA + TABLE_COMPONENT_RUN + COMMA
+ TABLE_TIMELINE_INTERVAL
+ WHERE + TABLE_COMPONENT_RUN + DOT + COMPONENT_INSTANCE_ID + EQUAL
+ TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID
+ AND + TABLE_TIMELINE_INTERVAL + DOT + COMPONENT_RUN_ID + EQUAL + TABLE_COMPONENT_RUN + DOT
+ COMPONENT_RUN_ID
+ AND + TABLE_TIMELINE_INTERVAL + DOT + TYPE + EQUAL + APO + STRING_PLACEHOLDER + APO,
TimelineIntervalType.COMPONENT_RUN.toString());
return sql;
}
protected static String getSqlViewComponentTimelineIntervals() {
String sql =
CREATE_VIEW + VIEW_COMPONENT_TIMELINE_INTERVALS + AS
+ SELECT + TABLE_WORKFLOW_RUN + DOT + WORKFLOW_RUN_ID + COMMA
+ TABLE_TIMELINE_INTERVAL + DOT + STARTTIME + COMMA
+ TABLE_TIMELINE_INTERVAL + DOT + ENDTIME + COMMA
+ TABLE_TIMELINE_INTERVAL + DOT + TYPE + COMMA
+ TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_ID + COMMA
+ TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_NAME
+ FROM + TABLE_WORKFLOW_RUN + COMMA + TABLE_TIMELINE_INTERVAL + COMMA + TABLE_COMPONENT_RUN + COMMA
+ TABLE_COMPONENT_INSTANCE
+ WHERE + TABLE_TIMELINE_INTERVAL + DOT + WORKFLOW_RUN_ID + EQUAL + TABLE_WORKFLOW_RUN + DOT + WORKFLOW_RUN_ID
+ AND + TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_ID + EQUAL + TABLE_TIMELINE_INTERVAL + DOT + COMPONENT_RUN_ID
+ AND + TABLE_COMPONENT_RUN + DOT + COMPONENT_INSTANCE_ID + EQUAL + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID;
return sql;
}
protected static String getSqlViewWorkflowRunDataReference() {
String sql =
CREATE_VIEW + VIEW_WORKFLOWRUN_DATAREFERENCE + AS
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA + REL_COMPONENTRUN_DATAREFERENCE + DOT
+ DATA_REFERENCE_ID
+ FROM + REL_COMPONENTRUN_DATAREFERENCE + COMMA + TABLE_COMPONENT_RUN + COMMA + TABLE_COMPONENT_INSTANCE
+ WHERE + TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_ID + EQUAL + REL_COMPONENTRUN_DATAREFERENCE + DOT
+ COMPONENT_RUN_ID + AND + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID + EQUAL + TABLE_COMPONENT_RUN + DOT
+ COMPONENT_INSTANCE_ID
+ UNION
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA + REL_COMPONENTINSTANCE_DATAREFERENCE + DOT
+ DATA_REFERENCE_ID
+ FROM + REL_COMPONENTINSTANCE_DATAREFERENCE + COMMA + TABLE_COMPONENT_INSTANCE
+ WHERE + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID + EQUAL + REL_COMPONENTINSTANCE_DATAREFERENCE + DOT
+ COMPONENT_INSTANCE_ID
+ UNION
+ SELECT + REL_WORKFLOWRUN_DATAREFERENCE + DOT + WORKFLOW_RUN_ID + COMMA + REL_WORKFLOWRUN_DATAREFERENCE + DOT
+ DATA_REFERENCE_ID
+ FROM + REL_WORKFLOWRUN_DATAREFERENCE;
return sql;
}
protected static String getSqlViewWorkflowRunTypedDatum() {
String sql =
CREATE_VIEW + VIEW_WORKFLOWRUN_TYPEDDATUM + AS
+ SELECT + TABLE_COMPONENT_INSTANCE + DOT + WORKFLOW_RUN_ID + COMMA + TABLE_ENDPOINT_DATA + DOT + TYPED_DATUM_ID
+ FROM + TABLE_ENDPOINT_DATA + COMMA + TABLE_COMPONENT_RUN + COMMA + TABLE_COMPONENT_INSTANCE
+ WHERE + TABLE_COMPONENT_RUN + DOT + COMPONENT_RUN_ID + EQUAL + TABLE_ENDPOINT_DATA + DOT
+ COMPONENT_RUN_ID + AND + TABLE_COMPONENT_INSTANCE + DOT + COMPONENT_INSTANCE_ID + EQUAL + TABLE_COMPONENT_RUN + DOT
+ COMPONENT_INSTANCE_ID;
return sql;
}
}