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 + " = ?)";
 }

Reply via email to