1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/optimizer/rule/like_optimizations.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/optimizer/rule.hpp"
12#include "duckdb/function/scalar/string_functions.hpp"
13
14namespace duckdb {
15
16class RegexOptimizationRule : public Rule {
17public:
18 explicit RegexOptimizationRule(ExpressionRewriter &rewriter);
19
20 unique_ptr<Expression> Apply(LogicalOperator &op, vector<reference<Expression>> &bindings, bool &changes_made,
21 bool is_root) override;
22
23 unique_ptr<Expression> ApplyRule(BoundFunctionExpression *expr, ScalarFunction function, string pattern,
24 bool is_not_like);
25};
26
27} // namespace duckdb
28