added like and between operator
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
namespace matador::condition {
|
||||
class between_condition_node;
|
||||
class binary_condition_node;
|
||||
class like_condition_node;
|
||||
class logical_condition_node;
|
||||
class not_condition_node;
|
||||
class collection_condition_node;
|
||||
@@ -15,6 +16,7 @@ public:
|
||||
virtual void visit(const between_condition_node &node) = 0;
|
||||
virtual void visit(const binary_condition_node &node) = 0;
|
||||
virtual void visit(const collection_condition_node &node) = 0;
|
||||
virtual void visit(const like_condition_node &node) = 0;
|
||||
virtual void visit(const logical_condition_node &node) = 0;
|
||||
virtual void visit(const not_condition_node &node) = 0;
|
||||
};
|
||||
|
||||
@@ -61,5 +61,9 @@ condition_node_ptr out(const column &col, std::initializer_list<V> args) {
|
||||
return std::make_unique<collection_condition_node>(col, collection_operator::OUT, values);
|
||||
}
|
||||
|
||||
condition_node_ptr between(const column &col, value min, value max);
|
||||
|
||||
condition_node_ptr like(const column &col, const std::string &pattern);
|
||||
|
||||
}
|
||||
#endif //CONDITION_CONDITION_OPERATORS_HPP
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef CONDITION_LIKE_CONDITION_NODE_HPP
|
||||
#define CONDITION_LIKE_CONDITION_NODE_HPP
|
||||
|
||||
#include "column.hpp"
|
||||
#include "condition_node.hpp"
|
||||
|
||||
namespace matador::condition {
|
||||
class like_condition_node final : public condition_node {
|
||||
public:
|
||||
like_condition_node() = delete;
|
||||
like_condition_node(column column, std::string pattern);
|
||||
|
||||
void accept(condition_node_visitor &visitor) const override;
|
||||
|
||||
private:
|
||||
column column_;
|
||||
std::string pattern_;
|
||||
};
|
||||
}
|
||||
#endif //CONDITION_LIKE_CONDITION_NODE_HPP
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef CONDITION_TYPES_HPP
|
||||
#define CONDITION_TYPES_HPP
|
||||
|
||||
#include <cstdint>
|
||||
#include <variant>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
Reference in New Issue
Block a user