fixed query limit offset order
This commit is contained in:
parent
6f5326941e
commit
b1f2d94c7a
|
|
@ -141,8 +141,8 @@ int main()
|
||||||
.where(qh::books.published_in < 2008 && qh::authors.last_name == "King")
|
.where(qh::books.published_in < 2008 && qh::authors.last_name == "King")
|
||||||
.group_by(qh::books.published_in)
|
.group_by(qh::books.published_in)
|
||||||
.order_by(qh::books.title).asc()
|
.order_by(qh::books.title).asc()
|
||||||
// .offset(2)
|
.limit(5)
|
||||||
// .limit(5)
|
.offset(2)
|
||||||
// .str();
|
// .str();
|
||||||
.fetch_all();
|
.fetch_all();
|
||||||
// .fetch_all<book>();
|
// .fetch_all<book>();
|
||||||
|
|
|
||||||
|
|
@ -78,16 +78,20 @@ private:
|
||||||
std::unique_ptr<query_result_impl> fetch();
|
std::unique_ptr<query_result_impl> fetch();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class query_offset_intermediate;
|
||||||
|
|
||||||
class query_limit_intermediate : public query_select_finish
|
class query_limit_intermediate : public query_select_finish
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using query_select_finish::query_select_finish;
|
using query_select_finish::query_select_finish;
|
||||||
|
|
||||||
|
query_offset_intermediate offset(size_t offset);
|
||||||
};
|
};
|
||||||
|
|
||||||
class query_offset_intermediate : public query_intermediate
|
class query_offset_intermediate : public query_select_finish
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using query_intermediate::query_intermediate;
|
using query_select_finish::query_select_finish;
|
||||||
|
|
||||||
query_limit_intermediate limit(size_t limit);
|
query_limit_intermediate limit(size_t limit);
|
||||||
};
|
};
|
||||||
|
|
@ -97,7 +101,6 @@ class query_order_direction_intermediate : public query_select_finish
|
||||||
public:
|
public:
|
||||||
using query_select_finish::query_select_finish;
|
using query_select_finish::query_select_finish;
|
||||||
|
|
||||||
query_offset_intermediate offset(size_t offset);
|
|
||||||
query_limit_intermediate limit(size_t limit);
|
query_limit_intermediate limit(size_t limit);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ statement query_select_finish::prepare()
|
||||||
query_intermediate::query_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema, query_data &data)
|
query_intermediate::query_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema, query_data &data)
|
||||||
: basic_query_intermediate(db, schema), data_(data) {}
|
: basic_query_intermediate(db, schema), data_(data) {}
|
||||||
|
|
||||||
query_offset_intermediate query_order_direction_intermediate::offset(size_t offset)
|
query_offset_intermediate query_limit_intermediate::offset(size_t offset)
|
||||||
{
|
{
|
||||||
data_.parts.push_back(std::make_unique<query_offset_part>(offset));
|
data_.parts.push_back(std::make_unique<query_offset_part>(offset));
|
||||||
return {connection_, schema_, data_};
|
return {connection_, schema_, data_};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue