{"record":{"id":"6c639bf880c15a11","repo":"prestodb/presto","slug":"not-supported-6c639b","errorCode":"NOT_SUPPORTED","errorMessage":"This connector does not support creating vector indexes","messagePattern":"This connector does not support creating vector indexes","errorType":"error_code","errorClass":"PrestoException","httpStatus":null,"severity":"error","filePath":"presto-main-base/src/main/java/com/facebook/presto/metadata/Metadata.java","lineNumber":291,"sourceCode":"\n    Optional<NewTableLayout> getNewTableLayout(Session session, String catalogName, ConnectorTableMetadata tableMetadata);\n\n    /**\n     * Begin the atomic creation of a table with data.\n     */\n    OutputTableHandle beginCreateTable(Session session, String catalogName, ConnectorTableMetadata tableMetadata, Optional<NewTableLayout> layout);\n\n    /**\n     * Finish a table creation with data after the data is written.\n     */\n    Optional<ConnectorOutputMetadata> finishCreateTable(Session session, OutputTableHandle tableHandle, Collection<Slice> fragments, Collection<ComputedStatistics> computedStatistics);\n\n    /**\n     * Begin the atomic creation of a vector index with data.\n     */\n    default OutputTableHandle beginCreateVectorIndex(Session session, String catalogName, ConnectorTableMetadata indexMetadata, Optional<NewTableLayout> layout, SchemaTableName sourceTableName)\n    {\n        throw new PrestoException(NOT_SUPPORTED, \"This connector does not support creating vector indexes\");\n    }\n\n    /**\n     * Finish a vector index creation with data after the data is written.\n     */\n    default Optional<ConnectorOutputMetadata> finishCreateVectorIndex(Session session, OutputTableHandle tableHandle, Collection<Slice> fragments, Collection<ComputedStatistics> computedStatistics)\n    {\n        throw new PrestoException(NOT_SUPPORTED, \"This connector does not support creating vector indexes\");\n    }\n\n    Optional<NewTableLayout> getInsertLayout(Session session, TableHandle target);\n\n    /**\n     * Describes statistics that must be collected during a write.\n     */\n    TableStatisticsMetadata getStatisticsCollectionMetadataForWrite(Session session, String catalogName, ConnectorTableMetadata tableMetadata);\n\n    /**","sourceCodeStart":273,"sourceCodeEnd":309,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-main-base/src/main/java/com/facebook/presto/metadata/Metadata.java#L273-L309","documentation":"Metadata.beginCreateVectorIndex is a default interface method that connectors must override to support the CREATE VECTOR INDEX operation. The default implementation throws NOT_SUPPORTED, meaning the connector backing the target catalog has not implemented vector index creation.","triggerScenarios":"Running a CREATE VECTOR INDEX statement (or otherwise calling beginCreateVectorIndex) against a catalog whose ConnectorMetadata does not override this method.","commonSituations":"Pointing CREATE VECTOR INDEX at a catalog using a connector (Hive, most JDBC connectors) that lacks vector-index support; running on a Presto build/connector version that predates vector index support; expecting a generic connector to support the feature.","solutions":["Use a catalog whose connector implements vector index creation (e.g. an engine/native connector that supports it)","Check the connector's documentation for vector index support before issuing CREATE VECTOR INDEX","If you own the connector, implement beginCreateVectorIndex/finishCreateVectorIndex in its ConnectorMetadata","Upgrade the connector/plugin to a version that adds vector index support"],"exampleFix":"// before\nCREATE VECTOR INDEX idx ON hive.db.table(col); -- connector doesn't support it\n// after\nCREATE VECTOR INDEX idx ON vectorcapable_catalog.db.table(col);","handlingStrategy":"validation","validationCode":"// Before CREATE VECTOR INDEX, confirm connector support:\n// Check the connector's documentation/features; there is no supportsVectorIndex() SPI check,\n// so validate catalog choice at deployment/config time.\nif (!vectorIndexCapableCatalogs.contains(catalogName)) {\n    throw new IllegalArgumentException(\"Catalog \" + catalogName + \" does not support vector indexes\");\n}","typeGuard":null,"tryCatchPattern":"try { metadata.beginCreateVectorIndex(session, catalog, md, layout, src); }\ncatch (PrestoException e) { if (NOT_SUPPORTED.getCode() == e.getErrorCode()) { /* route to a supporting catalog or surface a clear user error */ } else throw e; }","preventionTips":["Maintain a list of catalogs whose connectors support vector indexes","Gate CREATE VECTOR INDEX statements by catalog in your SQL gateway","Keep connector plugins up to date with vector-index support"],"tags":["presto","connector","vector-index","not-supported"],"backgroundTag":"connector-not-supported","analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}