Skip to content

Hardcoded dialect: "snowflake" across altimate-core tools #455

@suryaiyer95

Description

@suryaiyer95

Problem

The altimate-core tools don't expose a dialect parameter — they always target Snowflake internally. The sql_quality telemetry event supports an optional dialect field, but only the sql-* tools (analyze, optimize, schema-diff) populate it since they accept dialect as a user parameter.

Tools missing dialect support

  • altimate-core-validate.ts
  • altimate-core-fix.ts
  • altimate-core-correct.ts
  • altimate-core-semantics.ts
  • altimate-core-equivalence.ts
  • altimate-core-policy.ts
  • altimate-core-check.ts
  • impact-analysis.ts

Tools that already support dialect

  • sql-analyze.tsdialect parameter, passed to dispatcher and telemetry
  • sql-optimize.ts — same
  • schema-diff.ts — same

Proposed fix

  1. Add an optional dialect parameter to all altimate-core tools (defaulting to "snowflake")
  2. Pass the dialect through to the Dispatcher call
  3. Include dialect in metadata so telemetry picks it up

This enables per-dialect telemetry segmentation and prepares these tools for multi-dialect support (postgres, bigquery, duckdb, etc.).

Context

Identified during PR #446 (sql_quality telemetry). Rather than hardcoding dialect: "snowflake", we made the telemetry field optional — tools that don't set it simply omit it from the event.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions