skip and take new sign
This commit is contained in:
parent
103cb49214
commit
9c0df27eea
|
|
@ -466,6 +466,7 @@ QString SqlGeneratorBase::selectCommand(const QString &tableName,
|
||||||
sql = sql.replace(_database->model().at(i)->className() + ".",
|
sql = sql.replace(_database->model().at(i)->className() + ".",
|
||||||
_database->model().at(i)->name() + ".");
|
_database->model().at(i)->name() + ".");
|
||||||
|
|
||||||
|
appendSkipTake(sql, skip, take);
|
||||||
replaceTableNames(sql);
|
replaceTableNames(sql);
|
||||||
|
|
||||||
return sql + " ";
|
return sql + " ";
|
||||||
|
|
@ -495,6 +496,7 @@ QString SqlGeneratorBase::selectCommand(const QString &tableName,
|
||||||
sql = sql.replace(_database->model().at(i)->className() + ".",
|
sql = sql.replace(_database->model().at(i)->className() + ".",
|
||||||
_database->model().at(i)->name() + ".");
|
_database->model().at(i)->name() + ".");
|
||||||
|
|
||||||
|
appendSkipTake(sql, skip, take);
|
||||||
replaceTableNames(sql);
|
replaceTableNames(sql);
|
||||||
|
|
||||||
return sql + " ";
|
return sql + " ";
|
||||||
|
|
@ -826,6 +828,10 @@ SqlGeneratorBase::operatorString(const PhraseData::Condition &cond) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SqlGeneratorBase::appendSkipTake(QString &sql, int skip, int take)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
QString SqlGeneratorBase::createConditionalPhrase(const PhraseData *d) const
|
QString SqlGeneratorBase::createConditionalPhrase(const PhraseData *d) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ public:
|
||||||
virtual QVariant readValue(const QVariant::Type &type, const QVariant &dbValue);
|
virtual QVariant readValue(const QVariant::Type &type, const QVariant &dbValue);
|
||||||
virtual QString phrase(const PhraseData *d) const;
|
virtual QString phrase(const PhraseData *d) const;
|
||||||
virtual QString operatorString(const PhraseData::Condition &cond) const;
|
virtual QString operatorString(const PhraseData::Condition &cond) const;
|
||||||
|
virtual void appendSkipTake(QString &sql, int skip = -1, int take = -1);
|
||||||
private:
|
private:
|
||||||
QString createConditionalPhrase(const PhraseData *d) const;
|
QString createConditionalPhrase(const PhraseData *d) const;
|
||||||
QString createFieldPhrase(const PhraseList &ph);
|
QString createFieldPhrase(const PhraseList &ph);
|
||||||
|
|
|
||||||
|
|
@ -71,24 +71,12 @@ QString SqliteGenerator::fieldType(FieldModel *field)
|
||||||
return dbType;
|
return dbType;
|
||||||
}
|
}
|
||||||
|
|
||||||
//QString SqliteGenerator::selectCommand(SqlGeneratorBase::AgregateType t,
|
void SqliteGenerator::appendSkipTake(QString &sql, int skip, int take)
|
||||||
// QString agregateArg,
|
{
|
||||||
// QString tableName,
|
if (take != -1 && skip != -1)
|
||||||
// QList<WherePhrase> &wheres,
|
sql.append(QString(" LIMIT %1 OFFSET %2")
|
||||||
// QList<WherePhrase> &orders,
|
.arg(take)
|
||||||
// QList<RelationModel*> joins,
|
.arg(skip));
|
||||||
// int skip, int take)
|
}
|
||||||
//{
|
|
||||||
// QString command = SqlGeneratorBase::selectCommand(t, agregateArg,
|
|
||||||
// tableName,
|
|
||||||
// wheres, orders,
|
|
||||||
// joins, skip, take);
|
|
||||||
|
|
||||||
// if (take != -1 && skip != -1)
|
|
||||||
// command.append(QString(" LIMIT %1 OFFSET %2")
|
|
||||||
// .arg(take)
|
|
||||||
// .arg(skip));
|
|
||||||
// return command;
|
|
||||||
//}
|
|
||||||
|
|
||||||
NUT_END_NAMESPACE
|
NUT_END_NAMESPACE
|
||||||
|
|
|
||||||
|
|
@ -33,11 +33,7 @@ public:
|
||||||
|
|
||||||
QString fieldType(FieldModel *field);
|
QString fieldType(FieldModel *field);
|
||||||
|
|
||||||
// QString selectCommand(AgregateType t, QString agregateArg,
|
void appendSkipTake(QString &sql, int skip, int take);
|
||||||
// QString tableName,
|
|
||||||
// QList<WherePhrase> &wheres,
|
|
||||||
// QList<WherePhrase> &orders,
|
|
||||||
// QList<RelationModel *> joins, int skip, int take);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
NUT_END_NAMESPACE
|
NUT_END_NAMESPACE
|
||||||
|
|
|
||||||
|
|
@ -307,7 +307,7 @@ Q_OUTOFLINE_TEMPLATE QList<F> Query<T>::select(const FieldPhrase<F> f)
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
d->relations,
|
d->relations,
|
||||||
d->skip, d->take);
|
d->skip, d->take);
|
||||||
|
qDebug() << d->sql;
|
||||||
QSqlQuery q = d->database->exec(d->sql);
|
QSqlQuery q = d->database->exec(d->sql);
|
||||||
|
|
||||||
while (q.next()) {
|
while (q.next()) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue