private InternalTable buildSchemata(Session session, String catalogName) { InternalTable.Builder table = InternalTable.builder(informationSchemaTableColumns(TABLE_SCHEMATA)); for (String schema : listSchemas(session, metadata, accessControl, catalogName)) { table.add(catalogName, schema); } return table.build(); }
private InternalTable buildSchemata(Session session, String catalogName) { InternalTable.Builder table = InternalTable.builder(informationSchemaTableColumns(TABLE_SCHEMATA)); for (String schema : listSchemas(session, metadata, accessControl, catalogName)) { table.add(catalogName, schema); } return table.build(); }
@Override public RecordCursor cursor(ConnectorTransactionHandle transactionHandle, ConnectorSession connectorSession, TupleDomain<Integer> constraint) { Session session = toSession(transactionHandle, connectorSession); Optional<String> catalogFilter = FilterUtil.stringFilter(constraint, 1); Builder table = InMemoryRecordSet.builder(METADATA); for (String catalog : filter(listCatalogs(session, metadata, accessControl).keySet(), catalogFilter)) { for (String schema : listSchemas(session, metadata, accessControl, catalog)) { table.addRow(schema, catalog); } } return table.build().cursor(); } }
@Override public RecordCursor cursor(ConnectorTransactionHandle transactionHandle, ConnectorSession connectorSession, TupleDomain<Integer> constraint) { Session session = toSession(transactionHandle, connectorSession); Optional<String> catalogFilter = FilterUtil.stringFilter(constraint, 1); Builder table = InMemoryRecordSet.builder(METADATA); for (String catalog : filter(listCatalogs(session, metadata, accessControl).keySet(), catalogFilter)) { for (String schema : listSchemas(session, metadata, accessControl, catalog)) { table.addRow(schema, catalog); } } return table.build().cursor(); } }
Set<String> allowedSchemas = listSchemas(session, metadata, accessControl, catalogName); for (String schema : allowedSchemas) { accessControl.checkCanShowTablesMetadata(session.getRequiredTransactionId(), session.getIdentity(), new CatalogSchemaName(catalogName, schema));
Set<String> allowedSchemas = listSchemas(session, metadata, accessControl, catalogName); for (String schema : allowedSchemas) { accessControl.checkCanShowTablesMetadata(session.getRequiredTransactionId(), session.getIdentity(), new CatalogSchemaName(catalogName, schema));