t8y2/dbx · warning · UnsupportedOperationException

Object source is not supported

Error message

Object source is not supported

What it means

ConfiguredJdbcAgent, despite being a configured JDBC agent, explicitly does not implement getObjectSource and throws UnsupportedOperationException. Retrieving object source/DDL text is unsupported for this agent configuration.

Source

Thrown at agents/common/src/main/java/com/dbx/agent/ConfiguredJdbcAgent.java:108

            configuredDatabase,
            schema,
            constraints
        );
    }

    @Override
    public List<String> listDataTypes() {
        return StandardJdbcMetadata.INSTANCE.listDataTypes(requireConnection());
    }

    @Override
    public CompletionAssistantResponse completionAssistantSearch(CompletionAssistantRequest request) {
        return StandardJdbcMetadata.INSTANCE.completionAssistantSearch(requireConnection(), profile, configuredDatabase, request);
    }

    @Override
    public ObjectSource getObjectSource(String schema, String name, String objectType) {
        throw new UnsupportedOperationException("Object source is not supported");
    }

    @Override
    public List<ColumnInfo> getColumns(String schema, String table) {
        return StandardJdbcMetadata.INSTANCE.getColumns(requireConnection(), profile, configuredDatabase, schema, table);
    }

    @Override
    public List<IndexInfo> listIndexes(String schema, String table) {
        return StandardJdbcMetadata.INSTANCE.listIndexes(requireConnection(), profile, configuredDatabase, schema, table);
    }

    @Override
    public List<ForeignKeyInfo> listForeignKeys(String schema, String table) {
        return StandardJdbcMetadata.INSTANCE.listForeignKeys(requireConnection(), schema, table);
    }

    @Override

View on GitHub (pinned to c0390bff16)

Solutions

  1. Use getTableDdl or other supported DDL accessors on the agent instead
  2. Route getObjectSource calls to an agent that implements it
  3. Catch UnsupportedOperationException and fall back to a null/empty source
  4. Implement DDL extraction via the driver's catalog metadata in your own code

Example fix

// before
ObjectSource src = configuredAgent.getObjectSource(schema, name, type); // throws
// after
ObjectSource src;
try {
    src = configuredAgent.getObjectSource(schema, name, type);
} catch (UnsupportedOperationException e) {
    src = null; // or use configuredAgent.getTableDdl(schema, name)
}
Defensive patterns

Strategy: fallback

Try / catch

try {
    ObjectSource src = agent.getObjectSource(schema, name, type);
} catch (UnsupportedOperationException e) {
    ObjectSource src = null; // fall back to getTableDdl or skip
}

Prevention

When it happens

Trigger: Calling getObjectSource(schema, name, objectType) directly on ConfiguredJdbcAgent (or through generic tooling dispatching to it).

Common situations: Metadata/DDL export tools assuming all JDBC agents expose object source; code paths previously targeting a specialized agent switched to ConfiguredJdbcAgent.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/b4fcefd0879953dc. Report an issue: GitHub.