Revision 274b34e4
Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt
src/querybuilder.cpp | ||
---|---|---|
}
|
||
|
||
Expression QueryBuilder::inFunction(QString column,
|
||
QList<QVariant> values, bool notOp) {
|
||
QList<QVariant> values, bool notOp) const {
|
||
QString condition = "";
|
||
Expression exp = Expression();
|
||
if (!values.isEmpty()) {
|
||
... | ... | |
}
|
||
|
||
QString QueryBuilder::between(QString colName, QString valName1,
|
||
QString valName2, bool notOp) {
|
||
QString valName2, bool notOp) const {
|
||
return "(" + this->schema->quoteColumnName(colName) + (notOp ? (" " +
|
||
this->notKeyword() + " ") : " ") + this->between() +
|
||
" " + this->placeHolder(valName1) + " " + this->andKeyword() + " " +
|
||
... | ... | |
return "OFFSET";
|
||
}
|
||
|
||
QString QueryBuilder::appendNot(bool notOp) {
|
||
QString QueryBuilder::appendNot(bool notOp) const {
|
||
return (notOp ? (this->notKeyword() + " ") : "");
|
||
}
|
||
|
||
... | ... | |
pk = value;
|
||
}
|
||
|
||
Expression QueryBuilder::andOperator(QHash<QString, QVariant> conditions) {
|
||
Expression QueryBuilder::andOperator(QHash<QString, QVariant> conditions)
|
||
const {
|
||
bool first = true;
|
||
Expression exp = Expression();
|
||
QString condition = "";
|
||
... | ... | |
return exp;
|
||
}
|
||
|
||
Expression QueryBuilder::andOperator() const {
|
||
return this->plainAnd();
|
||
}
|
||
|
||
Expression QueryBuilder::nandOperator() const {
|
||
return this->plainNand();
|
||
}
|
||
|
||
Expression QueryBuilder::arbitraryOperator(QString op, QString column,
|
||
QVariant value) {
|
||
QVariant value) const {
|
||
Expression exp = Expression(this->schema->quoteColumnName(
|
||
column) + " " + op + " " +
|
||
this->placeHolder(column));
|
||
... | ... | |
return exp;
|
||
}
|
||
|
||
Expression QueryBuilder::isNull(QString column) {
|
||
Expression QueryBuilder::isNull(QString column) const {
|
||
return Expression(this->schema->quoteColumnName(column) + " IS NULL");
|
||
}
|
||
|
||
Expression QueryBuilder::isNotNull(QString column) {
|
||
Expression QueryBuilder::isNotNull(QString column) const {
|
||
return Expression(this->schema->quoteColumnName(column) + " IS " +
|
||
this->notKeyword() + " NULL");
|
||
}
|
||
|
||
Expression QueryBuilder::plainOr() {
|
||
Expression QueryBuilder::plainOr() const {
|
||
return Expression(this->orKeyword());
|
||
}
|
||
|
||
Expression QueryBuilder::plainNor() {
|
||
Expression QueryBuilder::plainNor() const {
|
||
return Expression(this->notKeyword() + " " + this->orKeyword());
|
||
}
|
||
|
||
Expression QueryBuilder::plainAnd() {
|
||
Expression QueryBuilder::plainAnd() const {
|
||
return Expression(this->andKeyword());
|
||
}
|
||
|
||
Expression QueryBuilder::plainNand() {
|
||
Expression QueryBuilder::plainNand() const {
|
||
return Expression(this->notKeyword() + " " + this->andKeyword());
|
||
}
|
||
|
||
... | ... | |
}
|
||
|
||
Expression QueryBuilder::where(QHash<QString, QVariant> conditions,
|
||
QString conjunction) {
|
||
QString conjunction) const {
|
||
Expression exp = Expression(this->where(conditions, conjunction, false, "id",
|
||
false));
|
||
for (auto i = conditions.constBegin(); i != conditions.constEnd(); ++i) {
|
||
... | ... | |
}
|
||
|
||
Expression QueryBuilder::where(QString condition,
|
||
QHash<QString, QVariant> values) {
|
||
QHash<QString, QVariant> values) const {
|
||
Expression exp = Expression(condition);
|
||
for (auto i = values.constBegin(); i != values.constEnd(); ++i) {
|
||
exp.appendParam(i.key(), i.value());
|
||
... | ... | |
}
|
||
|
||
Expression QueryBuilder::between(QString column, QVariant firstValue,
|
||
QVariant secondValue) {
|
||
QVariant secondValue) const {
|
||
QString firstPh = column + "_bet1";
|
||
QString secondPh = column + "_bet2";
|
||
return this->appendCondition(firstPh, secondPh, firstValue, secondValue,
|
||
... | ... | |
}
|
||
|
||
Expression QueryBuilder::notBetween(QString column, QVariant firstValue,
|
||
QVariant secondValue) {
|
||
QVariant secondValue) const {
|
||
QString firstPh = column + "_nbet1";
|
||
QString secondPh = column + "_nbet2";
|
||
return this->appendCondition(firstPh, secondPh, firstValue, secondValue,
|
||
... | ... | |
|
||
|
||
Expression QueryBuilder::appendCondition(QString ph1, QString ph2,
|
||
QVariant val1, QVariant val2, QString condition) {
|
||
QVariant val1, QVariant val2, QString condition) const {
|
||
Expression exp = Expression(condition);
|
||
exp.appendParam(ph1, val1);
|
||
exp.appendParam(ph2, val2);
|
||
return exp;
|
||
}
|
||
|
||
Expression QueryBuilder::in(QString column, QList<QVariant> values) {
|
||
Expression QueryBuilder::in(QString column, QList<QVariant> values) const {
|
||
return this->inFunction(column, values);
|
||
}
|
||
|
||
Expression QueryBuilder::notIn(QString column, QList<QVariant> values) {
|
||
Expression QueryBuilder::notIn(QString column, QList<QVariant> values) const {
|
||
return this->inFunction(column, values, true);
|
||
}
|
||
|
||
Expression QueryBuilder::notOperator(QString op, QString column,
|
||
QVariant value) const {
|
||
Expression e = this->arbitraryOperator(op, column, value);
|
||
e.setExpression(this->notKeyword() + " " + e.getExpression());
|
||
return e;
|
||
}
|
||
|
||
Expression QueryBuilder::orOperator(
|
||
QHash<QString, QVariant> conditions, bool like) {
|
||
QHash<QString, QVariant> conditions, bool like) const {
|
||
Expression exp = Expression();
|
||
if (!conditions.isEmpty()) {
|
||
QString condition = "(";
|
||
... | ... | |
return exp;
|
||
}
|
||
|
||
Expression QueryBuilder::orOperator() const {
|
||
return this->plainOr();
|
||
}
|
||
|
||
Expression QueryBuilder::norOperator() const {
|
||
return this->plainNor();
|
||
}
|
||
|
||
QString QueryBuilder::where(const QSharedPointer<Entity> &entity,
|
||
QString conjunction,
|
||
bool ignoreID) const {
|
Auch abrufbar als: Unified diff
constness