prestodb/presto · error · PrestoException
NOT_SUPPORTED
NOT_SUPPORTED
Error message
This connector does not support creating vector indexes. The connector must provide a ConnectorPlanOptimizer to handle CREATE VECTOR INDEX.
What it means
NOT_SUPPORTED error from TableWriteInfo.createWriterTarget for CREATE VECTOR INDEX: the target catalog provides no ConnectorPlanOptimizer able to handle vector index creation, so the statement cannot be planned against this connector.
Source
Thrown at presto-main-base/src/main/java/com/facebook/presto/execution/scheduler/TableWriteInfo.java:136
CallDistributedProcedureTarget callDistributedProcedureTarget = (CallDistributedProcedureTarget) target;
return Optional.of(new ExecuteProcedureHandle(
metadata.beginCallDistributedProcedure(
session,
callDistributedProcedureTarget.getProcedureName(),
callDistributedProcedureTarget.getSourceHandle().orElse(null),
callDistributedProcedureTarget.getProcedureArguments(),
callDistributedProcedureTarget.isSourceTableEliminated()),
callDistributedProcedureTarget.getSchemaTableName(),
callDistributedProcedureTarget.getProcedureName()));
}
if (target instanceof TableWriterNode.MergeTarget) {
TableWriterNode.MergeTarget mergeTarget = (TableWriterNode.MergeTarget) target;
Optional<MergeHandle> mergeHandle = mergeTarget.getMergeHandle();
return Optional.of(new ExecutionWriterTarget.MergeHandle(mergeHandle.orElseThrow(
() -> new VerifyException("mergeHandle is absent: " + target.getClass().getSimpleName()))));
}
if (target instanceof TableWriterNode.CreateVectorIndexReference) {
throw new PrestoException(NOT_SUPPORTED,
"This connector does not support creating vector indexes. " +
"The connector must provide a ConnectorPlanOptimizer to handle CREATE VECTOR INDEX.");
}
throw new IllegalArgumentException("Unhandled target type: " + target.getClass().getSimpleName());
}
return Optional.empty();
}
private static Optional<ExecutionWriterTarget> createWriterTarget(StreamingSubPlan plan, Metadata metadata, Session session)
{
return createWriterTarget(findSinglePlanNode(plan, TableFinishNode.class), metadata, session);
}
private static Optional<ExecutionWriterTarget> createWriterTarget(PlanNode planNode, Metadata metadata, Session session)
{
return createWriterTarget(findSinglePlanNode(planNode, TableFinishNode.class), metadata, session);
}View on GitHub (pinned to 55bb57d202)
Solutions
- Run CREATE VECTOR INDEX against a connector that implements vector index support
- Implement a ConnectorPlanOptimizer in the connector to handle CREATE VECTOR INDEX
- Use the connector's native indexing mechanism if one exists
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-main-base/src/main/java/com/facebook/presto/execution/scheduler/TableWriteInfo.java:136 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
Background: Presto NOT_SUPPORTED error: what "not supported" means and how to fix it — this error's family across 3 libraries.
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/ca8f9152d6d0dead.
Report an issue: GitHub.