AltimateAI / AltimateAI/altimate-code

Hardcoded `dialect: "snowflake"` across altimate-core tools

Open
#455 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
811
Forks
134
Avg merge
3d 2h
Merged PRs (30d)
50

Description

## 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.ts` — `dialect` 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.