5
0
mirror of https://github.com/apache/sqoop.git synced 2025-05-17 01:11:07 +08:00

SQOOP-1589: Sqoop2: Create common constants, error codes, and queries

(Abraham Elmahrek via Jarek Jarcec Cecho)
This commit is contained in:
Jarek Jarcec Cecho 2014-11-10 16:37:00 -08:00
parent 4640d81ad3
commit 5de4b43782
18 changed files with 3445 additions and 2909 deletions

View File

@ -284,6 +284,11 @@ limitations under the License.
<artifactId>sqoop-spi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-derby</artifactId>

View File

@ -33,6 +33,7 @@ limitations under the License.
<packaging>pom</packaging>
<modules>
<module>repository-common</module>
<module>repository-derby</module>
</modules>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.sqoop</groupId>
<artifactId>repository</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-common</artifactId>
<name>Sqoop Common Repository</name>
<dependencies>
<dependency>
<groupId>org.apache.sqoop</groupId>
<artifactId>sqoop-core</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sqoop</groupId>
<artifactId>sqoop-core</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,24 @@
/**
* 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.common;
public class CommonRepoConstants {
public static final String SYSKEY_VERSION = "repository.version";
}

View File

@ -0,0 +1,201 @@
/**
* 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.common;
import org.apache.sqoop.common.ErrorCode;
public enum CommonRepositoryError implements ErrorCode {
// JDBC Repository Handler Errors: Prefix COMMON
/** The system was unable to run the specified query. */
COMMON_0000("Unable to run specified query"),
/** The system was unable to query the repository for given entity */
COMMON_0001("Unable to retrieve entity data"),
/** The repository contains more than one connector with same name */
COMMON_0002("Invalid entity state - multiple connectors with name"),
/** The system does not support the given input type.*/
COMMON_0003("Unknown input type encountered"),
/** The system does not support the given config type.*/
COMMON_0004("Unknown config type encountered"),
/** No input was found for the given config. */
COMMON_0005("The config contains no input"),
/** The system could not load the config due to unexpected position of input.*/
COMMON_0006("The config input retrieved does not match expected position"),
/**
* The system could not load the connector due to unexpected position
* of config.
*/
COMMON_0007("The config retrieved does not match expected position"),
/**
* The system was not able to register entity due to a pre-assigned
* persistence identifier.
*/
COMMON_0008("Entity cannot have preassigned persistence id"),
/**
* The system was unable to register various entities.
*/
COMMON_0009("Unexpected update count when registering entity"),
/**
* The system was unable to register entity due to a failure to retrieve
* the generated identifier.
*/
COMMON_0010("Unable to retrieve generated identifier"),
/**
* The system was unable to register connector due to a server
* error.
*/
COMMON_0011("Registration of connector failed"),
/**
* The system was not able to register connector due to an unexpected
* update count.
*/
COMMON_0012("Unexpected update count on config registration"),
/**
* The system was unable to register connector due to a failure to
* retrieve the generated identifier for a config.
*/
COMMON_0013("Unable to retrieve generated identifier for config"),
/**
* The system was unable to register connector due to an unexpected
* update count for config input registration.
*/
COMMON_0014("Unexpected update count for config input"),
/**
* The system was unable to register connector due to a failure to
* retrieve the generated identifier for a config input.
*/
COMMON_0015("Unable to retrieve generated identifier for config input"),
/** We cant create new link in repository **/
COMMON_0016("Unable to create new link data"),
/** We can't save values for input to repository **/
COMMON_0017("Unable to save input values to the repository"),
/** We can't update link in repository **/
COMMON_0018("Unable to update link in repository"),
/** We can't delete link in repository **/
COMMON_0019("Unable to delete link in repository"),
/** We can't restore link from repository **/
COMMON_0020("Unable to load link from repository"),
/** We can't restore specific link from repository **/
COMMON_0021("Unable to load specific link from repository"),
/** We're unable to check if given link already exists */
COMMON_0022("Unable to check if given link exists"),
/** We cant create new job in repository **/
COMMON_0023("Unable to create new job data"),
/** We can't update job in repository **/
COMMON_0024("Unable to update job in repository"),
/** We can't delete job in repository **/
COMMON_0025("Unable to delete job in repository"),
/** We're unable to check if given job already exists */
COMMON_0026("Unable to check if given job exists"),
/** We can't restore specific job from repository **/
COMMON_0027("Unable to load specific job from repository"),
/** We can't restore job from repository **/
COMMON_0028("Unable to load job from repository"),
/** Can't verify if link is referenced from somewhere **/
COMMON_0029("Unable to check if link is in use"),
/** We're unable to check if given submission already exists */
COMMON_0030("Unable to check if given submission exists"),
/** We cant create new submission in repository **/
COMMON_0031("Unable to create new submission data"),
/** We can't update submission in repository **/
COMMON_0032("Unable to update submission in the repository"),
/** Can't purge old submissions **/
COMMON_0033("Unable to purge old submissions"),
/** Can't retrieve unfinished submissions **/
COMMON_0034("Can't retrieve unfinished submissions"),
/** Can't update connector **/
COMMON_0035("Update of connector failed"),
/** Can't retrieve all submissions **/
COMMON_0036("Can't retrieve all submissions"),
/** Can't retrieve submissions for a job **/
COMMON_0037("Can't retrieve submissions for a job"),
/** Can't enable/disable link **/
COMMON_0038("Can't enable/disable link"),
/** Can't enable/disable job **/
COMMON_0039("Can't enable/disable job"),
/** Can't update driver config **/
COMMON_0040("Update of driver config failed"),
/** Can't retrieve all connectors **/
COMMON_0041("Can't retrieve all connectors"),
/** Can't register config direction **/
COMMON_0042("Could not register config direction"),
/** Can't set connector direction **/
COMMON_0043("Could not set connector direction"),
/** The system was unable to register driver due to a server error **/
COMMON_0044("Registration of driver failed")
;
private final String message;
private CommonRepositoryError(String message) {
this.message = message;
}
public String getCode() {
return name();
}
public String getMessage() {
return message;
}
}

View File

@ -0,0 +1,550 @@
/**
* 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.common;
import static org.apache.sqoop.repository.common.CommonRepositorySchemaConstants.*;
public class CommonRepositoryInsertUpdateDeleteSelectQuery {
/*******DIRECTION TABLE **************/
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 + "=?";
/*********CONFIGURABLE TABLE ***************/
//DML: Get configurable by given name
public static final String STMT_SELECT_FROM_CONFIGURABLE =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONFIGURABLE
+ " WHERE " + COLUMN_SQC_NAME + " = ?";
//DML: Get all configurables for a given type
public static final String STMT_SELECT_CONFIGURABLE_ALL_FOR_TYPE =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONFIGURABLE
+ " WHERE " + COLUMN_SQC_TYPE + " = ?";
//DML: Insert into configurable
public static final String STMT_INSERT_INTO_CONFIGURABLE =
"INSERT INTO " + TABLE_SQ_CONFIGURABLE + " ("
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION + ", "
+ COLUMN_SQC_TYPE
+ ") VALUES (?, ?, ?, ?)";
//Delete all configs for a given configurable
public static final String STMT_DELETE_CONFIGS_FOR_CONFIGURABLE =
"DELETE FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_CONFIGURABLE + " = ?";
//Delete all inputs for a given configurable
public static final String STMT_DELETE_INPUTS_FOR_CONFIGURABLE =
"DELETE FROM " + TABLE_SQ_INPUT
+ " WHERE "
+ COLUMN_SQI_CONFIG
+ " IN (SELECT "
+ COLUMN_SQ_CFG_ID
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE "
+ COLUMN_SQ_CFG_CONFIGURABLE + " = ?)";
//Update the configurable
public static final String STMT_UPDATE_CONFIGURABLE =
"UPDATE " + TABLE_SQ_CONFIGURABLE
+ " SET " + COLUMN_SQC_NAME + " = ?, "
+ COLUMN_SQC_CLASS + " = ?, "
+ COLUMN_SQC_VERSION + " = ?, "
+ COLUMN_SQC_TYPE + " = ? "
+ " WHERE " + COLUMN_SQC_ID + " = ?";
/**********CONFIG TABLE **************/
//DML: Get all configs for a given configurable
public static final String STMT_SELECT_CONFIG_FOR_CONFIGURABLE =
"SELECT "
+ COLUMN_SQ_CFG_ID + ", "
+ COLUMN_SQ_CFG_CONFIGURABLE + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_CONFIGURABLE + " = ? "
+ " ORDER BY " + COLUMN_SQ_CFG_INDEX;
//DML: Insert into config
public static final String STMT_INSERT_INTO_CONFIG =
"INSERT INTO " + TABLE_SQ_CONFIG + " ("
+ COLUMN_SQ_CFG_CONFIGURABLE + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ ") VALUES ( ?, ?, ?, ?)";
/********** INPUT TABLE **************/
// DML: Get inputs for a given config
public static final String STMT_SELECT_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: Insert into config input
public static final String STMT_INSERT_INTO_INPUT =
"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 (?, ?, ?, ?, ?, ?, ?)";
/**********LINK INPUT TABLE **************/
//DML: Get 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;
/**********JOB INPUT TABLE **************/
//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;
/**********LINK TABLE **************/
// DML: Insert new link
public static final String STMT_INSERT_LINK =
"INSERT INTO " + TABLE_SQ_LINK + " ("
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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_CONFIGURABLE + ", "
+ 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 one specific link by name
public static final String STMT_SELECT_LINK_SINGLE_BY_NAME =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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_NAME + " = ?";
// DML: Select all links
public static final String STMT_SELECT_LINK_ALL =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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 links for a specific connector.
public static final String STMT_SELECT_LINK_FOR_CONNECTOR_CONFIGURABLE =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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_CONFIGURABLE + " = ?";
// 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 + " = ?";
/**********JOB TABLE **************/
// 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_CONNECTOR." + COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ "TO_CONNECTOR." + COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ "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_CONNECTOR"
+ " ON " + COLUMN_SQB_FROM_LINK + " = FROM_CONNECTOR." + COLUMN_SQ_LNK_ID
+ " LEFT JOIN " + TABLE_SQ_LINK + " TO_CONNECTOR"
+ " ON " + COLUMN_SQB_TO_LINK + " = TO_CONNECTOR." + 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 one specific job
public static final String STMT_SELECT_JOB_SINGLE_BY_NAME =
STMT_SELECT_JOB + " WHERE " + COLUMN_SQB_NAME + " = ?";
// DML: Select all jobs for a Connector
public static final String STMT_SELECT_ALL_JOBS_FOR_CONNECTOR_CONFIGURABLE =
STMT_SELECT_JOB
+ " WHERE FROM_LINK." + COLUMN_SQ_LNK_CONFIGURABLE + " = ? OR TO_LINK."
+ COLUMN_SQ_LNK_CONFIGURABLE + " = ?";
/**********SUBMISSION TABLE **************/
// 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 + " = ?";
/******* CONFIG and CONNECTOR DIRECTIONS ****/
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 + " = ?";
}

View File

@ -0,0 +1,248 @@
/**
* 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.common;
public final class CommonRepositorySchemaConstants {
public static final String SCHEMA_SQOOP = "SQOOP";
private static final String SCHEMA_PREFIX = SCHEMA_SQOOP + ".";
// SQ_DIRECTION
public static final String TABLE_SQ_DIRECTION_NAME = "SQ_DIRECTION";
public static final String TABLE_SQ_DIRECTION = SCHEMA_PREFIX + TABLE_SQ_DIRECTION_NAME;
public static final String COLUMN_SQD_ID = "SQD_ID";
public static final String COLUMN_SQD_NAME = "SQD_NAME";
// SQ_CONFIGURABLE
public static final String TABLE_SQ_CONFIGURABLE_NAME = "SQ_CONFIGURABLE";
public static final String TABLE_SQ_CONFIGURABLE = SCHEMA_PREFIX + TABLE_SQ_CONFIGURABLE_NAME;
public static final String COLUMN_SQC_ID = "SQC_ID";
public static final String COLUMN_SQC_NAME = "SQC_NAME";
public static final String COLUMN_SQC_CLASS = "SQC_CLASS";
public static final String COLUMN_SQC_VERSION = "SQC_VERSION";
public static final String COLUMN_SQC_TYPE = "SQC_TYPE";
// SQ_CONNECTOR_DIRECTIONS
public static final String TABLE_SQ_CONNECTOR_DIRECTIONS_NAME = "SQ_CONNECTOR_DIRECTIONS";
public static final String TABLE_SQ_CONNECTOR_DIRECTIONS = SCHEMA_PREFIX
+ TABLE_SQ_CONNECTOR_DIRECTIONS_NAME;
public static final String COLUMN_SQCD_CONNECTOR = "SQCD_CONNECTOR";
public static final String COLUMN_SQCD_DIRECTION = "SQCD_DIRECTION";
// SQ_CONFIG
public static final String TABLE_SQ_CONFIG_NAME = "SQ_CONFIG";
public static final String TABLE_SQ_CONFIG = SCHEMA_PREFIX + TABLE_SQ_CONFIG_NAME;
public static final String COLUMN_SQ_CFG_ID = "SQ_CFG_ID";
public static final String COLUMN_SQ_CFG_CONFIGURABLE = "SQ_CFG_CONFIGURABLE";
public static final String COLUMN_SQ_CFG_DIRECTION = "SQ_CFG_DIRECTION";
public static final String COLUMN_SQ_CFG_NAME = "SQ_CFG_NAME";
public static final String COLUMN_SQ_CFG_TYPE = "SQ_CFG_TYPE";
public static final String COLUMN_SQ_CFG_INDEX = "SQ_CFG_INDEX";
// SQ_CONFIG_DIRECTIONS
public static final String TABLE_SQ_CONFIG_DIRECTIONS_NAME = "SQ_CONFIG_DIRECTIONS";
public static final String TABLE_SQ_CONFIG_DIRECTIONS = SCHEMA_PREFIX
+ TABLE_SQ_CONFIG_DIRECTIONS_NAME;
public static final String COLUMN_SQ_CFG_DIR_CONFIG = "SQ_CFG_DIR_CONFIG";
public static final String COLUMN_SQ_CFG_DIR_DIRECTION = "SQ_CFG_DIR_DIRECTION";
// SQ_INPUT
public static final String TABLE_SQ_INPUT_NAME = "SQ_INPUT";
public static final String TABLE_SQ_INPUT = SCHEMA_PREFIX + TABLE_SQ_INPUT_NAME;
public static final String COLUMN_SQI_ID = "SQI_ID";
public static final String COLUMN_SQI_NAME = "SQI_NAME";
public static final String COLUMN_SQI_CONFIG = "SQI_CONFIG";
public static final String COLUMN_SQI_INDEX = "SQI_INDEX";
public static final String COLUMN_SQI_TYPE = "SQI_TYPE";
public static final String COLUMN_SQI_STRMASK = "SQI_STRMASK";
public static final String COLUMN_SQI_STRLENGTH = "SQI_STRLENGTH";
public static final String COLUMN_SQI_ENUMVALS = "SQI_ENUMVALS";
public static final String TABLE_SQ_LINK_NAME = "SQ_LINK";
public static final String TABLE_SQ_LINK = SCHEMA_PREFIX + TABLE_SQ_LINK_NAME;
public static final String COLUMN_SQ_LNK_ID = "SQ_LNK_ID";
public static final String COLUMN_SQ_LNK_NAME = "SQ_LNK_NAME";
public static final String COLUMN_SQ_LNK_CONFIGURABLE = "SQ_LNK_CONFIGURABLE";
public static final String COLUMN_SQ_LNK_CREATION_USER = "SQ_LNK_CREATION_USER";
public static final String COLUMN_SQ_LNK_CREATION_DATE = "SQ_LNK_CREATION_DATE";
public static final String COLUMN_SQ_LNK_UPDATE_USER = "SQ_LNK_UPDATE_USER";
public static final String COLUMN_SQ_LNK_UPDATE_DATE = "SQ_LNK_UPDATE_DATE";
public static final String COLUMN_SQ_LNK_ENABLED = "SQ_LNK_ENABLED";
// SQ_JOB
public static final String TABLE_SQ_JOB_NAME = "SQ_JOB";
public static final String TABLE_SQ_JOB = SCHEMA_PREFIX + TABLE_SQ_JOB_NAME;
public static final String COLUMN_SQB_ID = "SQB_ID";
public static final String COLUMN_SQB_NAME = "SQB_NAME";
public static final String COLUMN_SQB_FROM_LINK = "SQB_FROM_LINK";
public static final String COLUMN_SQB_TO_LINK = "SQB_TO_LINK";
public static final String COLUMN_SQB_CREATION_USER = "SQB_CREATION_USER";
public static final String COLUMN_SQB_CREATION_DATE = "SQB_CREATION_DATE";
public static final String COLUMN_SQB_UPDATE_USER = "SQB_UPDATE_USER";
public static final String COLUMN_SQB_UPDATE_DATE = "SQB_UPDATE_DATE";
public static final String COLUMN_SQB_ENABLED = "SQB_ENABLED";
// SQ_LINK_INPUT
public static final String TABLE_SQ_LINK_INPUT_NAME = "SQ_LINK_INPUT";
public static final String TABLE_SQ_LINK_INPUT = SCHEMA_PREFIX + TABLE_SQ_LINK_INPUT_NAME;
public static final String COLUMN_SQ_LNKI_LINK = "SQ_LNKI_LINK";
public static final String COLUMN_SQ_LNKI_INPUT = "SQ_LNKI_INPUT";
public static final String COLUMN_SQ_LNKI_VALUE = "SQ_LNKI_VALUE";
// SQ_JOB_INPUT
public static final String TABLE_SQ_JOB_INPUT_NAME = "SQ_JOB_INPUT";
public static final String TABLE_SQ_JOB_INPUT = SCHEMA_PREFIX + TABLE_SQ_JOB_INPUT_NAME;
public static final String COLUMN_SQBI_JOB = "SQBI_JOB";
public static final String COLUMN_SQBI_INPUT = "SQBI_INPUT";
public static final String COLUMN_SQBI_VALUE = "SQBI_VALUE";
// SQ_SUBMISSION
public static final String TABLE_SQ_SUBMISSION_NAME = "SQ_SUBMISSION";
public static final String TABLE_SQ_SUBMISSION = SCHEMA_PREFIX + TABLE_SQ_SUBMISSION_NAME;
public static final String COLUMN_SQS_ID = "SQS_ID";
public static final String COLUMN_SQS_JOB = "SQS_JOB";
public static final String COLUMN_SQS_STATUS = "SQS_STATUS";
public static final String COLUMN_SQS_CREATION_USER = "SQS_CREATION_USER";
public static final String COLUMN_SQS_CREATION_DATE = "SQS_CREATION_DATE";
public static final String COLUMN_SQS_UPDATE_USER = "SQS_UPDATE_USER";
public static final String COLUMN_SQS_UPDATE_DATE = "SQS_UPDATE_DATE";
public static final String COLUMN_SQS_EXTERNAL_ID = "SQS_EXTERNAL_ID";
public static final String COLUMN_SQS_EXTERNAL_LINK = "SQS_EXTERNAL_LINK";
public static final String COLUMN_SQS_EXCEPTION = "SQS_EXCEPTION";
public static final String COLUMN_SQS_EXCEPTION_TRACE = "SQS_EXCEPTION_TRACE";
// SQ_COUNTER_GROUP
public static final String TABLE_SQ_COUNTER_GROUP_NAME = "SQ_COUNTER_GROUP";
public static final String TABLE_SQ_COUNTER_GROUP = SCHEMA_PREFIX + TABLE_SQ_COUNTER_GROUP_NAME;
public static final String COLUMN_SQG_ID = "SQG_ID";
public static final String COLUMN_SQG_NAME = "SQG_NAME";
// SQ_COUNTER_GROUP
public static final String TABLE_SQ_COUNTER_NAME = "SQ_COUNTER";
public static final String TABLE_SQ_COUNTER = SCHEMA_PREFIX + TABLE_SQ_COUNTER_NAME;
public static final String COLUMN_SQR_ID = "SQR_ID";
public static final String COLUMN_SQR_NAME = "SQR_NAME";
// SQ_COUNTER_SUBMISSION
public static final String TABLE_SQ_COUNTER_SUBMISSION_NAME = "SQ_COUNTER_SUBMISSION";
public static final String TABLE_SQ_COUNTER_SUBMISSION = SCHEMA_PREFIX
+ TABLE_SQ_COUNTER_SUBMISSION_NAME;
public static final String COLUMN_SQRS_GROUP = "SQRS_GROUP";
public static final String COLUMN_SQRS_COUNTER = "SQRS_COUNTER";
public static final String COLUMN_SQRS_SUBMISSION = "SQRS_SUBMISSION";
public static final String COLUMN_SQRS_VALUE = "SQRS_VALUE";
private CommonRepositorySchemaConstants() {
// Disable explicit object creation
}
}

View File

@ -37,6 +37,11 @@ limitations under the License.
<artifactId>sqoop-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>

View File

@ -24,7 +24,6 @@ public final class DerbyRepoConstants {
@Deprecated
// use only for the upgrade code
public static final String SYSKEY_VERSION = "version";
public static final String SYSKEY_DERBY_REPOSITORY_VERSION = "repository.version";
/**
* Expected version of the repository structures.

View File

@ -24,174 +24,34 @@ public enum DerbyRepoError implements ErrorCode {
/** An unknown error has occurred. */
DERBYREPO_0000("An unknown error has occurred"),
/** The Derby Repository handler was unable to determine if schema exists.*/
DERBYREPO_0001("Unable to determine if schema exists"),
/** The system was unable to shutdown embedded derby repository server. */
DERBYREPO_0002("Unable to shutdown embedded Derby instance"),
DERBYREPO_0001("Unable to shutdown embedded Derby instance"),
/** The system was unable to run the specified query. */
DERBYREPO_0003("Unable to run specified query"),
/** The system was unable to query the repository for given entity */
DERBYREPO_0004("Unable to retrieve entity data"),
/** The repository contains more than one connector with same name */
DERBYREPO_0005("Invalid entity state - multiple connectors with name"),
/** The system does not support the given input type.*/
DERBYREPO_0006("Unknown input type encountered"),
/** The system does not support the given config type.*/
DERBYREPO_0007("Unknown config type encountered"),
/** No input was found for the given config. */
DERBYREPO_0008("The config contains no input"),
/** The system could not load the config due to unexpected position of input.*/
DERBYREPO_0009("The config input retrieved does not match expected position"),
/**
* The system could not load the connector due to unexpected position
* of config.
*/
DERBYREPO_0010("The config retrieved does not match expected position"),
/**
* The system was not able to register entity due to a pre-assigned
* persistence identifier.
*/
DERBYREPO_0011("Entity cannot have preassigned persistence id"),
DERBYREPO_0002("Unable to run specified query"),
/**
* The system was unable to register various entities.
*/
DERBYREPO_0012("Unexpected update count when registering entity"),
DERBYREPO_0003("Unexpected update count when registering entity"),
/**
* The system was unable to register entity due to a failure to retrieve
* the generated identifier.
*/
DERBYREPO_0013("Unable to retrieve generated identifier"),
/**
* The system was unable to register connector due to a server
* error.
*/
DERBYREPO_0014("Registration of connector failed"),
/**
* The system was not able to register connector due to an unexpected
* update count.
*/
DERBYREPO_0015("Unexpected update count on config registration"),
/**
* The system was unable to register connector due to a failure to
* retrieve the generated identifier for a config.
*/
DERBYREPO_0016("Unable to retrieve generated identifier for config"),
/**
* The system was unable to register connector due to an unexpected
* update count for config input registration.
*/
DERBYREPO_0017("Unexpected update count for config input"),
/**
* The system was unable to register connector due to a failure to
* retrieve the generated identifier for a config input.
*/
DERBYREPO_0018("Unable to retrieve generated identifier for config input"),
DERBYREPO_0004("Unable to retrieve generated identifier"),
/** We cant create new link in repository **/
DERBYREPO_0019("Unable to create new link data"),
/** We can't save values for input to repository **/
DERBYREPO_0020("Unable to save input values to the repository"),
/** We can't update link in repository **/
DERBYREPO_0021("Unable to update link in repository"),
/** We can't delete link in repository **/
DERBYREPO_0022("Unable to delete link in repository"),
/** We can't restore link from repository **/
DERBYREPO_0023("Unable to load link from repository"),
/** We can't restore specific link from repository **/
DERBYREPO_0024("Unable to load specific link from repository"),
/** We're unable to check if given link already exists */
DERBYREPO_0025("Unable to check if given link exists"),
/** We cant create new job in repository **/
DERBYREPO_0026("Unable to create new job data"),
/** We can't update job in repository **/
DERBYREPO_0027("Unable to update job in repository"),
/** We can't delete job in repository **/
DERBYREPO_0028("Unable to delete job in repository"),
/** We're unable to check if given job already exists */
DERBYREPO_0029("Unable to check if given job exists"),
/** We can't restore specific job from repository **/
DERBYREPO_0030("Unable to load specific job from repository"),
/** We can't restore job from repository **/
DERBYREPO_0031("Unable to load job from repository"),
/** Can't verify if link is referenced from somewhere **/
DERBYREPO_0032("Unable to check if link is in use"),
/** We're unable to check if given submission already exists */
DERBYREPO_0033("Unable to check if given submission exists"),
/** We cant create new submission in repository **/
DERBYREPO_0034("Unable to create new submission data"),
/** We can't update submission in repository **/
DERBYREPO_0035("Unable to update submission in the repository"),
/** Can't purge old submissions **/
DERBYREPO_0036("Unable to purge old submissions"),
/** Can't retrieve unfinished submissions **/
DERBYREPO_0037("Can't retrieve unfinished submissions"),
DERBYREPO_0038("Update of connector failed"),
/** Can't retrieve all submissions **/
DERBYREPO_0039("Can't retrieve all submissions"),
/** Can't retrieve submissions for a job **/
DERBYREPO_0040("Can't retrieve submissions for a job"),
DERBYREPO_0005("Unable to create new link data"),
/** Can't detect version of the database structures **/
DERBYREPO_0041("Can't detect version of repository storage"),
DERBYREPO_0006("Can't detect version of repository storage"),
/** Can't enable/disable link **/
DERBYREPO_0042("Can't enable/disable link"),
/** Can't add directions **/
DERBYREPO_0007("Could not add directions"),
/** Can't enable/disable job **/
DERBYREPO_0043("Can't enable/disable job"),
DERBYREPO_0044("Update of driver config failed"),
DERBYREPO_0045("Can't retrieve all connectors"),
DERBYREPO_0046("Could not add directions"),
DERBYREPO_0047("Could not get ID of recently added direction"),
DERBYREPO_0048("Could not register config direction"),
DERBYREPO_0049("Could not set connector direction"),
/** The system was unable to register driver due to a server error **/
DERBYREPO_0050("Registration of driver failed"),
/** Can't get ID of direction **/
DERBYREPO_0008("Could not get ID of recently added direction"),
;

