ast_fuzzer_any_query
当为 false (默认值) 时,服务器端 AST fuzzer (由ast_fuzzer_runs 控制) 仅对只读查询 (SELECT、EXPLAIN、SHOW、DESCRIBE、EXISTS) 进行 fuzzing。当为 true 时,则会对所有查询类型进行 fuzzing,包括 DDL 和 INSERT。
ast_fuzzer_oracle
与ast_fuzzer_runs 一同启用时,会对成功执行的经模糊测试的 SELECT 查询应用一组正确性预言机检查:TLP WHERE/DISTINCT/GROUP BY/HAVING/Aggregate、NoREC、DQP (切换各个 optimizer 设置) 、Identity WHERE 和 Subquery wrap。若检查结果不一致,将抛出 AST_FUZZER_ORACLE_MISMATCH 异常。
ast_fuzzer_runs
启用服务器端 AST fuzzer。它会在每次普通查询后运行随机查询,并丢弃其结果。- 0:禁用 (默认) 。
- 大于 0 且小于 1 的值 (exclusive) :运行单个模糊测试查询的概率。
- 值 >= 1:每次普通查询要运行的模糊测试查询数量。