AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
selectBuilderPart.hpp
1/*
2 ANCH Framework: ANother C++ Hack is a C++ framework based on C++11 standard
3 Copyright (C) 2012 Vincent Lachenal
4
5 This file is part of ANCH Framework.
6
7 ANCH Framework is free software: you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 ANCH Framework is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public License
18 along with ANCH Framework. If not, see <http://www.gnu.org/licenses/>.
19*/
20#pragma once
21
22#include <string>
23#include <cstdint>
24
25#include "sql/builder/sqlQuery.hpp"
26
27
28namespace anch {
29 namespace sql {
30
31 class SelectBuilder;
32 class FieldsBuilder;
33 class ClausesBuilder;
34
45
46 // Attributes +
47 protected:
50 // Attributes -
51
52 // Constructors +
53 protected:
58
65 // Constructors -
66
67 // Destructor +
72 // Destructor -
73
74 // SQL commands +
75 public:
83 anch::sql::FieldsBuilder groupBy(const std::string& column);
84
92 anch::sql::FieldsBuilder orderBy(const std::string& column);
93
102
111
120
129
138
150 anch::sql::SelectBuilder& windowByRowNumber(const std::string& alias, const std::string& rowColumn, const std::string& order, uint32_t min, uint32_t max);
151
163 anch::sql::SelectBuilder& windowByRank(const std::string& alias, const std::string& rowColumn, const std::string& order, uint32_t min, uint32_t max);
164 // SQL commands -
165
166 // Methods +
167 public:
174
181 // Methods -
182
183 };
184
185 } // sql
186} // anch
SQL clauses builder.
Definition clausesBuilder.hpp:73
Field builder.
Definition fieldsBuilder.hpp:43
SQL query.
Definition sqlQuery.hpp:42
Dynamic SQL select request builder.
Definition selectBuilder.hpp:47
anch::sql::SelectBuilder & having(anch::sql::ClausesBuilder &clauses)
anch::sql::FieldsBuilder groupBy(const std::string &column)
anch::sql::SelectBuilder & fetch(uint64_t limit)
anch::sql::SelectBuilder & offset(int64_t offset)
anch::sql::SelectBuilder & done()
anch::sql::SelectBuilder & windowByRowNumber(const std::string &alias, const std::string &rowColumn, const std::string &order, uint32_t min, uint32_t max)
SelectBuilderPart(anch::sql::SelectBuilder &select)
anch::sql::SelectBuilder & unionAll(anch::sql::SelectBuilder &other)
anch::sql::SelectBuilder & _select
Definition selectBuilderPart.hpp:49
anch::sql::SQLQuery build()
anch::sql::FieldsBuilder orderBy(const std::string &column)
anch::sql::SelectBuilder & unionOnce(anch::sql::SelectBuilder &other)
anch::sql::SelectBuilder & windowByRank(const std::string &alias, const std::string &rowColumn, const std::string &order, uint32_t min, uint32_t max)
SQL namespace.
Definition clauses.hpp:26
ClausesBuilder clauses()
SelectBuilder select()
AnCH framework base namespace.
Definition app.hpp:28