View File

@ -25,7 +25,7 @@
*/
public final class DerbySchemaInsertUpdateDeleteSelectQuery {
/******** SYSTEM TABLE**************/
/******** SYSTEM TABLE**************/
// DML: Get system key
public static final String STMT_SELECT_SYSTEM =
"SELECT "
@ -33,8 +33,8 @@ public final class DerbySchemaInsertUpdateDeleteSelectQuery {
+ " FROM " + TABLE_SQ_SYSTEM
+ " WHERE " + COLUMN_SQM_KEY + " = ?";
//DML: Get deprecated or the new repo version system key
public static final String STMT_SELECT_DEPRECATED_OR_NEW_SYSTEM_VERSION =
//DML: Get deprecated or the new repo version system key
public static final String STMT_SELECT_DEPRECATED_OR_NEW_SYSTEM_VERSION =
"SELECT "
+ COLUMN_SQM_VALUE + " FROM " + TABLE_SQ_SYSTEM
+ " WHERE ( " + COLUMN_SQM_KEY + " = ? )"
@ -52,40 +52,10 @@ public final class DerbySchemaInsertUpdateDeleteSelectQuery {
+ COLUMN_SQM_VALUE + ") "
+ "VALUES(?, ?)";
/*******DIRECTION TABLE **************/
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 + "=?";
/*********CONFIGURABLE TABLE ***************/
//DML: Get configurable by given name
public static final String STMT_SELECT_FROM_CONFIGURABLE =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONFIGURABLE
+ " WHERE " + COLUMN_SQC_NAME + " = ?";
//DML: Get all configurables for a given type
public static final String STMT_SELECT_CONFIGURABLE_ALL_FOR_TYPE =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONFIGURABLE
+ " WHERE " + COLUMN_SQC_TYPE + " = ?";
// DML: Select all connectors
@Deprecated // used only for upgrade logic
public static final String STMT_SELECT_CONNECTOR_ALL =
/*********CONFIGURABLE TABLE ***************/
// DML: Select all connectors
@Deprecated // used only for upgrade logic
public static final String STMT_SELECT_CONNECTOR_ALL =
"SELECT "
+ COLUMN_SQC_ID + ", "
+ COLUMN_SQC_NAME + ", "
@ -93,50 +63,17 @@ public final class DerbySchemaInsertUpdateDeleteSelectQuery {
+ COLUMN_SQC_VERSION
+ " FROM " + TABLE_SQ_CONNECTOR;
//DML: Insert into configurable
public static final String STMT_INSERT_INTO_CONFIGURABLE =
"INSERT INTO " + TABLE_SQ_CONFIGURABLE + " ("
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION + ", "
+ COLUMN_SQC_TYPE
+ ") VALUES (?, ?, ?, ?)";
@Deprecated // used only in the upgrade path
public static final String STMT_INSERT_INTO_CONFIGURABLE_WITHOUT_SUPPORTED_DIRECTIONS =
@Deprecated // used only in the upgrade path
public static final String STMT_INSERT_INTO_CONFIGURABLE_WITHOUT_SUPPORTED_DIRECTIONS =
"INSERT INTO " + TABLE_SQ_CONNECTOR+ " ("
+ COLUMN_SQC_NAME + ", "
+ COLUMN_SQC_CLASS + ", "
+ COLUMN_SQC_VERSION
+ ") VALUES (?, ?, ?)";
//Delete all configs for a given configurable
public static final String STMT_DELETE_CONFIGS_FOR_CONFIGURABLE =
"DELETE FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_CONFIGURABLE + " = ?";
//Delete all inputs for a given configurable
public static final String STMT_DELETE_INPUTS_FOR_CONFIGURABLE =
"DELETE FROM " + TABLE_SQ_INPUT
+ " WHERE "
+ COLUMN_SQI_CONFIG
+ " IN (SELECT "
+ COLUMN_SQ_CFG_ID
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE "
+ COLUMN_SQ_CFG_CONFIGURABLE + " = ?)";
//Update the configurable
public static final String STMT_UPDATE_CONFIGURABLE =
"UPDATE " + TABLE_SQ_CONFIGURABLE
+ " SET " + COLUMN_SQC_NAME + " = ?, "
+ COLUMN_SQC_CLASS + " = ?, "
+ COLUMN_SQC_VERSION + " = ?, "
+ COLUMN_SQC_TYPE + " = ? "
+ " WHERE " + COLUMN_SQC_ID + " = ?";
//DML: Insert new connection
@Deprecated // used only in upgrade path
public static final String STMT_INSERT_CONNECTION =
//DML: Insert new connection
@Deprecated // used only in upgrade path
public static final String STMT_INSERT_CONNECTION =
"INSERT INTO " + TABLE_SQ_CONNECTION + " ("
+ COLUMN_SQN_NAME + ", "
+ COLUMN_SQN_CONNECTOR + ","
@ -146,271 +83,7 @@ public final class DerbySchemaInsertUpdateDeleteSelectQuery {
+ COLUMN_SQN_UPDATE_USER + ", " + COLUMN_SQN_UPDATE_DATE
+ ") VALUES (?, ?, ?, ?, ?, ?, ?)";
/**********CONFIG TABLE **************/
//DML: Get all configs for a given configurable
public static final String STMT_SELECT_CONFIG_FOR_CONFIGURABLE =
"SELECT "
+ COLUMN_SQ_CFG_ID + ", "
+ COLUMN_SQ_CFG_CONFIGURABLE + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ " FROM " + TABLE_SQ_CONFIG
+ " WHERE " + COLUMN_SQ_CFG_CONFIGURABLE + " = ? "
+ " ORDER BY " + COLUMN_SQ_CFG_INDEX;
//DML: Insert into config
public static final String STMT_INSERT_INTO_CONFIG =
"INSERT INTO " + TABLE_SQ_CONFIG + " ("
+ COLUMN_SQ_CFG_CONFIGURABLE + ", "
+ COLUMN_SQ_CFG_NAME + ", "
+ COLUMN_SQ_CFG_TYPE + ", "
+ COLUMN_SQ_CFG_INDEX
+ ") VALUES ( ?, ?, ?, ?)";
/********** INPUT TABLE **************/
// DML: Get inputs for a given config
public static final String STMT_SELECT_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: Insert into config input
public static final String STMT_INSERT_INTO_INPUT =
"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 (?, ?, ?, ?, ?, ?, ?)";
/**********LINK INPUT TABLE **************/
//DML: Get 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;
/**********JOB INPUT TABLE **************/
//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;
/**********LINK TABLE **************/
// DML: Insert new link
public static final String STMT_INSERT_LINK =
"INSERT INTO " + TABLE_SQ_LINK + " ("
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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_CONFIGURABLE + ", "
+ 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 one specific link by name
public static final String STMT_SELECT_LINK_SINGLE_BY_NAME =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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_NAME + " = ?";
// DML: Select all links
public static final String STMT_SELECT_LINK_ALL =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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 links for a specific connector.
public static final String STMT_SELECT_LINK_FOR_CONNECTOR_CONFIGURABLE =
"SELECT "
+ COLUMN_SQ_LNK_ID + ", "
+ COLUMN_SQ_LNK_NAME + ", "
+ COLUMN_SQ_LNK_CONFIGURABLE + ", "
+ 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_CONFIGURABLE + " = ?";
// 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 + " = ?";
/**********JOB TABLE **************/
// 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 + " = ? ";
/**********JOB TABLE **************/
//DML: Select all jobs
public static final String STMT_SELECT_JOB =
"SELECT "
@ -431,205 +104,27 @@ public final class DerbySchemaInsertUpdateDeleteSelectQuery {
+ " LEFT JOIN " + TABLE_SQ_LINK + " TO_CONNECTOR"
+ " ON " + COLUMN_SQB_TO_LINK + " = TO_CONNECTOR." + 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 one specific job
public static final String STMT_SELECT_JOB_SINGLE_BY_NAME =
STMT_SELECT_JOB + " WHERE " + COLUMN_SQB_NAME + " = ?";
// DML: Select all jobs for a Connector
public static final String STMT_SELECT_ALL_JOBS_FOR_CONNECTOR_CONFIGURABLE =
STMT_SELECT_JOB
+ " WHERE FROM_LINK." + COLUMN_SQ_LNK_CONFIGURABLE + " = ? OR TO_LINK."
+ COLUMN_SQ_LNK_CONFIGURABLE + " = ?";
/**********SUBMISSION TABLE **************/
// 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 + " = ?";
/******* CONFIG and CONNECTOR DIRECTIONS ****/
public static final String STMT_INSERT_DIRECTION = "INSERT INTO " + TABLE_SQ_DIRECTION + " "
/******* CONFIG and CONNECTOR DIRECTIONS ****/
public static final String STMT_INSERT_DIRECTION = "INSERT INTO " + TABLE_SQ_DIRECTION + " "
+ "(" + COLUMN_SQD_NAME + ") VALUES (?)";
public static final String STMT_FETCH_CONFIG_DIRECTIONS =
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 STMT_INSERT_SQ_CONNECTOR_DIRECTIONS =
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 =
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 DerbySchemaInsertUpdateDeleteSelectQuery() {
// Disable explicit object creation
}

View File

@ -36,6 +36,7 @@
import org.apache.sqoop.model.MJob;
import org.apache.sqoop.model.MMapInput;
import org.apache.sqoop.model.MStringInput;
import org.apache.sqoop.repository.common.CommonRepositoryError;
import org.junit.Before;
import org.junit.Test;
@ -65,7 +66,7 @@ public void testFindJob() throws Exception {
handler.findJob(1, derbyConnection);
fail();
} catch(SqoopException ex) {
assertEquals(DerbyRepoError.DERBYREPO_0030, ex.getErrorCode());
assertEquals(CommonRepositoryError.COMMON_0027, ex.getErrorCode());
}
loadJobsForLatestVersion();

View File

@ -31,6 +31,7 @@
import org.apache.sqoop.model.MLink;
import org.apache.sqoop.model.MMapInput;
import org.apache.sqoop.model.MStringInput;
import org.apache.sqoop.repository.common.CommonRepositoryError;
import org.junit.Before;
import org.junit.Test;
@ -58,8 +59,8 @@ public void testFindLink() throws Exception {
try {
handler.findLink(1, getDerbyDatabaseConnection());
fail();
} catch (SqoopException ex) {
assertEquals(DerbyRepoError.DERBYREPO_0024, ex.getErrorCode());
} catch(SqoopException ex) {
assertEquals(CommonRepositoryError.COMMON_0021, ex.getErrorCode());
}
// Load prepared connections into database

View File

@ -138,7 +138,7 @@ public void testUpgradeRepoVersion2ToVersion4() throws Exception {
private class TestDerbyRepositoryHandler extends DerbyRepositoryHandler {
protected long registerHdfsConnector(Connection conn) {
try {
runQuery("INSERT INTO SQOOP.SQ_CONNECTOR(SQC_NAME, SQC_CLASS, SQC_VERSION)"
TestRespositorySchemaUpgrade.this.runQuery("INSERT INTO SQOOP.SQ_CONNECTOR(SQC_NAME, SQC_CLASS, SQC_VERSION)"
+ "VALUES('hdfs-connector', 'org.apache.sqoop.test.B', '1.0-test')");
return 2L;
} catch (Exception e) {

View File

@ -59,6 +59,11 @@ limitations under the License.
<classifier>hadoop${hadoop.profile}</classifier>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-derby</artifactId>

View File

@ -62,6 +62,11 @@ limitations under the License.
<classifier>hadoop${hadoop.profile}</classifier>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.sqoop.repository</groupId>
<artifactId>sqoop-repository-derby</artifactId>