Skip to main content
These settings are available in system.settings and are autogenerated from source.

ast_fuzzer_any_query

When false (default), the server-side AST fuzzer (controlled by ast_fuzzer_runs) only fuzzes read-only queries (SELECT, EXPLAIN, SHOW, DESCRIBE, EXISTS). When true, all query types including DDL and INSERT are fuzzed.

ast_fuzzer_oracle

When enabled together with ast_fuzzer_runs, applies a suite of correctness oracle checks to successfully executed fuzzed SELECT queries: TLP WHERE/DISTINCT/GROUP BY/HAVING/Aggregate, NoREC, DQP (toggling individual optimizer settings), Identity WHERE, and Subquery wrap. A mismatch throws an AST_FUZZER_ORACLE_MISMATCH exception.

ast_fuzzer_runs

Enables the server-side AST fuzzer that runs randomized queries after each normal query, discarding their results.
  • 0: disabled (default).
  • A value between 0 and 1 (exclusive): probability of running a single fuzzed query.
  • A value >= 1: the number of fuzzed queries to run per normal query.
The fuzzer accumulates AST fragments from all queries across all sessions, producing increasingly interesting mutations over time. Fuzzed queries that fail are silently discarded; results are never returned to the client.
Last modified on September 2, 2026