Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3160499c

Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt

  • ID 3160499ccda0138accf32cef2b9478b2a7dc6bd3
  • Vorgänger b9dcff08
  • Nachfolger 38838b5b

queryinterpreter/builder wip

Unterschiede anzeigen:

src/querybuilder.h
* EntityManager is a friend class, cause we want a light public api.
*/
friend class EntityManager;
friend class QueryInterpreter;
public:
QueryBuilder(QSharedPointer<Schema> schema, QSharedPointer<Database> database);
virtual ~QueryBuilder();
......
QString conjunction = "AND",
JokerPosition jp = JokerPosition::BOTH, QChar wildcard = '%');
QStringList quoteTableNames(const QStringList &tables);
QString getSeparator() const;
void setSeparator(const QString &value);
protected:
class ClassAttributes {
public:
......
const QString &primaryKey = "id") const;
QList<QSqlQuery> createOrMerge(const QSharedPointer<Entity> &entity,
bool insert) const;
virtual QString limit(const qint64 &limit, const qint64 &offset) const;
virtual QString limit(const quint64 &limit, const quint64 &offset) const;
QString generateIndexName(const QString &name, const QString &table,
const QString &refColumn, const QString &refTable, const bool fk) const;
QString generateColumnNameID(QString name) const;
......
virtual void appendCondition(Query &q, QString ph1, QString ph2, QVariant val1,
QVariant val2, QString condition);
QString entityClassname() const;
QString separator;
QSharedPointer<Schema> schema;
QSharedPointer<Database> database;
};

Auch abrufbar als: Unified diff