@Override public String toString() { return catalogName + '.' + schemaTableName.toString(); } }
@Override public void checkCanRenameColumn(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName tableName) { denyRenameColumn(tableName.toString()); }
@Override public void checkCanInsertIntoTable(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName tableName) { denyInsertTable(tableName.toString()); }
@Override public void checkCanDropView(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName viewName) { denyDropView(viewName.toString()); }
@Override public String toString() { StringBuilder result = new StringBuilder(); result.append(schemaTableName.toString()); if (bucketHandle.isPresent()) { result.append(" bucket=").append(bucketHandle.get().getReadBucketCount()); } return result.toString(); } }
@Override public void checkCanAddColumn(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName tableName) { if (!allowAddColumn) { denyAddColumn(tableName.toString()); } }
@Override public void checkCanDropView(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName viewName) { denyDropView(viewName.toString()); }
/** * Check if identity is allowed to create the specified table in this catalog. * * @throws io.prestosql.spi.security.AccessDeniedException if not allowed */ default void checkCanCreateTable(ConnectorTransactionHandle transactionHandle, ConnectorIdentity identity, SchemaTableName tableName) { denyCreateTable(tableName.toString()); }
/** * Check if identity is allowed to drop columns from the specified table in this catalog. * * @throws io.prestosql.spi.security.AccessDeniedException if not allowed */ default void checkCanDropColumn(ConnectorTransactionHandle transactionHandle, ConnectorIdentity identity, SchemaTableName tableName) { denyDropColumn(tableName.toString()); }
@Override public void checkCanDropTable(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName tableName) { if (!checkTablePermission(identity, tableName, OWNERSHIP)) { denyDropTable(tableName.toString()); } }
@Override public void checkCanDropColumn(ConnectorTransactionHandle transactionHandle, ConnectorIdentity identity, SchemaTableName tableName) { if (!checkTablePermission(identity, tableName, OWNERSHIP)) { denyDropColumn(tableName.toString()); } }
@Override public void checkCanGrantTablePrivilege(ConnectorTransactionHandle transaction, ConnectorIdentity identity, Privilege privilege, SchemaTableName tableName, PrestoPrincipal grantee, boolean withGrantOption) { denyGrantTablePrivilege(privilege.name(), tableName.toString()); }
@Override public void checkCanSelectFromColumns(ConnectorTransactionHandle transactionHandle, ConnectorIdentity identity, SchemaTableName tableName, Set<String> columnNames) { // TODO: Implement column level permissions if (!checkTablePermission(identity, tableName, SELECT)) { denySelectTable(tableName.toString()); } }
@Override public void checkCanDropView(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName viewName) { if (!checkTablePermission(identity, viewName, OWNERSHIP)) { denyDropView(viewName.toString()); } }
@Override public void checkCanSelectFromColumns(ConnectorTransactionHandle transactionHandle, ConnectorIdentity identity, SchemaTableName tableName, Set<String> columnNames) { // TODO: Implement column level permissions if (!checkTablePermission(identity, tableName, SELECT)) { denySelectTable(tableName.toString()); } }
@Override public void checkCanDeleteFromTable(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName tableName) { if (!checkTablePermission(identity, tableName, DELETE)) { denyDeleteTable(tableName.toString()); } }
@Override public void checkCanCreateView(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName viewName) { if (!isDatabaseOwner(identity, viewName.getSchemaName())) { denyCreateView(viewName.toString()); } }
@Override public void checkCanCreateTable(ConnectorTransactionHandle transaction, ConnectorIdentity identity, SchemaTableName tableName) { if (!isDatabaseOwner(transaction, identity, tableName.getSchemaName())) { denyCreateTable(tableName.toString()); } }
@Override public void checkCanGrantTablePrivilege(ConnectorTransactionHandle transaction, ConnectorIdentity identity, Privilege privilege, SchemaTableName tableName, PrestoPrincipal grantee, boolean withGrantOption) { if (!checkTablePermission(identity, tableName, OWNERSHIP)) { denyGrantTablePrivilege(privilege.name(), tableName.toString()); } }
@Override public void checkCanSelectFromColumns(ConnectorTransactionHandle transactionHandle, ConnectorIdentity identity, SchemaTableName tableName, Set<String> columnNames) { denySelectColumns(tableName.toString(), columnNames); }