hasura/graphql-engine · error · Error

makeFindRelationship: interpolatedQuery targets not supporte

Error message

makeFindRelationship: interpolatedQuery targets not supported

What it means

findRelationship walks schema targets to locate a relationship by name; when it encounters a target of type 'interpolated' it throws, because interpolated query targets are not supported by this reference implementation.

Source

Thrown at dc-agents/reference/src/query.ts:641

              const relationship = r.relationships[relationshipName];
              if (relationship) {
                return relationship;
              }
            }
          }
          break;
        case 'function':
          if (r.type === 'function') {
            if (nameEquals(r.source_function)(targetName.function)) {
              const relationship = r.relationships[relationshipName];
              if (relationship) {
                return relationship;
              }
            }
          }
          break;
        case 'interpolated':
          throw new Error(
            'makeFindRelationship: interpolatedQuery targets not supported',
          );
        default:
          return unreachable(targetName['type']);
      }
    }
    throw new Error(
      `No relationship named ${relationshipName} found for ${targetName.type} ${prettyPrintTargetName(targetName)}`,
    );
  };

type ApplyRedaction = (
  row: Record<string, RawScalarValue>,
  redactionExpName: RedactionExpressionName | undefined,
  scalarValue: RawScalarValue,
) => RawScalarValue;

const noRedaction: ApplyRedaction = (_row, _redactionExpName, scalarValue) =>

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Remove or replace interpolated targets in the schema with table or query targets.
  2. Use a connector backend that implements interpolated query targets if you need them.
  3. Avoid query features (nested order_by / exists on related tables) that force relationship resolution over interpolated targets.
Defensive patterns

Strategy: validation

Validate before calling

const hasInterpolated = Object.values(schema.targets ?? {}).some((t: any) => t.type === 'interpolated');
if (hasInterpolated) throw new Error('schema uses unsupported interpolated targets');

Prevention

When it happens

Trigger: Any query (exists expressions, order-by paths, etc.) that triggers findRelationship on a schema whose targets include { type: 'interpolated', ... } entries while resolving a relationship name.

Common situations: Using schemas authored for connectors with interpolated-query support against this reference agent; advanced NDC schemas using argument interpolation that the reference backend hasn't implemented.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/da957243d86d6ff0. Report an issue: GitHub.