presto-connector/src/main/java/com/facebook/presto/maxcompute/MaxComputeMetadata.java [155:194]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @Override
    public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle table)
    {
        MaxComputeTableHandle maxComputeTableHandle = (MaxComputeTableHandle) table;
        return metaCache.getTableMetadata(maxComputeTableHandle);
    }

    @Override
    public List<SchemaTableName> listTables(ConnectorSession session, Optional<String> schemaName)
    {
        ImmutableList.Builder<SchemaTableName> builder = ImmutableList.builder();
        Iterator<Table> iterator;
        if (schemaName.isPresent()) {
            if (DEFAULT_SCHEMA.equals(schemaName.get())) {
                return listTables(session, Optional.empty());
            }
            iterator = odps.tables().iterator(odps.getDefaultProject(), schemaName.get(), null, false);
        }
        else {
            iterator = odps.tables().iterator();
        }
        while (iterator.hasNext()) {
            Table table = iterator.next();
            builder.add(new SchemaTableName(table.getSchemaName() == null ? DEFAULT_SCHEMA : table.getSchemaName(), table.getName()));
        }
        return builder.build();
    }

    @Override
    public Map<String, ColumnHandle> getColumnHandles(ConnectorSession session, ConnectorTableHandle tableHandle)
    {
        ConnectorTableMetadata tableMetadata = metaCache.getTableMetadata((MaxComputeTableHandle) tableHandle);
        return tableMetadata.getColumns().stream().map(e -> new MaxComputeColumnHandle(e.getName(), e.getType())).collect(Collectors.toMap(MaxComputeColumnHandle::getName, e -> e));
    }

    @Override
    public Map<SchemaTableName, List<ColumnMetadata>> listTableColumns(ConnectorSession session, SchemaTablePrefix prefix)
    {
        requireNonNull(prefix, "prefix is null");
        ImmutableMap.Builder<SchemaTableName, List<ColumnMetadata>> columns = ImmutableMap.builder();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



trino-connector/src/main/java/io/trino/plugin/maxcompute/MaxComputeMetadata.java [156:195]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @Override
    public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle table)
    {
        MaxComputeTableHandle maxComputeTableHandle = (MaxComputeTableHandle) table;
        return metaCache.getTableMetadata(maxComputeTableHandle);
    }

    @Override
    public List<SchemaTableName> listTables(ConnectorSession session, Optional<String> schemaName)
    {
        ImmutableList.Builder<SchemaTableName> builder = ImmutableList.builder();
        Iterator<Table> iterator;
        if (schemaName.isPresent()) {
            if (DEFAULT_SCHEMA.equals(schemaName.get())) {
                return listTables(session, Optional.empty());
            }
            iterator = odps.tables().iterator(odps.getDefaultProject(), schemaName.get(), null, false);
        }
        else {
            iterator = odps.tables().iterator();
        }
        while (iterator.hasNext()) {
            Table table = iterator.next();
            builder.add(new SchemaTableName(table.getSchemaName() == null ? DEFAULT_SCHEMA : table.getSchemaName(), table.getName()));
        }
        return builder.build();
    }

    @Override
    public Map<String, ColumnHandle> getColumnHandles(ConnectorSession session, ConnectorTableHandle tableHandle)
    {
        ConnectorTableMetadata tableMetadata = metaCache.getTableMetadata((MaxComputeTableHandle) tableHandle);
        return tableMetadata.getColumns().stream().map(e -> new MaxComputeColumnHandle(e.getName(), e.getType())).collect(Collectors.toMap(MaxComputeColumnHandle::getName, e -> e));
    }

    @Override
    public Map<SchemaTableName, List<ColumnMetadata>> listTableColumns(ConnectorSession session, SchemaTablePrefix prefix)
    {
        requireNonNull(prefix, "prefix is null");
        ImmutableMap.Builder<SchemaTableName, List<ColumnMetadata>> columns = ImmutableMap.builder();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



