mirror of
https://github.com/apache/sqoop.git
synced 2025-05-21 11:21:39 +08:00
SQOOP-1812: Sqoop2: Repository upgrade issue will prevent server startup
(Qian Xu via Abraham Elmahrek)
This commit is contained in:
parent
ae31a02372
commit
c4d5badacf
@ -204,8 +204,11 @@ public int detectRepositoryVersion(Connection conn) {
|
||||
*/
|
||||
@Override
|
||||
public void createOrUpgradeRepository(Connection conn) {
|
||||
|
||||
int repositoryVersion = detectRepositoryVersion(conn);
|
||||
if (repositoryVersion == DerbyRepoConstants.LATEST_DERBY_REPOSITORY_VERSION) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(repositoryVersion <= 0) {
|
||||
runQuery(QUERY_CREATE_SCHEMA_SQOOP, conn);
|
||||
runQuery(QUERY_CREATE_TABLE_SQ_CONNECTOR, conn);
|
||||
|
@ -45,12 +45,24 @@ public void testHasLatestRepositoryVersion() throws Exception {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateorUpdateRepositorySchema() throws Exception {
|
||||
public void testCreatorUpdateRepositorySchema() throws Exception {
|
||||
assertFalse(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
|
||||
handler.createOrUpgradeRepository(getDerbyDatabaseConnection());
|
||||
assertTrue(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDoubleUpdateRepositorySchema() throws Exception {
|
||||
// Setup
|
||||
assertFalse(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
|
||||
handler.createOrUpgradeRepository(getDerbyDatabaseConnection());
|
||||
assertTrue(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
|
||||
|
||||
// Exercise and verify
|
||||
handler.createOrUpgradeRepository(getDerbyDatabaseConnection());
|
||||
assertTrue(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
|
||||
}
|
||||
|
||||
@Test(expected = SQLIntegrityConstraintViolationException.class)
|
||||
public void testUpgradeVersion4WithNonUniqueJobNameFailure() throws Exception {
|
||||
super.createOrUpgradeSchema(4);
|
||||
|
Loading…
Reference in New Issue
Block a user