{"record":{"id":"e4db29f249488e7e","repo":"prestodb/presto","slug":"sheets-unknown-table-error-e4db29","errorCode":"SHEETS_UNKNOWN_TABLE_ERROR","errorMessage":"Metadata not found for table ","messagePattern":"Metadata not found for table ","errorType":"error_code","errorClass":"PrestoException","httpStatus":null,"severity":"error","filePath":"presto-google-sheets/src/main/java/com/facebook/presto/google/sheets/SheetsMetadata.java","lineNumber":106,"sourceCode":"            Optional<Set<ColumnHandle>> desiredColumns)\n    {\n        SheetsTableHandle tableHandle = (SheetsTableHandle) table;\n        ConnectorTableLayout layout = new ConnectorTableLayout(new SheetsTableLayoutHandle(tableHandle));\n        return new ConnectorTableLayoutResult(layout, constraint.getSummary());\n    }\n\n    @Override\n    public ConnectorTableLayout getTableLayout(ConnectorSession session, ConnectorTableLayoutHandle handle)\n    {\n        return new ConnectorTableLayout(handle);\n    }\n\n    @Override\n    public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle table)\n    {\n        Optional<ConnectorTableMetadata> connectorTableMetadata = getTableMetadata(session, ((SheetsTableHandle) table).toSchemaTableName());\n        if (!connectorTableMetadata.isPresent()) {\n            throw new PrestoException(SHEETS_UNKNOWN_TABLE_ERROR, \"Metadata not found for table \" + ((SheetsTableHandle) table).getTableName());\n        }\n        return connectorTableMetadata.get();\n    }\n\n    private Optional<ConnectorTableMetadata> getTableMetadata(ConnectorSession session, SchemaTableName tableName)\n    {\n        if (!listSchemaNames().contains(tableName.getSchemaName())) {\n            return Optional.empty();\n        }\n        Optional<SheetsTable> table = sheetsClient.getTable(tableName.getTableName());\n        if (table.isPresent()) {\n            List<ColumnMetadata> columns = table.get().getColumnsMetadata().stream()\n                    .map(column -> column.toBuilder()\n                            .setName(normalizeIdentifier(session, column.getName()))\n                            .build())\n                    .collect(toImmutableList());\n\n            return Optional.of(new ConnectorTableMetadata(tableName, columns));","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-google-sheets/src/main/java/com/facebook/presto/google/sheets/SheetsMetadata.java#L88-L124","documentation":"Metadata lookup guard: getTableMetadata was asked for a table whose entry is absent from the sheets-connector's in-memory table metadata (loaded from the configured spreadsheet), so the table is unknown to this connector.","triggerScenarios":"Thrown at presto-google-sheets/src/main/java/com/facebook/presto/google/sheets/SheetsMetadata.java:106 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the table name exists in the configured spreadsheet","Reload/refresh the sheets metadata cache","Check the credentials file has access to the spreadsheet"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}