#!/usr/bin/env bash
# Formatter: SQL — sqlfluff fix + sqlfluff lint
# Contract: $1 = absolute file path, format in place, lint, exit 0 if clean / 1 if errors
# Missing tools: exit 0 silently

FILE="$1"
[ -z "$FILE" ] && exit 0
[ -f "$FILE" ] || exit 0

command -v sqlfluff >/dev/null 2>&1 || exit 0

# Auto-fix in place
sqlfluff fix --force --quiet "$FILE" 2>/dev/null

# Final lint pass — remaining errors go to stderr
ERRORS=$(sqlfluff lint "$FILE" 2>&1)
if [ $? -ne 0 ]; then
    echo "$ERRORS" >&2
    exit 1
fi

exit 0
