blob: 56ea147add8600de147aa7e39a20c5c8747e15e6 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.sqoop.repository.derby;
import static org.apache.sqoop.repository.derby.DerbySchemaConstants.*;
/**
* DDL queries that create the Sqoop repository schema in Derby database. These
* queries create the following tables:
* <p>
* <strong>SQ_SYSTEM</strong>: Store for various state information
* <pre>
* +----------------------------+
* | SQ_SYSTEM |
* +----------------------------+
* | SQM_ID: BIGINT PK |
* | SQM_KEY: VARCHAR(64) |
* | SQM_VALUE: VARCHAR(64) |
* +----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_DIRECTION</strong>: Directions.
* <pre>
* +---------------------------------------+
* | SQ_DIRECTION |
* +---------------------------------------+
* | SQD_ID: BIGINT PK AUTO-GEN |
* | SQD_NAME: VARCHAR(64) | "FROM"|"TO"
* +---------------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_CONNECTOR</strong>: Connector registration.
* <pre>
* +-----------------------------+
* | SQ_CONNECTOR |
* +-----------------------------+
* | SQC_ID: BIGINT PK AUTO-GEN |
* | SQC_NAME: VARCHAR(64) |
* | SQC_CLASS: VARCHAR(255) |
* | SQC_VERSION: VARCHAR(64) |
* +-----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_CONNECTOR_DIRECTIONS</strong>: Connector directions.
* <pre>
* +------------------------------+
* | SQ_CONNECTOR_DIRECTIONS |
* +------------------------------+
* | SQCD_ID: BIGINT PK AUTO-GEN |
* | SQCD_CONNECTOR: BIGINT | FK SQCD_CONNECTOR(SQC_ID)
* | SQCD_DIRECTION: BIGINT | FK SQCD_DIRECTION(SQD_ID)
* +------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_CONFIG</strong>: Config details.
* <pre>
* +-------------------------------------+
* | SQ_CONFIG |
* +-------------------------------------+
* | SQ_CFG_ID: BIGINT PK AUTO-GEN |
* | SQ_CFG_OWNER: BIGINT | FK SQ_CFG_OWNER(SQC_ID),NULL for driver
* | SQ_CFG_NAME: VARCHAR(64) |
* | SQ_CFG_TYPE: VARCHAR(32) | "LINK"|"JOB"
* | SQ_CFG_INDEX: SMALLINT |
* +-------------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_CONFIG_DIRECTIONS</strong>: Connector directions.
* <pre>
* +------------------------------+
* | SQ_CONNECTOR_DIRECTIONS |
* +------------------------------+
* | SQCD_ID: BIGINT PK AUTO-GEN |
* | SQCD_CONFIG: BIGINT | FK SQCD_CONFIG(SQ_CFG_ID)
* | SQCD_DIRECTION: BIGINT | FK SQCD_DIRECTION(SQD_ID)
* +------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_INPUT</strong>: Input details
* <pre>
* +----------------------------+
* | SQ_INPUT |
* +----------------------------+
* | SQI_ID: BIGINT PK AUTO-GEN |
* | SQI_NAME: VARCHAR(64) |
* | SQI_CONFIG: BIGINT | FK SQ_CONFIG(SQ_CFG_ID)
* | SQI_INDEX: SMALLINT |
* | SQI_TYPE: VARCHAR(32) | "STRING"|"MAP"
* | SQI_STRMASK: BOOLEAN |
* | SQI_STRLENGTH: SMALLINT |
* | SQI_ENUMVALS: VARCHAR(100) |
* +----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_LINK</strong>: Stored connections
* <pre>
* +--------------------------------+
* | SQ_LINK |
* +--------------------------------+
* | SQ_LNK_ID: BIGINT PK AUTO-GEN |
* | SQ_LNK_NAME: VARCHAR(64) |
* | SQ_LNK_CONNECTOR: BIGINT | FK SQ_CONNECTOR(SQC_ID)
* | SQ_LNK_CREATION_USER: VARCHAR(32) |
* | SQ_LNK_CREATION_DATE: TIMESTAMP |
* | SQ_LNK_UPDATE_USER: VARCHAR(32) |
* | SQ_LNK_UPDATE_DATE: TIMESTAMP |
* | SQ_LNK_ENABLED: BOOLEAN |
* +--------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_JOB</strong>: Stored jobs
* <pre>
* +--------------------------------+
* | SQ_JOB |
* +--------------------------------+
* | SQB_ID: BIGINT PK AUTO-GEN |
* | SQB_NAME: VARCHAR(64) |
* | SQB_FROM_LINK: BIGINT | FK SQ_LINK(SQ_LNK_ID)
* | SQB_TO_LINK: BIGINT | FK SQ_LINK(SQ_LNK_ID)
* | SQB_CREATION_USER: VARCHAR(32) |
* | SQB_CREATION_DATE: TIMESTAMP |
* | SQB_UPDATE_USER: VARCHAR(32) |
* | SQB_UPDATE_DATE: TIMESTAMP |
* | SQB_ENABLED: BOOLEAN |
* +--------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_LINK_INPUT</strong>: N:M relationship link and input
* <pre>
* +----------------------------+
* | SQ_LINK_INPUT |
* +----------------------------+
* | SQ_LNKI_LINK: BIGINT PK | FK SQ_LINK(SQ_LNK_ID)
* | SQ_LNKI_INPUT: BIGINT PK | FK SQ_INPUT(SQI_ID)
* | SQ_LNKI_VALUE: LONG VARCHAR|
* +----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_JOB_INPUT</strong>: N:M relationship job and input
* <pre>
* +----------------------------+
* | SQ_JOB_INPUT |
* +----------------------------+
* | SQBI_JOB: BIGINT PK | FK SQ_JOB(SQB_ID)
* | SQBI_INPUT: BIGINT PK | FK SQ_INPUT(SQI_ID)
* | SQBI_VALUE: LONG VARCHAR |
* +----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_SUBMISSION</strong>: List of submissions
* <pre>
* +-----------------------------------+
* | SQ_JOB_SUBMISSION |
* +-----------------------------------+
* | SQS_ID: BIGINT PK |
* | SQS_JOB: BIGINT | FK SQ_JOB(SQB_ID)
* | SQS_STATUS: VARCHAR(20) |
* | SQS_CREATION_USER: VARCHAR(32) |
* | SQS_CREATION_DATE: TIMESTAMP |
* | SQS_UPDATE_USER: VARCHAR(32) |
* | SQS_UPDATE_DATE: TIMESTAMP |
* | SQS_EXTERNAL_ID: VARCHAR(50) |
* | SQS_EXTERNAL_LINK: VARCHAR(150) |
* | SQS_EXCEPTION: VARCHAR(150) |
* | SQS_EXCEPTION_TRACE: VARCHAR(750) |
* +-----------------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_COUNTER_GROUP</strong>: List of counter groups
* <pre>
* +----------------------------+
* | SQ_COUNTER_GROUP |
* +----------------------------+
* | SQG_ID: BIGINT PK |
* | SQG_NAME: VARCHAR(75) |
* +----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_COUNTER</strong>: List of counters
* <pre>
* +----------------------------+
* | SQ_COUNTER |
* +----------------------------+
* | SQR_ID: BIGINT PK |
* | SQR_NAME: VARCHAR(75) |
* +----------------------------+
* </pre>
* </p>
* <p>
* <strong>SQ_COUNTER_SUBMISSION</strong>: N:M Relationship
* <pre>
* +----------------------------+
* | SQ_COUNTER_SUBMISSION |
* +----------------------------+
* | SQRS_GROUP: BIGINT PK | FK SQ_COUNTER_GROUP(SQR_ID)
* | SQRS_COUNTER: BIGINT PK | FK SQ_COUNTER(SQR_ID)
* | SQRS_SUBMISSION: BIGINT PK | FK SQ_SUBMISSION(SQS_ID)
* | SQRS_VALUE: BIGINT |
* +----------------------------+
* </pre>
* </p>
*/
public final class DerbySchemaQuery {
// DDL: Create schema
public static final String QUERY_CREATE_SCHEMA_SQOOP =
"CREATE SCHEMA " + SCHEMA_SQOOP;
public static final String QUERY_SYSSCHEMA_SQOOP =
"SELECT SCHEMAID FROM SYS.SYSSCHEMAS WHERE SCHEMANAME = '"
+ SCHEMA_SQOOP + "'";
// DDL: Create table SQ_SYSTEM
public static final String QUERY_CREATE_TABLE_SQ_SYSTEM =
"CREATE TABLE " + TABLE_SQ_SYSTEM + " ("
+ COLUMN_SQM_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQM_KEY + " VARCHAR(64), "
+ COLUMN_SQM_VALUE + " VARCHAR(64) "
+ ")";
// DDL: Create table SQ_DIRECTION
public static final String QUERY_CREATE_TABLE_SQ_DIRECTION =
"CREATE TABLE " + TABLE_SQ_DIRECTION + " ("
+ COLUMN_SQD_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQD_NAME + " VARCHAR(64)"
+ ")";
// DDL: Create table SQ_CONNECTOR
public static final String QUERY_CREATE_TABLE_SQ_CONNECTOR =
"CREATE TABLE " + TABLE_SQ_CONNECTOR + " ("
+ COLUMN_SQC_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQC_NAME + " VARCHAR(64), "
+ COLUMN_SQC_CLASS + " VARCHAR(255), "
+ COLUMN_SQC_VERSION + " VARCHAR(64) "
+ ")";
// DDL: Create table SQ_CONNECTOR_DIRECTIONS
public static final String QUERY_CREATE_TABLE_SQ_CONNECTOR_DIRECTIONS =
"CREATE TABLE " + TABLE_SQ_CONNECTOR_DIRECTIONS + " ("
+ COLUMN_SQCD_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQCD_CONNECTOR + " BIGINT, "
+ COLUMN_SQCD_DIRECTION + " BIGINT, "
+ "CONSTRAINT " + CONSTRAINT_SQCD_SQC + " "
+ "FOREIGN KEY (" + COLUMN_SQCD_CONNECTOR + ") "
+ "REFERENCES " + TABLE_SQ_CONNECTOR + " (" + COLUMN_SQC_ID + "), "
+ "CONSTRAINT " + CONSTRAINT_SQCD_SQD + " "
+ "FOREIGN KEY (" + COLUMN_SQCD_DIRECTION + ") "
+ "REFERENCES " + TABLE_SQ_DIRECTION + " (" + COLUMN_SQD_ID + ")"
+ ")";
// DDL: Create table SQ_CONFIG ( It stores the configs defined by every connector), if connector is null then it is driver config
public static final String QUERY_CREATE_TABLE_SQ_CONFIG =
"CREATE TABLE " + TABLE_SQ_CONFIG + " ("
+ COLUMN_SQ_CFG_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQ_CFG_OWNER + " BIGINT, "
+ COLUMN_SQ_CFG_OPERATION + " VARCHAR(32), "
+ COLUMN_SQ_CFG_NAME + " VARCHAR(64), "
+ COLUMN_SQ_CFG_TYPE + " VARCHAR(32), "
+ COLUMN_SQ_CFG_INDEX + " SMALLINT, "
+ "CONSTRAINT " + CONSTRAINT_SQ_CFG_SQC + " "
+ "FOREIGN KEY (" + COLUMN_SQ_CFG_OWNER + ") "
+ "REFERENCES " + TABLE_SQ_CONNECTOR + " (" + COLUMN_SQC_ID + ")"
+ ")";
// DDL: Create table SQ_CONFIG_DIRECTIONS
public static final String QUERY_CREATE_TABLE_SQ_CONFIG_DIRECTIONS =
"CREATE TABLE " + TABLE_SQ_CONFIG_DIRECTIONS + " ("
+ COLUMN_SQ_CFG_DIR_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQ_CFG_DIR_CONFIG + " BIGINT, "
+ COLUMN_SQ_CFG_DIR_DIRECTION + " BIGINT, "
+ "CONSTRAINT " + CONSTRAINT_SQ_CFG_DIR_CONFIG + " "
+ "FOREIGN KEY (" + COLUMN_SQ_CFG_DIR_CONFIG + ") "
+ "REFERENCES " + TABLE_SQ_CONFIG + " (" + COLUMN_SQ_CFG_ID + "), "
+ "CONSTRAINT " + CONSTRAINT_SQ_CFG_DIR_DIRECTION + " "
+ "FOREIGN KEY (" + COLUMN_SQ_CFG_DIR_DIRECTION + ") "
+ "REFERENCES " + TABLE_SQ_DIRECTION + " (" + COLUMN_SQD_ID + ")"
+ ")";
// DDL: Create table SQ_INPUT
public static final String QUERY_CREATE_TABLE_SQ_INPUT =
"CREATE TABLE " + TABLE_SQ_INPUT + " ("
+ COLUMN_SQI_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQI_NAME + " VARCHAR(64), "
+ COLUMN_SQI_CONFIG + " BIGINT, "
+ COLUMN_SQI_INDEX + " SMALLINT, "
+ COLUMN_SQI_TYPE + " VARCHAR(32), "
+ COLUMN_SQI_STRMASK + " BOOLEAN, "
+ COLUMN_SQI_STRLENGTH + " SMALLINT, "
+ COLUMN_SQI_ENUMVALS + " VARCHAR(100),"
+ "CONSTRAINT " + CONSTRAINT_SQI_SQ_CFG + " "
+ "FOREIGN KEY (" + COLUMN_SQI_CONFIG + ") "
+ "REFERENCES " + TABLE_SQ_CONFIG + " (" + COLUMN_SQ_CFG_ID + ")"
+ ")";
// DDL: Create table SQ_LINK
public static final String QUERY_CREATE_TABLE_SQ_LINK =
"CREATE TABLE " + TABLE_SQ_LINK + " ("
+ COLUMN_SQ_LNK_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQ_LNK_CONNECTOR + " BIGINT, "
+ COLUMN_SQ_LNK_NAME + " VARCHAR(32),"
+ COLUMN_SQ_LNK_CREATION_DATE + " TIMESTAMP,"
+ COLUMN_SQ_LNK_UPDATE_DATE + " TIMESTAMP,"
+ "CONSTRAINT " + CONSTRAINT_SQ_LNK_SQC + " "
+ "FOREIGN KEY(" + COLUMN_SQ_LNK_CONNECTOR + ") "
+ " REFERENCES " + TABLE_SQ_CONNECTOR + " (" + COLUMN_SQC_ID + ")"
+ ")";
// DDL: Add enabled column to table SQ_LINK
public static final String QUERY_UPGRADE_TABLE_SQ_LINK_ADD_COLUMN_ENABLED =
"ALTER TABLE " + TABLE_SQ_LINK + " ADD "
+ COLUMN_SQ_LNK_ENABLED + " BOOLEAN "
+ "DEFAULT TRUE";
// DDL: Add creation_user column to table SQ_LINK
public static final String QUERY_UPGRADE_TABLE_SQ_LINK_ADD_COLUMN_CREATION_USER =
"ALTER TABLE " + TABLE_SQ_LINK + " ADD "
+ COLUMN_SQ_LNK_CREATION_USER + " VARCHAR(32) "
+ "DEFAULT NULL";
// DDL: Add update_user column to table SQ_LINK
public static final String QUERY_UPGRADE_TABLE_SQ_LINK_ADD_COLUMN_UPDATE_USER =
"ALTER TABLE " + TABLE_SQ_LINK + " ADD "
+ COLUMN_SQ_LNK_UPDATE_USER + " VARCHAR(32) "
+ "DEFAULT NULL";
// DDL: Create table SQ_JOB
public static final String QUERY_CREATE_TABLE_SQ_JOB =
"CREATE TABLE " + TABLE_SQ_JOB + " ("
+ COLUMN_SQB_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) PRIMARY KEY, "
+ COLUMN_SQB_LINK + " BIGINT, "
+ COLUMN_SQB_NAME + " VARCHAR(64), "
+ COLUMN_SQB_TYPE + " VARCHAR(64),"
+ COLUMN_SQB_CREATION_DATE + " TIMESTAMP,"
+ COLUMN_SQB_UPDATE_DATE + " TIMESTAMP,"
+ "CONSTRAINT " + CONSTRAINT_SQB_SQ_LNK + " "
+ "FOREIGN KEY(" + COLUMN_SQB_LINK + ") "
+ "REFERENCES " + TABLE_SQ_LINK + " (" + COLUMN_SQ_LNK_ID + ")"
+ ")";
// DDL: Add enabled column to table SQ_JOB
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_COLUMN_ENABLED =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD "
+ COLUMN_SQB_ENABLED + " BOOLEAN "
+ "DEFAULT TRUE";
// DDL: Add creation_user column to table SQ_JOB
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_COLUMN_CREATION_USER =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD "
+ COLUMN_SQB_CREATION_USER + " VARCHAR(32) "
+ "DEFAULT NULL";
// DDL: Add update_user column to table SQ_JOB
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_COLUMN_UPDATE_USER =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD "
+ COLUMN_SQB_UPDATE_USER + " VARCHAR(32) "
+ "DEFAULT NULL";
// DDL: Create table SQ_LINK_INPUT
public static final String QUERY_CREATE_TABLE_SQ_LINK_INPUT =
"CREATE TABLE " + TABLE_SQ_LINK_INPUT + " ("
+ COLUMN_SQ_LNKI_LINK + " BIGINT, "
+ COLUMN_SQ_LNKI_INPUT + " BIGINT, "
+ COLUMN_SQ_LNKI_VALUE + " LONG VARCHAR,"
+ "PRIMARY KEY (" + COLUMN_SQ_LNKI_LINK + ", " + COLUMN_SQ_LNKI_INPUT + "), "
+ "CONSTRAINT " + CONSTRAINT_SQ_LNKI_SQ_LNK + " "
+ "FOREIGN KEY (" + COLUMN_SQ_LNKI_LINK + ") "
+ "REFERENCES " + TABLE_SQ_LINK + " (" + COLUMN_SQ_LNK_ID + "),"
+ "CONSTRAINT " + CONSTRAINT_SQ_LNKI_SQI + " "
+ "FOREIGN KEY (" + COLUMN_SQ_LNKI_INPUT + ") "
+ "REFERENCES " + TABLE_SQ_INPUT + " (" + COLUMN_SQI_ID + ")"
+ ")";
// DDL: Create table SQ_JOB_INPUT
public static final String QUERY_CREATE_TABLE_SQ_JOB_INPUT =
"CREATE TABLE " + TABLE_SQ_JOB_INPUT + " ("
+ COLUMN_SQBI_JOB + " BIGINT, "
+ COLUMN_SQBI_INPUT + " BIGINT, "
+ COLUMN_SQBI_VALUE + " LONG VARCHAR,"
+ " PRIMARY KEY (" + COLUMN_SQBI_JOB + ", " + COLUMN_SQBI_INPUT + "), "
+ " CONSTRAINT " + CONSTRAINT_SQBI_SQB + " "
+ "FOREIGN KEY (" + COLUMN_SQBI_JOB + ") "
+ "REFERENCES " + TABLE_SQ_JOB + " (" + COLUMN_SQB_ID + "), "
+ " CONSTRAINT " + CONSTRAINT_SQBI_SQI + " "
+ "FOREIGN KEY (" + COLUMN_SQBI_INPUT + ") "
+ "REFERENCES " + TABLE_SQ_INPUT + " (" + COLUMN_SQI_ID + ")"
+ ")";
// DDL: Create table SQ_SUBMISSION
public static final String QUERY_CREATE_TABLE_SQ_SUBMISSION =
"CREATE TABLE " + TABLE_SQ_SUBMISSION + " ("
+ COLUMN_SQS_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), "
+ COLUMN_SQS_JOB + " BIGINT, "
+ COLUMN_SQS_STATUS + " VARCHAR(20), "
+ COLUMN_SQS_CREATION_DATE + " TIMESTAMP,"
+ COLUMN_SQS_UPDATE_DATE + " TIMESTAMP,"
+ COLUMN_SQS_EXTERNAL_ID + " VARCHAR(50), "
+ COLUMN_SQS_EXTERNAL_LINK + " VARCHAR(150), "
+ COLUMN_SQS_EXCEPTION + " VARCHAR(150), "
+ COLUMN_SQS_EXCEPTION_TRACE + " VARCHAR(750), "
+ "PRIMARY KEY (" + COLUMN_SQS_ID + "), "
+ "CONSTRAINT " + CONSTRAINT_SQS_SQB + " "
+ "FOREIGN KEY (" + COLUMN_SQS_JOB + ") "
+ "REFERENCES " + TABLE_SQ_JOB + "(" + COLUMN_SQB_ID + ") ON DELETE CASCADE"
+ ")";
// DDL: Add creation_user column to table SQ_SUBMISSION
public static final String QUERY_UPGRADE_TABLE_SQ_SUBMISSION_ADD_COLUMN_CREATION_USER =
"ALTER TABLE " + TABLE_SQ_SUBMISSION + " ADD "
+ COLUMN_SQS_CREATION_USER + " VARCHAR(32) "
+ "DEFAULT NULL";
// DDL: Add update_user column to table SQ_SUBMISSION
public static final String QUERY_UPGRADE_TABLE_SQ_SUBMISSION_ADD_COLUMN_UPDATE_USER =
"ALTER TABLE " + TABLE_SQ_SUBMISSION + " ADD "
+ COLUMN_SQS_UPDATE_USER + " VARCHAR(32) "
+ "DEFAULT NULL";
//DDL: Add update_user column to table SQ_SUBMISSION
public static final String QUERY_UPGRADE_TABLE_SQ_SUBMISSION_MODIFY_COLUMN_SQS_EXTERNAL_ID_VARCHAR_50 =
"ALTER TABLE " + TABLE_SQ_SUBMISSION + " ALTER COLUMN "
+ COLUMN_SQS_EXTERNAL_ID + " SET DATA TYPE VARCHAR(50)";
// DDL: Create table SQ_COUNTER_GROUP
public static final String QUERY_CREATE_TABLE_SQ_COUNTER_GROUP =
"CREATE TABLE " + TABLE_SQ_COUNTER_GROUP + " ("
+ COLUMN_SQG_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), "
+ COLUMN_SQG_NAME + " VARCHAR(75), "
+ "PRIMARY KEY (" + COLUMN_SQG_ID + "),"
+ "UNIQUE ( " + COLUMN_SQG_NAME + ")"
+ ")";
// DDL: Create table SQ_COUNTER
public static final String QUERY_CREATE_TABLE_SQ_COUNTER =
"CREATE TABLE " + TABLE_SQ_COUNTER + " ("
+ COLUMN_SQR_ID + " BIGINT GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), "
+ COLUMN_SQR_NAME + " VARCHAR(75), "
+ "PRIMARY KEY (" + COLUMN_SQR_ID + "), "
+ "UNIQUE ( " + COLUMN_SQR_NAME + ")"
+ ")";
// DDL: Create table SQ_COUNTER_SUBMISSION
public static final String QUERY_CREATE_TABLE_SQ_COUNTER_SUBMISSION =
"CREATE TABLE " + TABLE_SQ_COUNTER_SUBMISSION + " ("
+ COLUMN_SQRS_GROUP + " BIGINT, "
+ COLUMN_SQRS_COUNTER + " BIGINT, "
+ COLUMN_SQRS_SUBMISSION + " BIGINT, "
+ COLUMN_SQRS_VALUE + " BIGINT, "
+ "PRIMARY KEY (" + COLUMN_SQRS_GROUP + ", " + COLUMN_SQRS_COUNTER + ", " + COLUMN_SQRS_SUBMISSION + "), "
+ "CONSTRAINT " + CONSTRAINT_SQRS_SQG + " "
+ "FOREIGN KEY (" + COLUMN_SQRS_GROUP + ") "
+ "REFERENCES " + TABLE_SQ_COUNTER_GROUP + "(" + COLUMN_SQG_ID + "), "
+ "CONSTRAINT " + CONSTRAINT_SQRS_SQR + " "
+ "FOREIGN KEY (" + COLUMN_SQRS_COUNTER + ") "
+ "REFERENCES " + TABLE_SQ_COUNTER + "(" + COLUMN_SQR_ID + "), "
+ "CONSTRAINT " + CONSTRAINT_SQRS_SQS + " "
+ "FOREIGN KEY (" + COLUMN_SQRS_SUBMISSION + ") "
+ "REFERENCES " + TABLE_SQ_SUBMISSION + "(" + COLUMN_SQS_ID + ") ON DELETE CASCADE "
+ ")";
// DML: Get system key
public static final String STMT_SELECT_SYSTEM =
"SELECT "
+ COLUMN_SQM_VALUE
+ " FROM " + TABLE_SQ_SYSTEM
+ " WHERE " + COLUMN_SQM_KEY + " = ?";
// DML: Remove system key
public static final String STMT_DELETE_SYSTEM =
"DELETE FROM " + TABLE_SQ_SYSTEM
+ " WHERE " + COLUMN_SQM_KEY + " = ?";
// DML: Insert new system key
public static final String STMT_INSERT_SYSTEM =
"INSERT INTO " + TABLE_SQ_SYSTEM + "("
+ COLUMN_SQM_KEY + ", "
+ COLUMN_SQM_VALUE + ") "
+ "VALUES(?, ?)";
public static final String STMT_SELECT_SQD_ID_BY_SQD_NAME =
"SELECT " + COLUMN_SQD_ID + " FROM " + TABLE_SQ_DIRECTION
+ " WHERE " + COLUMN_SQD_NAME + "=?";
public static final String STMT_SELECT_SQD_NAME_BY_SQD_ID =
"SELECT " + COLUMN_SQD_NAME + " FROM " + TABLE_SQ_DIRECTION
+ " WHERE " + COLUMN_SQD_ID + "=?";
// DML: Fetch connector Given Name
public static final String STMT_FETCH_BASE_CONNECTOR =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONNECTOR
+ " WHERE " + COLUMN_SQC_NAME + " = ?";
// DML: Select all connectors
public static final String STMT_SELECT_CONNECTOR_ALL =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONNECTOR;
// DML: Fetch all configs for a given connector
public static final String STMT_FETCH_CONFIG_CONNECTOR =
"SELECT "
+ COLUMN_SQ_CFG_ID + ", "
+ COLUMN_SQ_CFG_OWNER + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_OWNER + " = ? "
+ " ORDER BY " + COLUMN_SQ_CFG_INDEX;
// DML: Fetch all driver configs
public static final String STMT_FETCH_CONFIG_DRIVER =
"SELECT "
+ COLUMN_SQ_CFG_ID + ", "
+ COLUMN_SQ_CFG_OWNER + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_OWNER + " IS NULL "
+ " ORDER BY " + COLUMN_SQ_CFG_TYPE + ", " + COLUMN_SQ_CFG_INDEX;
// DML: Fetch inputs for a given config
public static final String STMT_FETCH_INPUT =
"SELECT "
+ COLUMN_SQI_ID + ", "
+ COLUMN_SQI_NAME + ", "
+ COLUMN_SQI_CONFIG + ", "
+ COLUMN_SQI_INDEX + ", "
+ COLUMN_SQI_TYPE + ", "
+ COLUMN_SQI_STRMASK + ", "
+ COLUMN_SQI_STRLENGTH + ", "
+ COLUMN_SQI_ENUMVALS + ", "
+ "cast(null as varchar(100))"
+ " FROM " + TABLE_SQ_INPUT
+ " WHERE " + COLUMN_SQI_CONFIG + " = ?"
+ " ORDER BY " + COLUMN_SQI_INDEX;
// DML: Fetch inputs and values for a given link
public static final String STMT_FETCH_LINK_INPUT =
"SELECT "
+ COLUMN_SQI_ID + ", "
+ COLUMN_SQI_NAME + ", "
+ COLUMN_SQI_CONFIG + ", "
+ COLUMN_SQI_INDEX + ", "
+ COLUMN_SQI_TYPE + ", "
+ COLUMN_SQI_STRMASK + ", "
+ COLUMN_SQI_STRLENGTH + ","
+ COLUMN_SQI_ENUMVALS + ", "
+ COLUMN_SQ_LNKI_VALUE
+ " FROM " + TABLE_SQ_INPUT
+ " LEFT OUTER JOIN " + TABLE_SQ_LINK_INPUT
+ " ON " + COLUMN_SQ_LNKI_INPUT + " = " + COLUMN_SQI_ID
+ " AND " + COLUMN_SQ_LNKI_LINK + " = ?"
+ " WHERE " + COLUMN_SQI_CONFIG + " = ?"
+ " AND (" + COLUMN_SQ_LNKI_LINK + " = ?" + " OR " + COLUMN_SQ_LNKI_LINK + " IS NULL)"
+ " ORDER BY " + COLUMN_SQI_INDEX;
// DML: Fetch inputs and values for a given job
public static final String STMT_FETCH_JOB_INPUT =
"SELECT "
+ COLUMN_SQI_ID + ", "
+ COLUMN_SQI_NAME + ", "
+ COLUMN_SQI_CONFIG + ", "
+ COLUMN_SQI_INDEX + ", "
+ COLUMN_SQI_TYPE + ", "
+ COLUMN_SQI_STRMASK + ", "
+ COLUMN_SQI_STRLENGTH + ", "
+ COLUMN_SQI_ENUMVALS + ", "
+ COLUMN_SQBI_VALUE
+ " FROM " + TABLE_SQ_INPUT
+ " LEFT OUTER JOIN " + TABLE_SQ_JOB_INPUT
+ " ON " + COLUMN_SQBI_INPUT + " = " + COLUMN_SQI_ID
+ " AND " + COLUMN_SQBI_JOB + " = ?"
+ " WHERE " + COLUMN_SQI_CONFIG + " = ?"
+ " AND (" + COLUMN_SQBI_JOB + " = ? OR " + COLUMN_SQBI_JOB + " IS NULL)"
+ " ORDER BY " + COLUMN_SQI_INDEX;
// DML: Insert connector base
public static final String STMT_INSERT_CONNECTOR_BASE =
"INSERT INTO " + TABLE_SQ_CONNECTOR + " ("
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ ") VALUES (?, ?, ?)";
public static final String STMT_INSERT_CONNECTOR_WITHOUT_SUPPORTED_DIRECTIONS =
"INSERT INTO " + TABLE_SQ_CONNECTOR + " ("
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ ") VALUES (?, ?, ?)";
// DML: Insert config base
public static final String STMT_INSERT_CONFIG_BASE =
"INSERT INTO " + TABLE_SQ_CONFIG + " ("
+ COLUMN_SQ_CFG_OWNER + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ ") VALUES ( ?, ?, ?, ?)";
// DML: Insert config input
public static final String STMT_INSERT_INPUT_BASE =
"INSERT INTO " + TABLE_SQ_INPUT + " ("
+ COLUMN_SQI_NAME + ", "
+ COLUMN_SQI_CONFIG + ", "
+ COLUMN_SQI_INDEX + ", "
+ COLUMN_SQI_TYPE + ", "
+ COLUMN_SQI_STRMASK + ", "
+ COLUMN_SQI_STRLENGTH + ", "
+ COLUMN_SQI_ENUMVALS
+ ") VALUES (?, ?, ?, ?, ?, ?, ?)";
// Delete all configs for a given connector
public static final String STMT_DELETE_CONFIGS_FOR_CONNECTOR =
"DELETE FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_OWNER + " = ?";
// Delete all inputs for a given connector
public static final String STMT_DELETE_INPUTS_FOR_CONNECTOR =
"DELETE FROM " + TABLE_SQ_INPUT
+ " WHERE "
+ COLUMN_SQI_CONFIG
+ " IN (SELECT "
+ COLUMN_SQ_CFG_ID
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE "
+ COLUMN_SQ_CFG_OWNER + " = ?)";
// Delete all driver inputs
public static final String STMT_DELETE_DRIVER_INPUTS =
"DELETE FROM " + TABLE_SQ_INPUT
+ " WHERE "
+ COLUMN_SQI_CONFIG
+ " IN (SELECT "
+ COLUMN_SQ_CFG_ID
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE "
+ COLUMN_SQ_CFG_OWNER + " IS NULL)";
// Delete all driver configs
public static final String STMT_DELETE_DRIVER_CONFIGS =
"DELETE FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_OWNER + " IS NULL";
// Update the connector
public static final String STMT_UPDATE_CONNECTOR =
"UPDATE " + TABLE_SQ_CONNECTOR
+ " SET " + COLUMN_SQC_NAME + " = ?, "
+ COLUMN_SQC_CLASS + " = ?, "
+ COLUMN_SQC_VERSION + " = ? "
+ " WHERE " + COLUMN_SQC_ID + " = ?";
// DML: Insert new link
public static final String STMT_INSERT_LINK =
"INSERT INTO " + TABLE_SQ_LINK + " ("
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONNECTOR + ", "
+ COLUMN_SQ_LNK_ENABLED + ", "
+ COLUMN_SQ_LNK_CREATION_USER + ", "
+ COLUMN_SQ_LNK_CREATION_DATE + ", "
+ COLUMN_SQ_LNK_UPDATE_USER + ", "
+ COLUMN_SQ_LNK_UPDATE_DATE
+ ") VALUES (?, ?, ?, ?, ?, ?, ?)";
// DML: Insert new link inputs
public static final String STMT_INSERT_LINK_INPUT =
"INSERT INTO " + TABLE_SQ_LINK_INPUT + " ("
+ COLUMN_SQ_LNKI_LINK + ", "
+ COLUMN_SQ_LNKI_INPUT + ", "
+ COLUMN_SQ_LNKI_VALUE
+ ") VALUES (?, ?, ?)";
// DML: Update link
public static final String STMT_UPDATE_LINK =
"UPDATE " + TABLE_SQ_LINK + " SET "
+ COLUMN_SQ_LNK_NAME + " = ?, "
+ COLUMN_SQ_LNK_UPDATE_USER + " = ?, "
+ COLUMN_SQ_LNK_UPDATE_DATE + " = ? "
+ " WHERE " + COLUMN_SQ_LNK_ID + " = ?";
// DML: Enable or disable link
public static final String STMT_ENABLE_LINK =
"UPDATE " + TABLE_SQ_LINK + " SET "
+ COLUMN_SQ_LNK_ENABLED + " = ? "
+ " WHERE " + COLUMN_SQ_LNK_ID + " = ?";
// DML: Delete rows from link input table
public static final String STMT_DELETE_LINK_INPUT =
"DELETE FROM " + TABLE_SQ_LINK_INPUT
+ " WHERE " + COLUMN_SQ_LNKI_LINK + " = ?";
// DML: Delete row from link table
public static final String STMT_DELETE_LINK =
"DELETE FROM " + TABLE_SQ_LINK
+ " WHERE " + COLUMN_SQ_LNK_ID + " = ?";
// DML: Select one specific link
public static final String STMT_SELECT_LINK_SINGLE =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONNECTOR + ", "
+ COLUMN_SQ_LNK_ENABLED + ", "
+ COLUMN_SQ_LNK_CREATION_USER + ", "
+ COLUMN_SQ_LNK_CREATION_DATE + ", "
+ COLUMN_SQ_LNK_UPDATE_USER + ", "
+ COLUMN_SQ_LNK_UPDATE_DATE
+ " FROM " + TABLE_SQ_LINK
+ " WHERE " + COLUMN_SQ_LNK_ID + " = ?";
// DML: Select all connections
public static final String STMT_SELECT_LINK_ALL =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONNECTOR + ", "
+ COLUMN_SQ_LNK_ENABLED + ", "
+ COLUMN_SQ_LNK_CREATION_USER + ", "
+ COLUMN_SQ_LNK_CREATION_DATE + ", "
+ COLUMN_SQ_LNK_UPDATE_USER + ", "
+ COLUMN_SQ_LNK_UPDATE_DATE
+ " FROM " + TABLE_SQ_LINK;
// DML: Select all connections for a specific connector.
public static final String STMT_SELECT_LINK_FOR_CONNECTOR =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONNECTOR + ", "
+ COLUMN_SQ_LNK_ENABLED + ", "
+ COLUMN_SQ_LNK_CREATION_USER + ", "
+ COLUMN_SQ_LNK_CREATION_DATE + ", "
+ COLUMN_SQ_LNK_UPDATE_USER + ", "
+ COLUMN_SQ_LNK_UPDATE_DATE
+ " FROM " + TABLE_SQ_LINK
+ " WHERE " + COLUMN_SQ_LNK_CONNECTOR + " = ?";
// DML: Check if given link exists
public static final String STMT_SELECT_LINK_CHECK_BY_ID =
"SELECT count(*) FROM " + TABLE_SQ_LINK
+ " WHERE " + COLUMN_SQ_LNK_ID + " = ?";
// DML: Insert new job
public static final String STMT_INSERT_JOB =
"INSERT INTO " + TABLE_SQ_JOB + " ("
+ COLUMN_SQB_NAME + ", "
+ COLUMN_SQB_FROM_LINK + ", "
+ COLUMN_SQB_TO_LINK + ", "
+ COLUMN_SQB_ENABLED + ", "
+ COLUMN_SQB_CREATION_USER + ", "
+ COLUMN_SQB_CREATION_DATE + ", "
+ COLUMN_SQB_UPDATE_USER + ", "
+ COLUMN_SQB_UPDATE_DATE
+ ") VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
// DML: Insert new job inputs
public static final String STMT_INSERT_JOB_INPUT =
"INSERT INTO " + TABLE_SQ_JOB_INPUT + " ("
+ COLUMN_SQBI_JOB + ", "
+ COLUMN_SQBI_INPUT + ", "
+ COLUMN_SQBI_VALUE
+ ") VALUES (?, ?, ?)";
public static final String STMT_UPDATE_JOB =
"UPDATE " + TABLE_SQ_JOB + " SET "
+ COLUMN_SQB_NAME + " = ?, "
+ COLUMN_SQB_UPDATE_USER + " = ?, "
+ COLUMN_SQB_UPDATE_DATE + " = ? "
+ " WHERE " + COLUMN_SQB_ID + " = ?";
// DML: Enable or disable job
public static final String STMT_ENABLE_JOB =
"UPDATE " + TABLE_SQ_JOB + " SET "
+ COLUMN_SQB_ENABLED + " = ? "
+ " WHERE " + COLUMN_SQB_ID + " = ?";
// DML: Delete rows from job input table
public static final String STMT_DELETE_JOB_INPUT =
"DELETE FROM " + TABLE_SQ_JOB_INPUT
+ " WHERE " + COLUMN_SQBI_JOB + " = ?";
// DML: Delete row from job table
public static final String STMT_DELETE_JOB =
"DELETE FROM " + TABLE_SQ_JOB
+ " WHERE " + COLUMN_SQB_ID + " = ?";
// DML: Check if given job exists
public static final String STMT_SELECT_JOB_CHECK_BY_ID =
"SELECT count(*) FROM " + TABLE_SQ_JOB
+ " WHERE " + COLUMN_SQB_ID + " = ?";
// DML: Check if there are jobs for given link
public static final String STMT_SELECT_JOBS_FOR_LINK_CHECK =
"SELECT"
+ " count(*)"
+ " FROM " + TABLE_SQ_JOB
+ " JOIN " + TABLE_SQ_LINK
+ " ON " + COLUMN_SQB_FROM_LINK + " = " + COLUMN_SQ_LNK_ID
+ " WHERE " + COLUMN_SQ_LNK_ID + " = ? ";
// DML: Select all jobs
public static final String STMT_SELECT_JOB =
"SELECT "
+ "FROM_LINK." + COLUMN_SQ_LNK_CONNECTOR + ", "
+ "TO_LINK." + COLUMN_SQ_LNK_CONNECTOR + ", "
+ "JOB." + COLUMN_SQB_ID + ", "
+ "JOB." + COLUMN_SQB_NAME + ", "
+ "JOB." + COLUMN_SQB_FROM_LINK + ", "
+ "JOB." + COLUMN_SQB_TO_LINK + ", "
+ "JOB." + COLUMN_SQB_ENABLED + ", "
+ "JOB." + COLUMN_SQB_CREATION_USER + ", "
+ "JOB." + COLUMN_SQB_CREATION_DATE + ", "
+ "JOB." + COLUMN_SQB_UPDATE_USER + ", "
+ "JOB." + COLUMN_SQB_UPDATE_DATE
+ " FROM " + TABLE_SQ_JOB + " JOB"
+ " LEFT JOIN " + TABLE_SQ_LINK + " FROM_LINK"
+ " ON " + COLUMN_SQB_FROM_LINK + " = FROM_LINK." + COLUMN_SQ_LNK_ID
+ " LEFT JOIN " + TABLE_SQ_LINK + " TO_LINK"
+ " ON " + COLUMN_SQB_TO_LINK + " = TO_LINK." + COLUMN_SQ_LNK_ID;
// DML: Select one specific job
public static final String STMT_SELECT_JOB_SINGLE_BY_ID =
STMT_SELECT_JOB + " WHERE " + COLUMN_SQB_ID + " = ?";
// DML: Select all jobs for a Connector
public static final String STMT_SELECT_ALL_JOBS_FOR_CONNECTOR = STMT_SELECT_JOB
+ " WHERE FROM_LINK." + COLUMN_SQ_LNK_CONNECTOR + " = ? OR TO_LINK."
+ COLUMN_SQ_LNK_CONNECTOR + " = ?";
// DML: Insert new submission
public static final String STMT_INSERT_SUBMISSION =
"INSERT INTO " + TABLE_SQ_SUBMISSION + "("
+ COLUMN_SQS_JOB + ", "
+ COLUMN_SQS_STATUS + ", "
+ COLUMN_SQS_CREATION_USER + ", "
+ COLUMN_SQS_CREATION_DATE + ", "
+ COLUMN_SQS_UPDATE_USER + ", "
+ COLUMN_SQS_UPDATE_DATE + ", "
+ COLUMN_SQS_EXTERNAL_ID + ", "
+ COLUMN_SQS_EXTERNAL_LINK + ", "
+ COLUMN_SQS_EXCEPTION + ", "
+ COLUMN_SQS_EXCEPTION_TRACE + ") "
+ " VALUES(?, ?, ?, ?, ?, ?, ?, substr(?, 1, 150) , substr(?, 1, 150), substr(?, 1, 750))";
// DML: Update existing submission
public static final String STMT_UPDATE_SUBMISSION =
"UPDATE " + TABLE_SQ_SUBMISSION + " SET "
+ COLUMN_SQS_STATUS + " = ?, "
+ COLUMN_SQS_UPDATE_USER + " = ?, "
+ COLUMN_SQS_UPDATE_DATE + " = ?, "
+ COLUMN_SQS_EXCEPTION + " = ?, "
+ COLUMN_SQS_EXCEPTION_TRACE + " = ?"
+ " WHERE " + COLUMN_SQS_ID + " = ?";
// DML: Check if given submission exists
public static final String STMT_SELECT_SUBMISSION_CHECK =
"SELECT"
+ " count(*)"
+ " FROM " + TABLE_SQ_SUBMISSION
+ " WHERE " + COLUMN_SQS_ID + " = ?";
// DML: Purge old entries
public static final String STMT_PURGE_SUBMISSIONS =
"DELETE FROM " + TABLE_SQ_SUBMISSION
+ " WHERE " + COLUMN_SQS_UPDATE_DATE + " < ?";
// DML: Get unfinished
public static final String STMT_SELECT_SUBMISSION_UNFINISHED =
"SELECT "
+ COLUMN_SQS_ID + ", "
+ COLUMN_SQS_JOB + ", "
+ COLUMN_SQS_STATUS + ", "
+ COLUMN_SQS_CREATION_USER + ", "
+ COLUMN_SQS_CREATION_DATE + ", "
+ COLUMN_SQS_UPDATE_USER + ", "
+ COLUMN_SQS_UPDATE_DATE + ", "
+ COLUMN_SQS_EXTERNAL_ID + ", "
+ COLUMN_SQS_EXTERNAL_LINK + ", "
+ COLUMN_SQS_EXCEPTION + ", "
+ COLUMN_SQS_EXCEPTION_TRACE
+ " FROM " + TABLE_SQ_SUBMISSION
+ " WHERE " + COLUMN_SQS_STATUS + " = ?";
// DML : Get all submissions
public static final String STMT_SELECT_SUBMISSIONS =
"SELECT "
+ COLUMN_SQS_ID + ", "
+ COLUMN_SQS_JOB + ", "
+ COLUMN_SQS_STATUS + ", "
+ COLUMN_SQS_CREATION_USER + ", "
+ COLUMN_SQS_CREATION_DATE + ", "
+ COLUMN_SQS_UPDATE_USER + ", "
+ COLUMN_SQS_UPDATE_DATE + ", "
+ COLUMN_SQS_EXTERNAL_ID + ", "
+ COLUMN_SQS_EXTERNAL_LINK + ", "
+ COLUMN_SQS_EXCEPTION + ", "
+ COLUMN_SQS_EXCEPTION_TRACE
+ " FROM " + TABLE_SQ_SUBMISSION
+ " ORDER BY " + COLUMN_SQS_UPDATE_DATE + " DESC";
// DML: Get submissions for a job
public static final String STMT_SELECT_SUBMISSIONS_FOR_JOB =
"SELECT "
+ COLUMN_SQS_ID + ", "
+ COLUMN_SQS_JOB + ", "
+ COLUMN_SQS_STATUS + ", "
+ COLUMN_SQS_CREATION_USER + ", "
+ COLUMN_SQS_CREATION_DATE + ", "
+ COLUMN_SQS_UPDATE_USER + ", "
+ COLUMN_SQS_UPDATE_DATE + ", "
+ COLUMN_SQS_EXTERNAL_ID + ", "
+ COLUMN_SQS_EXTERNAL_LINK + ", "
+ COLUMN_SQS_EXCEPTION + ", "
+ COLUMN_SQS_EXCEPTION_TRACE
+ " FROM " + TABLE_SQ_SUBMISSION
+ " WHERE " + COLUMN_SQS_JOB + " = ?"
+ " ORDER BY " + COLUMN_SQS_UPDATE_DATE + " DESC";
// DML: Select counter group
public static final String STMT_SELECT_COUNTER_GROUP =
"SELECT "
+ COLUMN_SQG_ID + ", "
+ COLUMN_SQG_NAME + " "
+ "FROM " + TABLE_SQ_COUNTER_GROUP + " "
+ "WHERE " + COLUMN_SQG_NAME + " = substr(?, 1, 75)";
// DML: Insert new counter group
public static final String STMT_INSERT_COUNTER_GROUP =
"INSERT INTO " + TABLE_SQ_COUNTER_GROUP + " ("
+ COLUMN_SQG_NAME + ") "
+ "VALUES (substr(?, 1, 75))";
// DML: Select counter
public static final String STMT_SELECT_COUNTER =
"SELECT "
+ COLUMN_SQR_ID + ", "
+ COLUMN_SQR_NAME + " "
+ "FROM " + TABLE_SQ_COUNTER + " "
+ "WHERE " + COLUMN_SQR_NAME + " = substr(?, 1, 75)";
// DML: Insert new counter
public static final String STMT_INSERT_COUNTER =
"INSERT INTO " + TABLE_SQ_COUNTER + " ("
+ COLUMN_SQR_NAME + ") "
+ "VALUES (substr(?, 1, 75))";
// DML: Insert new counter submission
public static final String STMT_INSERT_COUNTER_SUBMISSION =
"INSERT INTO " + TABLE_SQ_COUNTER_SUBMISSION + " ("
+ COLUMN_SQRS_GROUP + ", "
+ COLUMN_SQRS_COUNTER + ", "
+ COLUMN_SQRS_SUBMISSION + ", "
+ COLUMN_SQRS_VALUE + ") "
+ "VALUES (?, ?, ?, ?)";
// DML: Select counter submission
public static final String STMT_SELECT_COUNTER_SUBMISSION =
"SELECT "
+ COLUMN_SQG_NAME + ", "
+ COLUMN_SQR_NAME + ", "
+ COLUMN_SQRS_VALUE + " "
+ "FROM " + TABLE_SQ_COUNTER_SUBMISSION + " "
+ "LEFT JOIN " + TABLE_SQ_COUNTER_GROUP
+ " ON " + COLUMN_SQRS_GROUP + " = " + COLUMN_SQG_ID + " "
+ "LEFT JOIN " + TABLE_SQ_COUNTER
+ " ON " + COLUMN_SQRS_COUNTER + " = " + COLUMN_SQR_ID + " "
+ "WHERE " + COLUMN_SQRS_SUBMISSION + " = ? ";
// DML: Delete rows from counter submission table
public static final String STMT_DELETE_COUNTER_SUBMISSION =
"DELETE FROM " + TABLE_SQ_COUNTER_SUBMISSION
+ " WHERE " + COLUMN_SQRS_SUBMISSION + " = ?";
// DDL: Increased size of SQ_CONNECTOR.SQC_VERSION to 64
public static final String QUERY_UPGRADE_TABLE_SQ_CONNECTOR_MODIFY_COLUMN_SQC_VERSION_VARCHAR_64 =
"ALTER TABLE " + TABLE_SQ_CONNECTOR + " ALTER COLUMN "
+ COLUMN_SQC_VERSION + " SET DATA TYPE VARCHAR(64)";
// Version 4 Upgrade
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_RENAME_COLUMN_SQB_LINK_TO_SQB_FROM_LINK =
"RENAME COLUMN " + TABLE_SQ_JOB + "." + COLUMN_SQB_LINK
+ " TO " + COLUMN_SQB_FROM_LINK;
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_COLUMN_SQB_TO_LINK =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD COLUMN " + COLUMN_SQB_TO_LINK
+ " BIGINT";
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_REMOVE_CONSTRAINT_SQB_SQ_LNK =
"ALTER TABLE " + TABLE_SQ_JOB + " DROP CONSTRAINT " + CONSTRAINT_SQB_SQ_LNK;
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_CONSTRAINT_SQB_SQ_LNK_FROM =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD CONSTRAINT " + CONSTRAINT_SQB_SQ_LNK_FROM
+ " FOREIGN KEY (" + COLUMN_SQB_FROM_LINK + ") REFERENCES "
+ TABLE_SQ_LINK + " (" + COLUMN_SQ_LNK_ID + ")";
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_CONSTRAINT_SQB_SQ_LNK_TO =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD CONSTRAINT " + CONSTRAINT_SQB_SQ_LNK_TO
+ " FOREIGN KEY (" + COLUMN_SQB_TO_LINK + ") REFERENCES "
+ TABLE_SQ_LINK + " (" + COLUMN_SQ_LNK_ID + ")";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_RENAME_COLUMN_SQ_CFG_OPERATION_TO_SQ_CFG_DIRECTION =
"RENAME COLUMN " + TABLE_SQ_CONFIG + "." + COLUMN_SQ_CFG_OPERATION
+ " TO " + COLUMN_SQ_CFG_DIRECTION;
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_SQ_CFG_OPERATION_TO_SQ_CFG_DIRECTION =
"UPDATE " + TABLE_SQ_CONFIG + " SET " + COLUMN_SQ_CFG_DIRECTION
+ "=? WHERE " + COLUMN_SQ_CFG_DIRECTION + "=?"
+ " AND " + COLUMN_SQ_CFG_OWNER + " IS NOT NULL";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_CONNECTOR =
"UPDATE " + TABLE_SQ_CONFIG + " SET " + COLUMN_SQ_CFG_OWNER + "= ?"
+ " WHERE " + COLUMN_SQ_CFG_OWNER + " IS NULL AND "
+ COLUMN_SQ_CFG_NAME + " IN (?, ?)";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_CONNECTOR_HDFS_CONFIG_DIRECTION =
"UPDATE " + TABLE_SQ_CONFIG + " SET " + COLUMN_SQ_CFG_DIRECTION + "= ?"
+ " WHERE " + COLUMN_SQ_CFG_NAME + "= ?";
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_UPDATE_SQB_TO_LINK_COPY_SQB_FROM_LINK =
"UPDATE " + TABLE_SQ_JOB + " SET "
+ COLUMN_SQB_TO_LINK + "=" + COLUMN_SQB_FROM_LINK
+ " WHERE " + COLUMN_SQB_TYPE + "= ?";
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_UPDATE_SQB_FROM_LINK =
"UPDATE " + TABLE_SQ_JOB + " SET " + COLUMN_SQB_FROM_LINK + "=?"
+ " WHERE " + COLUMN_SQB_TYPE + "= ?";
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_UPDATE_SQB_TO_LINK =
"UPDATE " + TABLE_SQ_JOB + " SET " + COLUMN_SQB_TO_LINK + "=?"
+ " WHERE " + COLUMN_SQB_TYPE + "= ?";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_SQ_CFG_NAME =
"UPDATE " + TABLE_SQ_CONFIG + " SET "
+ COLUMN_SQ_CFG_NAME + "= ?"
+ " WHERE " + COLUMN_SQ_CFG_NAME + "= ?"
+ " AND " + COLUMN_SQ_CFG_DIRECTION + "= ?";
/**
* Intended to rename configs based on direction.
* e.g. If SQ_CONFIG.SQ_CFG_NAME = 'table' and parameter 1 = 'from'
* then SQ_CONFIG.SQ_CFG_NAME = 'fromJobConfig'.
*/
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_TABLE_INPUT_NAMES =
"UPDATE " + TABLE_SQ_INPUT + " SET "
+ COLUMN_SQI_NAME + "=("
+ "? || UPPER(SUBSTR(" + COLUMN_SQI_NAME + ",1,1))"
+ " || SUBSTR(" + COLUMN_SQI_NAME + ",2) )"
+ " WHERE " + COLUMN_SQI_CONFIG + " IN ("
+ " SELECT " + COLUMN_SQ_CFG_ID + " FROM " + TABLE_SQ_CONFIG + " WHERE " + COLUMN_SQ_CFG_NAME + "= ?"
+ " AND " + COLUMN_SQ_CFG_DIRECTION + "= ?)";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_DIRECTION_TO_NULL =
"UPDATE " + TABLE_SQ_CONFIG + " SET "
+ COLUMN_SQ_CFG_DIRECTION + "= NULL"
+ " WHERE " + COLUMN_SQ_CFG_NAME + "= ?";
public static final String QUERY_SELECT_THROTTLING_CONFIG_INPUT_IDS =
"SELECT SQI." + COLUMN_SQI_ID + " FROM " + TABLE_SQ_INPUT + " SQI"
+ " INNER JOIN " + TABLE_SQ_CONFIG + " SQ_CFG ON SQI." + COLUMN_SQI_CONFIG + "=SQ_CFG." + COLUMN_SQ_CFG_ID
+ " WHERE SQ_CFG." + COLUMN_SQ_CFG_NAME + "='throttling' AND SQ_CFG." + COLUMN_SQ_CFG_DIRECTION + "=?";
/**
* Intended to change SQ_JOB_INPUT.SQBI_INPUT from EXPORT
* throttling config, to IMPORT throttling config.
*/
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_INPUT_UPDATE_THROTTLING_CONFIG_INPUTS =
"UPDATE " + TABLE_SQ_JOB_INPUT + " SQBI SET"
+ " SQBI." + COLUMN_SQBI_INPUT + "=(" + QUERY_SELECT_THROTTLING_CONFIG_INPUT_IDS
+ " AND SQI." + COLUMN_SQI_NAME + "=("
+ "SELECT SQI2." + COLUMN_SQI_NAME + " FROM " + TABLE_SQ_INPUT + " SQI2"
+ " WHERE SQI2." + COLUMN_SQI_ID + "=SQBI." + COLUMN_SQBI_INPUT + " FETCH FIRST 1 ROWS ONLY"
+ "))"
+ "WHERE SQBI." + COLUMN_SQBI_INPUT + " IN (" + QUERY_SELECT_THROTTLING_CONFIG_INPUT_IDS + ")";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_REMOVE_EXTRA_CONFIG_INPUTS =
"DELETE FROM " + TABLE_SQ_INPUT + " SQI"
+ " WHERE SQI." + COLUMN_SQI_CONFIG + " IN ("
+ "SELECT SQ_CFG." + COLUMN_SQ_CFG_ID + " FROM " + TABLE_SQ_CONFIG + " SQ_CFG "
+ " WHERE SQ_CFG." + COLUMN_SQ_CFG_NAME + "= ?"
+ " AND SQ_CFG." + COLUMN_SQ_CFG_DIRECTION + "= ?)";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_REMOVE_EXTRA_DRIVER_CONFIG =
"DELETE FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_NAME + "= ?"
+ " AND " + COLUMN_SQ_CFG_DIRECTION + "= ?";
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_UPDATE_DRIVER_INDEX =
"UPDATE " + TABLE_SQ_CONFIG + " SET "
+ COLUMN_SQ_CFG_INDEX + "= ?"
+ " WHERE " + COLUMN_SQ_CFG_NAME + "= ?";
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_REMOVE_COLUMN_SQB_TYPE =
"ALTER TABLE " + TABLE_SQ_JOB + " DROP COLUMN " + COLUMN_SQB_TYPE;
public static final String QUERY_UPGRADE_TABLE_SQ_JOB_ADD_UNIQUE_CONSTRAINT_NAME =
"ALTER TABLE " + TABLE_SQ_JOB + " ADD CONSTRAINT "
+ CONSTRAINT_SQB_NAME_UNIQUE + " UNIQUE (" + COLUMN_SQB_NAME + ")";
public static final String QUERY_UPGRADE_TABLE_SQ_LINK_ADD_UNIQUE_CONSTRAINT_NAME =
"ALTER TABLE " + TABLE_SQ_LINK + " ADD CONSTRAINT "
+ CONSTRAINT_SQ_LNK_NAME_UNIQUE + " UNIQUE (" + COLUMN_SQ_LNK_NAME + ")";
public static final String STMT_INSERT_DIRECTION = "INSERT INTO " + TABLE_SQ_DIRECTION + " "
+ "(" + COLUMN_SQD_NAME + ") VALUES (?)";
// DML: Fetch all configs
public static final String STMT_FETCH_CONFIG_DIRECTIONS =
"SELECT "
+ COLUMN_SQ_CFG_ID + ", "
+ COLUMN_SQ_CFG_DIRECTION
+ " FROM " + TABLE_SQ_CONFIG;
public static final String QUERY_UPGRADE_TABLE_SQ_CONFIG_DROP_COLUMN_SQ_CFG_DIRECTION_VARCHAR =
"ALTER TABLE " + TABLE_SQ_CONFIG + " DROP COLUMN " + COLUMN_SQ_CFG_DIRECTION;
public static final String STMT_INSERT_SQ_CONNECTOR_DIRECTIONS =
"INSERT INTO " + TABLE_SQ_CONNECTOR_DIRECTIONS + " "
+ "(" + COLUMN_SQCD_CONNECTOR + ", " + COLUMN_SQCD_DIRECTION + ")"
+ " VALUES (?, ?)";
public static final String STMT_INSERT_SQ_CONFIG_DIRECTIONS =
"INSERT INTO " + TABLE_SQ_CONFIG_DIRECTIONS + " "
+ "(" + COLUMN_SQ_CFG_DIR_CONFIG + ", " + COLUMN_SQ_CFG_DIR_DIRECTION + ")"
+ " VALUES (?, ?)";
public static final String STMT_SELECT_SQ_CONNECTOR_DIRECTIONS_ALL =
"SELECT " + COLUMN_SQCD_CONNECTOR + ", " + COLUMN_SQCD_DIRECTION
+ " FROM " + TABLE_SQ_CONNECTOR_DIRECTIONS;
public static final String STMT_SELECT_SQ_CONNECTOR_DIRECTIONS =
STMT_SELECT_SQ_CONNECTOR_DIRECTIONS_ALL + " WHERE "
+ COLUMN_SQCD_CONNECTOR + " = ?";
public static final String STMT_SELECT_SQ_CONFIG_DIRECTIONS_ALL =
"SELECT " + COLUMN_SQ_CFG_DIR_CONFIG + ", " + COLUMN_SQ_CFG_DIR_DIRECTION
+ " FROM " + TABLE_SQ_CONFIG_DIRECTIONS;
public static final String STMT_SELECT_SQ_CONFIG_DIRECTIONS =
STMT_SELECT_SQ_CONFIG_DIRECTIONS_ALL + " WHERE "
+ COLUMN_SQ_CFG_DIR_CONFIG + " = ?";
private DerbySchemaQuery() {
// Disable explicit object creation
}
}