apache/superset · error · Error

Line column is required for Path charts

Error message

Line column is required for Path charts

What it means

Thrown by the deck.gl Path layer's buildQuery when line_column is missing. Each row's path is read from this single column (a polyline/WKT string), so the query cannot be assembled without it. Pure form-data validation raised before buildQueryContext runs.

Source

Thrown at superset-frontend/plugins/preset-chart-deckgl/src/layers/Path/buildQuery.ts:58

  line_width_multiplier?: number;
  min_width?: number;
  max_width?: number;
  dimension?: string;
  breakpoint_metric?: QueryFormMetric;
}

export default function buildQuery(formData: DeckPathFormData) {
  const {
    line_column,
    metric,
    tooltip_contents,
    line_width,
    dimension,
    breakpoint_metric,
  } = formData;

  if (!line_column) {
    throw new Error('Line column is required for Path charts');
  }

  return buildQueryContext(formData, {
    buildQuery: baseQueryObject => {
      const columns = ensureIsArray(
        baseQueryObject.columns || [],
      ) as QueryFormColumn[];
      let metrics = ensureIsArray(baseQueryObject.metrics || []);
      const groupby = ensureIsArray(
        baseQueryObject.groupby || [],
      ) as QueryFormColumn[];

      if (baseQueryObject.metrics?.length || metric) {
        if (metric && !metrics.includes(metric)) {
          metrics.push(metric);
        }
        if (!groupby.includes(line_column)) {
          groupby.push(line_column);

View on GitHub (pinned to f4587218dd)

Solutions

  1. Open the Path chart in Explore and set the path column (line_column) control, then save.
  2. Verify the underlying dataset still has the column; re-create or rename it if schema drifted.
  3. Include line_column in params when creating the chart programmatically.

Example fix

// before
buildQuery(formData); // line_column undefined -> throws

// after
if (!formData.line_column) {
  throw new Error('Select a path column before running the query');
}
buildQuery(formData);
Defensive patterns

Strategy: validation

Validate before calling

if (!formData.line_column) {
  throw new Error('Path chart requires a path column');
}
buildQuery(formData);

Type guard

const hasPathColumn = (fd: DeckPathFormData): boolean => Boolean(fd.line_column);

Try / catch

try { buildQuery(formData); } catch (e) { if (e.message.includes('Line column')) showExploreWarning(e.message); else throw e; }

Prevention

When it happens

Trigger: Building the query for a Deck.gl Path chart whose 'Path Column' (line_column) control is empty — unconfigured chart, imported dashboard with incomplete params, or a programmatic query context missing the key.

Common situations: Saved path charts whose source column was renamed/dropped; charts created by copying a template before setting the path column; API-driven chart creation with partial params.

Related errors


AI-assisted analysis of apache/superset@f4587218dd (2026-08-14). Data as JSON: /api/errors/72dc02a0b4dd1ee7. Report an issue: GitHub.