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(),
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() {}
A base class of databases.
Definition database.hpp:37
holds field value
Definition field.hpp:73
An abstract base class of persistents objects.
Definition persistent.hpp:33
const Persistent & operator=(const Persistent &p)
copies values and keeps fields unchanged
Definition persistent.cpp:14
bool inDatabase
flag that indicates that object is stored in some database.
Definition persistent.hpp:60
virtual ~Persistent()
empty
Definition persistent.hpp:89
bool isInDatabase() const
returns true if object is in database
Definition persistent.hpp:71
const Database * db
pointer to current Database Persistent is assigned to.
Definition persistent.hpp:57
Persistent(const Database &_db)
creates empty Persistent
Definition persistent.hpp:85
const Database & getDatabase() const
returns reference to Database the object is in
Definition persistent.hpp:67
int oldKey
used to keep track of ID changes.
Definition persistent.hpp:64
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
static Split getTablesFromFieldTypes(const std::vector< FieldType > &fdatas)
selectObjectQuery uses this to list tables used by Persistent
SQL data row wrapper.
Definition types.hpp:20
splits and joins strings.
Definition split.hpp:15
Contains Expr-class hierarchy and operator overloadings for them.
To convert(From value)
convert function
select<T>, intersect<T>, union_<T>, except<T>
contains SelectQuery-class.
int atoi(const std::string &s)
string version of atoi
std::vector< Record > Records
shortcut
Definition types.hpp:26
includes string.hpp and split.hpp