Skip to content

perf(safemode): zero-allocation token scanner for Safe Mode SQL precheck - #76

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/51-safemode-zero-alloc-prefix-scanner
Sep 29, 2026
Merged

ZhuchkaTriplesix merged 1 commit into
devfrom
issue/51-safemode-zero-alloc-prefix-scanner

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Closes #51

Описание

Заменяет strip_sql_comments_and_trim (полная копия запроса + to_uppercase + Vec токенов) на ленивый итератор SqlTokens, выдающий срезы исходной строки. Комментарии и литералы пропускаются без аллокаций, сравнение через eq_ignore_ascii_case.

  • Read-only запросы (SELECT/SHOW/WITH…) выходят после первого токена, без сканирования остального текста.
  • Остальные ветки сохраняют прежнюю семантику (полный однопроходный поиск опасных ключевых слов).
  • Классификация табличных запросов и поиск FORMAT в handle_query тоже используют сканер.

Чеклист

  • cargo fmt / clippy -D warnings
  • cargo test

@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit d444071 into dev Sep 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant