7 #ifndef litesql_persistent_hpp 8 #define litesql_persistent_hpp 35 typedef std::map<std::string, std::vector<pair<FieldType, std::string> > > Updates;
40 const std::string& sequence);
41 void update(
const Updates& updates);
43 void updateField(litesql::Persistent::Updates& updates,
44 const std::string& table,
47 updates[table].push_back(make_pair(fld.fieldType(),
48 litesql::convert<const T&, std::string>(fld.value())));
49 fld.setModified(
false);
52 void prepareUpdate(Updates& updates,
const std::string& table);
53 void deleteFromTable(
const std::string& table,
const std::string&
id);
87 virtual void onDelete() {}
Definition: backend.hpp:14
holds field value
Definition: field.hpp:73
An abstract base class of persistents objects.
Definition: persistent.hpp:33
int oldKey
used to keep track of ID changes.
Definition: persistent.hpp:64
const Persistent & operator=(const Persistent &p)
copies values and keeps fields unchanged
Definition: persistent.cpp:14
int atoi(const std::string &s)
string version of atoi
includes string.hpp and split.hpp
A base class of databases.
Definition: database.hpp:37
Contains Expr-class hierarchy and operator overloadings for them.
select<T>, intersect<T>, union_<T>, except<T>
Persistent(const Database &_db)
creates empty Persistent
Definition: persistent.hpp:85
static Split getTablesFromFieldTypes(const std::vector< FieldType > &fdatas)
selectObjectQuery uses this to list tables used by Persistent
bool inDatabase
flag that indicates that object is stored in some database.
Definition: persistent.hpp:60
std::string insert(Record &tables, Records &fieldRecs, Records &values, const std::string &sequence)
executed when object is created into database
Definition: persistent.cpp:23
Persistent(const Persistent &p)
copies values and registers Field-objects to fields
Definition: persistent.hpp:77
SQL data row wrapper.
Definition: types.hpp:19
bool isInDatabase() const
returns true if object is in database
Definition: persistent.hpp:71
splits and joins strings.
Definition: split.hpp:15
virtual ~Persistent()
empty
Definition: persistent.hpp:89
std::vector< Record > Records
shortcut
Definition: types.hpp:26
contains SelectQuery-class.
const Database & getDatabase() const
returns reference to Database the object is in
Definition: persistent.hpp:67
const Database * db
pointer to current Database Persistent is assigned to.
Definition: persistent.hpp:57