9 #ifndef litesql_datasource_hpp 10 #define litesql_datasource_hpp 22 const Expr & e=Expr());
28 std::vector<FieldType> fdatas;
29 T::getFieldTypes(fdatas);
49 : db(db_), sel(sel_) {
60 idq.result(T::Id.fullName());
67 cq.limit(0).offset(0);
68 cq.result(
"count(*)");
77 return db.template cursor<T>(sel);
85 std::vector<T>
all()
const {
87 return cursor().dump();
94 sel.orderBy(f.fullName(), asc);
103 sel.source(
id.table());
104 sel.where(
id == T::Id);
105 sel.orderBy(f.fullName(), asc);
Definition: backend.hpp:14
DataSource(const Database &db_, const Expr &e=Expr())
Definition: datasource.hpp:43
int atoi(const std::string &s)
string version of atoi
A base class of databases.
Definition: database.hpp:37
A base class for expression in WHERE - clause.
Definition: expr.hpp:19
Contains Expr-class hierarchy and operator overloadings for them.
DataSource & orderBy(FieldType f, bool asc=true)
modifies SelectQuery to order result set
Definition: datasource.hpp:93
Records query(const string &query) const
executes SQL query
Definition: database.cpp:219
size_t count() const
returns number of objects in result set
Definition: datasource.hpp:64
a class that helps creating SELECT-SQL statements.
Definition: selectquery.hpp:18
SelectQuery selectObjectQuery(const std::vector< FieldType > &fdatas, const Expr &e=Expr())
returns SelectQuery which selects objects of type T
Definition: datasource.cpp:10
T one() const
returns first object in result set.
Definition: datasource.hpp:81
template class which holds SelectQuery for selecting objects of type T
Definition: datasource.hpp:34
const Database & getDatabase() const
returns database reference
Definition: datasource.hpp:53
used to iterate results of SQL statement, creates objects of type T from retrieved records...
Definition: cursor.hpp:22
std::vector< T > all() const
returns all objects in result set.
Definition: datasource.hpp:85
Cursor< T > cursor() const
returns cursor for query
Definition: datasource.hpp:76
SelectQuery objectQuery() const
returns SelectQuery which selects objects
Definition: datasource.hpp:72
contains SelectQuery-class.
SelectQuery idQuery() const
returns SelectQuery which selects ID-numbers of objects
Definition: datasource.hpp:57
DataSource(const Database &db_, const SelectQuery &sel_)
Definition: datasource.hpp:48
DataSource & orderByRelation(FieldType id, FieldType f, bool asc=true)
modifies SelectQuery to order result set by external table
Definition: datasource.hpp:102