Repository: sqoop Updated Branches: refs/heads/sqoop2 37a5552ba -> dacf889c7
SQOOP-1734: Port SQOOP-1725 to sqoop2 branch (Abraham Elmahrek via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/dacf889c Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/dacf889c Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/dacf889c Branch: refs/heads/sqoop2 Commit: dacf889c7d2ed51b9d3e761b1a1f32e555ef045c Parents: 37a5552 Author: Jarek Jarcec Cecho <[email protected]> Authored: Tue Nov 18 10:28:27 2014 -0800 Committer: Jarek Jarcec Cecho <[email protected]> Committed: Tue Nov 18 10:28:27 2014 -0800 ---------------------------------------------------------------------- .../sqoop/repository/common/CommonRepositoryHandler.java | 7 ++++++- .../common/CommonRepositoryInsertUpdateDeleteSelectQuery.java | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/dacf889c/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java ---------------------------------------------------------------------- diff --git a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java index 0a4ed6b..3ae2bfc 100644 --- a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java +++ b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryHandler.java @@ -175,11 +175,14 @@ public abstract class CommonRepositoryHandler extends JdbcRepositoryHandler { private void updateConnectorAndDeleteConfigs(MConnector mConnector, Connection conn) { PreparedStatement updateConnectorStatement = null; PreparedStatement deleteConfig = null; + PreparedStatement deleteConfigDirection = null; PreparedStatement deleteInput = null; try { updateConnectorStatement = conn.prepareStatement(CommonRepositoryInsertUpdateDeleteSelectQuery.STMT_UPDATE_CONFIGURABLE); deleteInput = conn.prepareStatement(CommonRepositoryInsertUpdateDeleteSelectQuery.STMT_DELETE_INPUTS_FOR_CONFIGURABLE); + deleteConfigDirection = conn.prepareStatement(CommonRepositoryInsertUpdateDeleteSelectQuery.STMT_DELETE_DIRECTIONS_FOR_CONFIGURABLE); deleteConfig = conn.prepareStatement(CommonRepositoryInsertUpdateDeleteSelectQuery.STMT_DELETE_CONFIGS_FOR_CONFIGURABLE); + updateConnectorStatement.setString(1, mConnector.getUniqueName()); updateConnectorStatement.setString(2, mConnector.getClassName()); updateConnectorStatement.setString(3, mConnector.getVersion()); @@ -190,15 +193,17 @@ public abstract class CommonRepositoryHandler extends JdbcRepositoryHandler { throw new SqoopException(CommonRepositoryError.COMMON_0035); } deleteInput.setLong(1, mConnector.getPersistenceId()); + deleteConfigDirection.setLong(1, mConnector.getPersistenceId()); deleteConfig.setLong(1, mConnector.getPersistenceId()); deleteInput.executeUpdate(); + deleteConfigDirection.executeUpdate(); deleteConfig.executeUpdate(); } catch (SQLException e) { logException(e, mConnector); throw new SqoopException(CommonRepositoryError.COMMON_0035, e); } finally { - closeStatements(updateConnectorStatement, deleteConfig, deleteInput); + closeStatements(updateConnectorStatement, deleteConfig, deleteConfigDirection, deleteInput); } } http://git-wip-us.apache.org/repos/asf/sqoop/blob/dacf889c/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java ---------------------------------------------------------------------- diff --git a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java index bff56a6..2102db9 100644 --- a/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java +++ b/repository/repository-common/src/main/java/org/apache/sqoop/repository/common/CommonRepositoryInsertUpdateDeleteSelectQuery.java @@ -549,4 +549,11 @@ public class CommonRepositoryInsertUpdateDeleteSelectQuery { public static final String STMT_SELECT_SQ_CONFIG_DIRECTIONS = STMT_SELECT_SQ_CONFIG_DIRECTIONS_ALL + " WHERE " + COLUMN_SQ_CFG_DIR_CONFIG + " = ?"; + + // Delete the config directions for a connector + public static final String STMT_DELETE_DIRECTIONS_FOR_CONFIGURABLE = + "DELETE FROM " + TABLE_SQ_CONFIG_DIRECTIONS + + " WHERE " + COLUMN_SQ_CFG_DIR_CONFIG + + " IN (SELECT " + COLUMN_SQ_CFG_ID + " FROM " + TABLE_SQ_CONFIG + + " WHERE " + COLUMN_SQ_CFG_CONFIGURABLE + " = ?)"; }
