mirror of
https://github.com/apache/sqoop.git
synced 2025-05-11 14:30:59 +08:00
SQOOP-1725: Sqoop2: Connector upgrade in 1.99.4 fails with delete configs
(Veena Basavaraj via Abraham Elmahrek)
This commit is contained in:
parent
fbdd940eb3
commit
05711d1411
@ -1294,11 +1294,14 @@ public void upgradeConnectorAndConfigs(MConnector mConnector, Connection conn) {
|
|||||||
private void updateConnectorAndDeleteConfigs(MConnector mConnector, Connection conn) {
|
private void updateConnectorAndDeleteConfigs(MConnector mConnector, Connection conn) {
|
||||||
PreparedStatement updateConnectorStatement = null;
|
PreparedStatement updateConnectorStatement = null;
|
||||||
PreparedStatement deleteConfig = null;
|
PreparedStatement deleteConfig = null;
|
||||||
|
PreparedStatement deleteConfigDirection = null;
|
||||||
PreparedStatement deleteInput = null;
|
PreparedStatement deleteInput = null;
|
||||||
try {
|
try {
|
||||||
updateConnectorStatement = conn.prepareStatement(STMT_UPDATE_CONFIGURABLE);
|
updateConnectorStatement = conn.prepareStatement(STMT_UPDATE_CONFIGURABLE);
|
||||||
deleteInput = conn.prepareStatement(STMT_DELETE_INPUTS_FOR_CONFIGURABLE);
|
deleteInput = conn.prepareStatement(STMT_DELETE_INPUTS_FOR_CONFIGURABLE);
|
||||||
|
deleteConfigDirection = conn.prepareStatement(STMT_DELETE_DIRECTIONS_FOR_CONFIGURABLE);
|
||||||
deleteConfig = conn.prepareStatement(STMT_DELETE_CONFIGS_FOR_CONFIGURABLE);
|
deleteConfig = conn.prepareStatement(STMT_DELETE_CONFIGS_FOR_CONFIGURABLE);
|
||||||
|
|
||||||
updateConnectorStatement.setString(1, mConnector.getUniqueName());
|
updateConnectorStatement.setString(1, mConnector.getUniqueName());
|
||||||
updateConnectorStatement.setString(2, mConnector.getClassName());
|
updateConnectorStatement.setString(2, mConnector.getClassName());
|
||||||
updateConnectorStatement.setString(3, mConnector.getVersion());
|
updateConnectorStatement.setString(3, mConnector.getVersion());
|
||||||
@ -1309,15 +1312,17 @@ private void updateConnectorAndDeleteConfigs(MConnector mConnector, Connection c
|
|||||||
throw new SqoopException(DerbyRepoError.DERBYREPO_0038);
|
throw new SqoopException(DerbyRepoError.DERBYREPO_0038);
|
||||||
}
|
}
|
||||||
deleteInput.setLong(1, mConnector.getPersistenceId());
|
deleteInput.setLong(1, mConnector.getPersistenceId());
|
||||||
|
deleteConfigDirection.setLong(1, mConnector.getPersistenceId());
|
||||||
deleteConfig.setLong(1, mConnector.getPersistenceId());
|
deleteConfig.setLong(1, mConnector.getPersistenceId());
|
||||||
deleteInput.executeUpdate();
|
deleteInput.executeUpdate();
|
||||||
|
deleteConfigDirection.executeUpdate();
|
||||||
deleteConfig.executeUpdate();
|
deleteConfig.executeUpdate();
|
||||||
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
logException(e, mConnector);
|
logException(e, mConnector);
|
||||||
throw new SqoopException(DerbyRepoError.DERBYREPO_0038, e);
|
throw new SqoopException(DerbyRepoError.DERBYREPO_0038, e);
|
||||||
} finally {
|
} finally {
|
||||||
closeStatements(updateConnectorStatement, deleteConfig, deleteInput);
|
closeStatements(updateConnectorStatement, deleteConfig, deleteConfigDirection, deleteInput);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,6 +628,18 @@ public final class DerbySchemaInsertUpdateDeleteSelectQuery {
|
|||||||
public static final String STMT_SELECT_SQ_CONFIG_DIRECTIONS =
|
public static final String STMT_SELECT_SQ_CONFIG_DIRECTIONS =
|
||||||
STMT_SELECT_SQ_CONFIG_DIRECTIONS_ALL + " WHERE "
|
STMT_SELECT_SQ_CONFIG_DIRECTIONS_ALL + " WHERE "
|
||||||
+ COLUMN_SQ_CFG_DIR_CONFIG + " = ?";
|
+ 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 + " = ?)";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private DerbySchemaInsertUpdateDeleteSelectQuery() {
|
private DerbySchemaInsertUpdateDeleteSelectQuery() {
|
||||||
|
Loading…
Reference in New Issue
Block a user