whynotAI Lab

sqlsure — детектор ошибок в SQL-запросах

Опубликовано Jul 12, 20262 мин чтенияНачальный
1просмотров

Что произошло

Появился инструмент sqlsure, который проверяет SQL-запросы на семантические ошибки до их выполнения. В отличие от обычных валидаторов синтаксиса, он ловит логические проблемы:

  • Двойной подсчёт при соединении таблиц (fan-out)
  • Суммирование некорректных метрик (например, средних значений)
  • Ошибки в ключах соединения
  • Утечку конфиденциальных данных

Инструмент уже нашёл реальные ошибки в эталонных наборах данных BIRD и Spider, которые используются для тестирования ИИ-моделей, генерирующих SQL.

Детали

sqlsure работает по простому принципу:

  1. Вы описываете правила в JSON или используете готовые конфиги из dbt
  2. Инструмент анализирует текст SQL-запроса без подключения к БД
  3. Возвращает список нарушений с готовыми исправлениями

Технические особенности:

  • Скорость проверки: 0.1 мс на запрос
  • Поддержка dbt (использует существующие тесты unique и relationships)
  • Работает оффлайн без доступа к данным
  • Детерминированные результаты (одинаковые входные данные → одинаковый вывод)

«Проверка 2568 экспертных запросов выявила 45 проблем без ложных срабатываний»

Почему это важно

Типичные проблемы, которые ловит sqlsure:

  1. Двойной подсчёт — когда JOIN умножает строки, и SUM() даёт неверный результат
  2. Некорректные агрегации — например, суммирование средних значений
  3. Ошибки в ключах соединения — JOIN по полям без реальной связи
  4. Утечки данных — случайный вывод PHI/PII-полей

Для разработчиков ИИ-решений это особенно ценно — инструмент можно встроить в цикл генерации SQL, чтобы автоматически проверять и исправлять запросы перед выполнением.

Где применить
  • В CI/CD для проверки SQL в PR
  • В агентах ИИ как этап проверки перед выполнением
  • Для аудита существующих запросов

Что дальше

Проект активно развивается с планами по:

  • Поддержке Cube и Snowflake Semantic Views
  • Интеграции с GitHub Actions и pre-commit
  • Созданию UDF для Snowflake Cortex

Уже сейчас sqlsure можно использовать как:

  1. Библиотеку в Python-проектах
  2. Сервер для проверки запросов (MCP-совместимый)
  3. Командную утилиту для аудита

Инструмент особенно полезен командам, которые:

  • Работают с генерацией SQL через ИИ
  • Хотят избежать ошибок в отчётах
  • Заботятся о защите конфиденциальных данных
Это разбор
Самостоятельный разбор новости. Оригинал на github.com — по ссылке ниже.

Источники

Было полезно?