//===----------------------------------------------------------------------===// // DuckDB // // duckdb/parser/expression_util.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/parser/base_expression.hpp" #include "duckdb/common/vector.hpp" namespace duckdb { class ParsedExpression; class Expression; class ExpressionUtil { public: //! ListEquals: check if a list of two expressions is equal (order is important) static bool ListEquals(const vector> &a, const vector> &b); static bool ListEquals(const vector> &a, const vector> &b); //! SetEquals: check if two sets of expressions are equal (order is not important) static bool SetEquals(const vector> &a, const vector> &b); static bool SetEquals(const vector> &a, const vector> &b); private: template static bool ExpressionListEquals(const vector> &a, const vector> &b); template static bool ExpressionSetEquals(const vector> &a, const vector> &b); }; } // namespace duckdb