Skip to content

Commit

Permalink
0003106: During installation postgres permissions check fails for case
Browse files Browse the repository at this point in the history
sensitive collation
  • Loading branch information
chenson42 committed May 12, 2017
1 parent 8ee6220 commit 81ed3c0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 28 deletions.
Expand Up @@ -967,14 +967,17 @@ public List<PermissionResult> checkSymTablePermissions(PermissionType... permiss
}
return results;
}

protected PermissionResult getCreateSymTablePermission(Database database) {
protected Table getPermissionTableDefinition() {
Column idColumn = new Column("TEST_ID");
idColumn.setMappedType("INTEGER");
Column valueColumn = new Column("TEST_VALUE");
valueColumn.setMappedType("INTEGER");
return new Table(PERMISSION_TEST_TABLE_NAME, idColumn, valueColumn);
}

Table table = new Table(PERMISSION_TEST_TABLE_NAME, idColumn, valueColumn);
protected PermissionResult getCreateSymTablePermission(Database database) {
Table table = getPermissionTableDefinition();

PermissionResult result = new PermissionResult(PermissionType.CREATE_TABLE, Status.FAIL);
getDropSymTablePermission();
Expand All @@ -992,15 +995,17 @@ protected PermissionResult getCreateSymTablePermission(Database database) {
}

protected PermissionResult getDropSymTablePermission() {
String delimiter = getDatabaseInfo().getDelimiterToken();
delimiter = delimiter != null ? delimiter : "";
String dropSql = "DROP TABLE " + delimiter + PERMISSION_TEST_TABLE_NAME + delimiter;
Table table = getPermissionTableDefinition();

PermissionResult result = new PermissionResult(PermissionType.DROP_TABLE, Status.FAIL);

try {
getSqlTemplate().update(dropSql);
result.setStatus(Status.PASS);
if (getTableFromCache(table.getName(), true) != null) {
dropTables(false, table);
result.setStatus(Status.PASS);
} else {
result.setStatus(Status.NOT_APPLICABLE);
}
} catch (SqlException e) {
result.setException(e);
result.setSolution("Grant DROP permission");
Expand Down
Expand Up @@ -233,25 +233,6 @@ public PermissionResult getDropSymTriggerPermission() {
}

return result;
}

@Override
protected PermissionResult getDropSymTablePermission() {
String delimiter = getDatabaseInfo().getDelimiterToken();
delimiter = delimiter != null ? delimiter : "";
String dropSql = "drop table " + delimiter + PERMISSION_TEST_TABLE_NAME + delimiter;

PermissionResult result = new PermissionResult(PermissionType.DROP_TABLE, Status.FAIL);

try {
getSqlTemplate().update(dropSql);
result.setStatus(Status.PASS);
} catch (SqlException e) {
result.setException(e);
result.setSolution("Grant DROP permission");
}

return result;
}
}

}

0 comments on commit 81ed3c0

Please sign in to comment.