{"record":{"id":"999bdc7213c2cfba","repo":"hasura/graphql-engine","slug":"unknown-data-connector-data-connector-reference-999bdc","errorCode":null,"errorMessage":"unknown data connector {data_connector:} referenced in scalar type representation of {scalar_type:}","messagePattern":"unknown data connector (.+?) referenced in scalar type representation of (.+?)","errorType":"validation","errorClass":"ScalarBooleanExpressionTypeError","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/scalar_boolean_expressions/error.rs","lineNumber":13,"sourceCode":"use crate::helpers::type_validation;\nuse crate::types::error::ContextualError;\nuse crate::{Qualified, QualifiedTypeName, QualifiedTypeReference};\nuse crate::{stages::graphql_config, types::error::ShouldBeAnError};\nuse open_dds::flags;\nuse open_dds::{\n    data_connector::{DataConnectorName, DataConnectorScalarType},\n    types::{CustomTypeName, OperatorName},\n};\n\n#[derive(Debug, thiserror::Error)]\npub enum ScalarBooleanExpressionTypeError {\n    #[error(\n        \"unknown data connector {data_connector:} referenced in scalar type representation of {scalar_type:}\"\n    )]\n    ScalarTypeFromUnknownDataConnector {\n        data_connector: Qualified<DataConnectorName>,\n        scalar_type: DataConnectorScalarType,\n    },\n    #[error(\"cannot find scalar type {scalar_type:} in data connector {data_connector:}\")]\n    UnknownScalarTypeInDataConnector {\n        data_connector: Qualified<DataConnectorName>,\n        scalar_type: DataConnectorScalarType,\n    },\n    #[error(\n        \"cannot find type {custom_type:} when resolving arguments for comparison operator {operator_name:} for {boolean_expression_type:}\"\n    )]\n    UnknownCustomTypeInComparisonOperatorArgument {\n        custom_type: Qualified<CustomTypeName>,\n        operator_name: OperatorName,\n        boolean_expression_type: Qualified<CustomTypeName>,","sourceCodeStart":1,"sourceCodeEnd":31,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/scalar_boolean_expressions/error.rs#L1-L31","documentation":"The scalar boolean expressions stage resolves comparison operator input types against data connector scalar types. This error fires when the metadata references a Qualified<DataConnectorName> that is not present in the resolved data connectors subgraph — i.e. the connector backing a scalar type representation was never defined or has a different name/namespace.","triggerScenarios":"A scalar type's connector representation (or boolean expression operator config) references a data connector name/subgraph combination that doesn't exist in the metadata; typical after renaming a data connector, moving it between namespaces, or omitting its definition file.","commonSituations":"Renaming a data connector without updating all scalar representations referencing it; building a subset of metadata files that excludes the connector definition; namespace typos in the qualified name.","solutions":["Grep metadata for the data connector name from the error and align it with the actual connector definition","Ensure the data connector is defined in the same subgraph/namespace used in the reference","If the connector was renamed, update the scalar representation to the new qualified name"],"exampleFix":"# before\nscalarRepresentations:\n  - scalarType: UUID\n    dataConnectorName: default/postgres_v1   # connector is 'default/postgres'\n# after\nscalarRepresentations:\n  - scalarType: UUID\n    dataConnectorName: default/postgres","handlingStrategy":"validation","validationCode":"fn check_connector_refs(\n    connectors: &BTreeSet<Qualified<DataConnectorName>>,\n    refs: &[Qualified<DataConnectorName>],\n) -> Result<(), String> {\n    for r in refs {\n        if !connectors.contains(r) { return Err(format!(\"unknown data connector: {r}\")); }\n    }\n    Ok(())\n}","typeGuard":null,"tryCatchPattern":"downcast ScalarTypeFromUnknownDataConnector and echo the connector + scalar type so the operator can grep metadata","preventionTips":["Rename data connectors with a repo-wide find/replace","Always apply the full metadata directory, never a partial subset"],"tags":["metadata","data-connector","scalar-types","boolean-expressions","hasura-ddn"],"backgroundTag":"dangling-metadata-reference","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}