Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 86e5c917

Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt

  • ID 86e5c91751659eac014d5222c008bcf05a183efc
  • Vorgänger ed03d112
  • Nachfolger 4677e852

not working wip...

Unterschiede anzeigen:

src/querybuilder.h
};
class QueryBuilder {
/**
* EntityManager is a friend class, cause we want a light public api.
*/
friend class EntityManager;
public:
QueryBuilder(QSharedPointer<Schema> schema, QSharedPointer<Database> database);
virtual ~QueryBuilder();
......
QString refTableName,
QStringList refColumns, QString deleteConstraint,
QString updateConstraint) 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 QString getForeignKeyCascade(DbForeignKeyCascade cascade) const;
virtual QString dropForeignKey(QString name, QString tableName) const;
virtual QString createIndex(QString name, QString tableName,
......
bool unique)const;
virtual QString dropIndex(QString name, QString tableName)const;
virtual QString createFkSuperClass(const Entity *e) const;
QHash<QString, QVariant> getEntityAttributes(const QHash<QString, QMetaProperty>
&props,
const QSharedPointer<Entity> &entity) const;
virtual QStringList relationFks(const QSharedPointer<Entity> &entity) const;
virtual bool supportsForeignKeys() const;
......
QHash<QString, QString> generateTableDefinition(const QSharedPointer<Entity>
&entity)
const;
QString generateManyToManyTableName(const QSharedPointer<Entity> &firstEntity,
const QSharedPointer<Entity> &secondEntity, const Relation &r) const;
QSqlQuery getQuery() const;
QString transformTypeToAbstractDbType(QString typeName) const;
QString transformAbstractTypeToRealDbType(QString typeName) const;
QString getColumnType(const QString &type) const;
QSqlQuery find(const qint64 &id, const QString &tableName) const;
QSqlQuery find(const qint64 &id, const QSharedPointer<Entity> &entity,
qint64 offset = 0, QString pk = "id") const;
QSqlQuery findByAttributes(const QHash<QString, QVariant> &m,
const QString &tableName,
const bool &ignoreID = true, const qint64 limit = 0,
const qint64 offset = 0) const;
QSqlQuery findByAttributes(const QSharedPointer<Entity> &e,
bool ignoreID = true,
const qint64 limit = 0, const qint64 offset = 0);
QSqlQuery findAll(const QString &tableName) const;
QSqlQuery findAll(const QSharedPointer<Entity> &entity, const qint64 limit = 0,
qint64 offset = 0);
QList<QSqlQuery> remove(const QSharedPointer<Entity> &entity) const;
QSqlQuery findId(const QSharedPointer<Entity> &entity) const;
QSqlQuery count(const QSharedPointer<Entity> &entity, bool ignoreID) const;
QSqlQuery count(const QString &tableName) const;
QList<QSqlQuery> merge(const QSharedPointer<Entity> &entity) const;
QList<QSqlQuery> create(const QSharedPointer<Entity> &entity) const;
QSqlQuery removeAll(const QString &tableName) const;
QSqlQuery oneToMany(const QString &tableName, const QString &attribute,
const qint64 &id,
const qint64 &limit = 0);
QSqlQuery manyToMany(const QString &tableName, const QString &attribute,
const qint64 &id);
QSqlQuery manyToManyDelete(const QString &tableName, const QString &attribute,
const qint64 &id);
QSqlQuery manyToManyInsert(const QString &tableName, const QString &col1,
const QString &col2) const;
virtual QString limit(const qint64 &limit, const qint64 &offset) const;
QString generateManyToManyColumnName(const QSharedPointer<Entity> &entity)
const;
QSqlQuery getQuery() const;
void bindValues(const QHash<QString, QVariant> &h, QSqlQuery &q,
bool ignoreID = false, const QString &primaryKey = "id") const;
void bindValue(const QString &key, const QVariant &value, QSqlQuery &q) const;
virtual QString placeHolder(const QString &key) const;
void where(Query &query, QString column, QVariant value);
void where(Query &query,QHash<QString, QVariant> conditions, QString concat="AND");
void where(Query &query,QHash<QString, QList<QVariant>> conditions, QString concat="AND");
void between(Query &query,QString column, QVariant firstValue, QVariant secondValue);
void notBetween(Query &query,QString column, QVariant firstValue, QVariant secondValue);
void in(Query &query,QString column, QList<QVariant> values);
void notIn(Query &query,QString column, QList<QVariant> values);
void notOperator(Query &query,QString column, QVariant value);
void orOperator(Query &query, QHash<QString, QVariant> conditions, bool like=false);
void andOperator(Query &query,QHash<QString, QVariant> conditions);
void arbitraryOperator(Query &query,QString op, QString column, QVariant value);
void where(Query &query, QHash<QString, QVariant> conditions,
QString concat = "AND");
//void where(Query &query,QHash<QString, QList<QVariant>> conditions, QString concat="AND");
void between(Query &query, QString column, QVariant firstValue,
QVariant secondValue);
void notBetween(Query &query, QString column, QVariant firstValue,
QVariant secondValue);
void in(Query &query, QString column, QList<QVariant> values);
void notIn(Query &query, QString column, QList<QVariant> values);
void notOperator(Query &query, QString column, QVariant value);
void orOperator(Query &query, QHash<QString, QVariant> conditions,
bool like = false);
void andOperator(Query &query, QHash<QString, QVariant> conditions);
void arbitraryOperator(Query &query, QString op, QString column,
QVariant value);
void plainOr(Query &query); //adds a simple OR to condition
void plainAnd(Query &query); //add a simple AND to condition
......
* @param condition
* @param concat
*/
void like(QHash<QString, QVariant> conditions, QString concat ="AND", JokerPosition = JokerPosition::BOTH);
void like(QHash<QString, QVariant> conditions, QString concat = "AND",
JokerPosition = JokerPosition::BOTH);
......
QHash<QString, QVariant> attributes;
};
QSqlQuery find(const qint64 &id, const QString &tableName) const;
QSqlQuery find(const qint64 &id, const QSharedPointer<Entity> &entity,
qint64 offset = 0, QString pk = "id") const;
QSqlQuery findByAttributes(const QHash<QString, QVariant> &m,
const QString &tableName,
const bool &ignoreID = true, const qint64 limit = 0,
const qint64 offset = 0) const;
QSqlQuery findByAttributes(const QSharedPointer<Entity> &e,
bool ignoreID = true,
const qint64 limit = 0, const qint64 offset = 0);
QSqlQuery findAll(const QString &tableName) const;
QSqlQuery findAll(const QSharedPointer<Entity> &entity, const qint64 limit = 0,
qint64 offset = 0);
QList<QSqlQuery> remove(const QSharedPointer<Entity> &entity) const;
QSqlQuery findId(const QSharedPointer<Entity> &entity) const;
QSqlQuery count(const QSharedPointer<Entity> &entity, bool ignoreID) const;
QSqlQuery count(const QString &tableName) const;
QList<QSqlQuery> merge(const QSharedPointer<Entity> &entity) const;
QList<QSqlQuery> create(const QSharedPointer<Entity> &entity) const;
QSqlQuery removeAll(const QString &tableName) const;
QSqlQuery oneToMany(const QString &tableName, const QString &attribute,
const qint64 &id,
const qint64 &limit = 0);
QSqlQuery manyToMany(const QString &tableName, const QString &attribute,
const qint64 &id);
QSqlQuery manyToManyDelete(const QString &tableName, const QString &attribute,
const qint64 &id);
QSqlQuery manyToManyInsert(const QString &tableName, const QString &col1,
const QString &col2) const;
QSqlQuery remove(const QString &tableName, const qint64 &id,
const QString &primaryKey = "id") const;
QSqlQuery insert(const QString &tableName, QHash<QString, QVariant> &attributes,
......
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;
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 createRelationFK(QStringList &queries,
const QSharedPointer<Entity> &entity, const Relation &relation,
const QMetaProperty &metaProperty, const QString &update,
......
QHash<QString, QVariant> getPropertyValues(const QHash<QString, QMetaProperty>
&metaProps,
const QSharedPointer<Entity> &entity) const;
QString generateManyToManyTableName(const QSharedPointer<Entity> &firstEntity,
const QSharedPointer<Entity> &secondEntity, const Relation &r) const;
QString generateManyToManyColumnName(const QSharedPointer<Entity> &entity)
const;
QString buildCreateQuery(QHash<QString, QVariant>::const_iterator i,
QHash<QString, QVariant>::const_iterator end,
QString &p1, QString &p2) const;
......
bool ignoreID = false) const;
QString where(const QHash<QString, QVariant> &m,
const QString &conjunction = ",",
bool ignoreID = false, const QString &primaryKey = "id") const;
bool ignoreID = false, const QString &primaryKey = "id",
bool withKeyword = true) const;
QString attributes(const QHash<QString, QVariant> &m,
const QString &conjunction = ",",
bool ignoreID = false, const QString &primaryKey = "id") const;
......
virtual QString inKeyword() const;
virtual QString whereKeyword() const;
virtual QString countKeyword() const;
virtual QString inFunction(Query &q, QString column, QList<QVariant> values, bool notOp=false);
virtual QString between(QString colName, QString valName1, QString valName2, bool notOp=false);
virtual QString inFunction(Query &q, QString column, QList<QVariant> values,
bool notOp = false);
virtual QString between(QString colName, QString valName1, QString valName2,
bool notOp = false);
QString appendNot(bool notOp);
virtual void appendCondition(Query &q, QString ph1, QString ph2, QVariant val1, QVariant val2, QString condition);
virtual void appendCondition(Query &q, QString ph1, QString ph2, QVariant val1,
QVariant val2, QString condition);
QString entityClassname() const;
QSharedPointer<Schema> schema;

Auch abrufbar als: Unified diff