66 lines
2.1 KiB
C++
66 lines
2.1 KiB
C++
#ifndef QUERY_QUERY_PART_VISITOR_HPP
|
|
#define QUERY_QUERY_PART_VISITOR_HPP
|
|
|
|
namespace matador::sql {
|
|
|
|
class query_select_part;
|
|
class query_from_part;
|
|
class query_join_part;
|
|
class query_on_part;
|
|
class query_where_part;
|
|
class query_group_by_part;
|
|
class query_order_by_part;
|
|
class query_order_by_asc_part;
|
|
class query_order_by_desc_part;
|
|
class query_offset_part;
|
|
class query_limit_part;
|
|
class query_insert_part;
|
|
class query_into_part;
|
|
class query_values_part;
|
|
class query_update_part;
|
|
class query_set_part;
|
|
class query_delete_part;
|
|
class query_delete_from_part;
|
|
class query_create_part;
|
|
class query_create_table_part;
|
|
class query_drop_part;
|
|
class query_drop_table_part;
|
|
|
|
class query_part_visitor
|
|
{
|
|
public:
|
|
virtual ~query_part_visitor() = default;
|
|
|
|
virtual void visit(query_select_part &select_part) = 0;
|
|
virtual void visit(query_from_part &from_part) = 0;
|
|
virtual void visit(query_join_part &join_part) = 0;
|
|
virtual void visit(query_on_part &on_part) = 0;
|
|
virtual void visit(query_where_part &where_part) = 0;
|
|
virtual void visit(query_group_by_part &group_by_part) = 0;
|
|
virtual void visit(query_order_by_part &order_by_part) = 0;
|
|
virtual void visit(query_order_by_asc_part &order_by_asc_part) = 0;
|
|
virtual void visit(query_order_by_desc_part &order_by_desc_part) = 0;
|
|
virtual void visit(query_offset_part &offset_part) = 0;
|
|
virtual void visit(query_limit_part &limit_part) = 0;
|
|
|
|
virtual void visit(query_insert_part &insert_part) = 0;
|
|
virtual void visit(query_into_part &into_part) = 0;
|
|
virtual void visit(query_values_part &values_part) = 0;
|
|
|
|
virtual void visit(query_update_part &update_part) = 0;
|
|
virtual void visit(query_set_part &set_part) = 0;
|
|
|
|
virtual void visit(query_delete_part &delete_part) = 0;
|
|
virtual void visit(query_delete_from_part &delete_from_part) = 0;
|
|
|
|
virtual void visit(query_create_part &create_part) = 0;
|
|
virtual void visit(query_create_table_part &create_table_part) = 0;
|
|
|
|
virtual void visit(query_drop_part &drop_part) = 0;
|
|
virtual void visit(query_drop_table_part &drop_table_part) = 0;
|
|
};
|
|
|
|
}
|
|
|
|
#endif //QUERY_QUERY_PART_VISITOR_HPP
|