wip: make needed headers public
This commit is contained in:
parent
afd61786de
commit
abc62fcedf
|
|
@ -1,7 +1,7 @@
|
|||
#include "bulkinserter.h"
|
||||
#include "phrases/phraselist.h"
|
||||
#include "database.h"
|
||||
#include "generators/sqlgeneratorbase_p.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
#include "databasemodel.h"
|
||||
|
||||
#include <QtCore/QDebug>
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
#include <initializer_list>
|
||||
#include <QtCore/QDebug>
|
||||
#include "defines.h"
|
||||
#include "phrases/phraselist.h"
|
||||
#include "phrases/fieldphrase.h"
|
||||
#include "phraselist.h"
|
||||
#include "fieldphrase.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -35,10 +35,10 @@
|
|||
#include "database_p.h"
|
||||
#include "defines.h"
|
||||
#include "tablemodel.h"
|
||||
#include "generators/postgresqlgenerator.h"
|
||||
#include "generators/mysqlgenerator.h"
|
||||
#include "generators/sqlitegenerator.h"
|
||||
#include "generators/sqlservergenerator.h"
|
||||
#include "postgresqlgenerator.h"
|
||||
#include "mysqlgenerator.h"
|
||||
#include "sqlitegenerator.h"
|
||||
#include "sqlservergenerator.h"
|
||||
#include "query.h"
|
||||
#include "changelogtable.h"
|
||||
|
||||
|
|
@ -512,7 +512,7 @@ void Database::setDriver(QString driver)
|
|||
d->driver = driver.toUpper();
|
||||
}
|
||||
|
||||
SqlGeneratorBase *Database::sqlGenerator() const
|
||||
AbstractSqlGenerator *Database::sqlGenerator() const
|
||||
{
|
||||
Q_D(const Database);
|
||||
return d->sqlGenerator;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ NUT_BEGIN_NAMESPACE
|
|||
class DatabaseModel;
|
||||
class DatabasePrivate;
|
||||
class TableSetBase;
|
||||
class SqlGeneratorBase;
|
||||
class AbstractSqlGenerator;
|
||||
class ChangeLogTable;
|
||||
class NUT_EXPORT Database : public QObject
|
||||
{
|
||||
|
|
@ -70,7 +70,7 @@ public:
|
|||
DatabaseModel model() const;
|
||||
QString tableName(QString className);
|
||||
|
||||
SqlGeneratorBase *sqlGenerator() const;
|
||||
AbstractSqlGenerator *sqlGenerator() const;
|
||||
QSqlDatabase database();
|
||||
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public:
|
|||
QString connectionName;
|
||||
QString driver;
|
||||
|
||||
SqlGeneratorBase *sqlGenerator;
|
||||
AbstractSqlGenerator *sqlGenerator;
|
||||
DatabaseModel currentModel;
|
||||
|
||||
TableSet<ChangeLogTable> *changeLogs;
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@
|
|||
#include <QtCore/QVariant>
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
#include "sqlgeneratorbase_p.h"
|
||||
#include "../database.h"
|
||||
#include "../table.h"
|
||||
#include "../databasemodel.h"
|
||||
#include "../tablemodel.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
#include "database.h"
|
||||
#include "table.h"
|
||||
#include "databasemodel.h"
|
||||
#include "tablemodel.h"
|
||||
#include "sqlserializer.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
|
@ -51,7 +51,7 @@ NUT_BEGIN_NAMESPACE
|
|||
* INNER JOIN dbo.GiftCards ON dbo.GiftTypes.GiftTypeID = dbo.GiftCards.GiftTypeID
|
||||
* INNER JOIN dbo.Entities ON dbo.GiftCards.GiftCardID = dbo.Entities.GiftCardID
|
||||
*/
|
||||
bool SqlGeneratorBase::isNumeric(const QMetaType::Type &type)
|
||||
bool AbstractSqlGenerator::isNumeric(const QMetaType::Type &type)
|
||||
{
|
||||
return type == QMetaType::SChar
|
||||
|| type == QMetaType::Char
|
||||
|
|
@ -66,7 +66,7 @@ bool SqlGeneratorBase::isNumeric(const QMetaType::Type &type)
|
|||
|| type == QMetaType::ULongLong;
|
||||
}
|
||||
|
||||
SqlGeneratorBase::SqlGeneratorBase(Database *parent)
|
||||
AbstractSqlGenerator::AbstractSqlGenerator(Database *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
if (parent)
|
||||
|
|
@ -75,19 +75,19 @@ SqlGeneratorBase::SqlGeneratorBase(Database *parent)
|
|||
_serializer = new SqlSerializer;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::masterDatabaseName(QString databaseName)
|
||||
QString AbstractSqlGenerator::masterDatabaseName(QString databaseName)
|
||||
{
|
||||
Q_UNUSED(databaseName)
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::createTable(TableModel *table)
|
||||
QString AbstractSqlGenerator::createTable(TableModel *table)
|
||||
{
|
||||
Q_UNUSED(table)
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::saveRecord(Table *t, QString tableName)
|
||||
QString AbstractSqlGenerator::saveRecord(Table *t, QString tableName)
|
||||
{
|
||||
Q_ASSERT(!tableName.isEmpty() && !tableName.isNull());
|
||||
switch (t->status()) {
|
||||
|
|
@ -108,7 +108,7 @@ QString SqlGeneratorBase::saveRecord(Table *t, QString tableName)
|
|||
return QString();
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::recordsPhrase(TableModel *table)
|
||||
QString AbstractSqlGenerator::recordsPhrase(TableModel *table)
|
||||
{
|
||||
if (!table)
|
||||
return QString();
|
||||
|
|
@ -122,7 +122,7 @@ QString SqlGeneratorBase::recordsPhrase(TableModel *table)
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::insertBulk(const QString &tableName, const PhraseList &ph, const QList<QVariantList> &vars)
|
||||
QString AbstractSqlGenerator::insertBulk(const QString &tableName, const PhraseList &ph, const QList<QVariantList> &vars)
|
||||
{
|
||||
QString sql;
|
||||
foreach (QVariantList list, vars) {
|
||||
|
|
@ -141,7 +141,7 @@ QString SqlGeneratorBase::insertBulk(const QString &tableName, const PhraseList
|
|||
return sql;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::fieldDeclare(FieldModel *field)
|
||||
QString AbstractSqlGenerator::fieldDeclare(FieldModel *field)
|
||||
{
|
||||
QString type = fieldType(field);
|
||||
if (type.isEmpty())
|
||||
|
|
@ -157,19 +157,19 @@ QString SqlGeneratorBase::fieldDeclare(FieldModel *field)
|
|||
return ret;
|
||||
}
|
||||
|
||||
QStringList SqlGeneratorBase::constraints(TableModel *table)
|
||||
QStringList AbstractSqlGenerator::constraints(TableModel *table)
|
||||
{
|
||||
Q_UNUSED(table)
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::relationDeclare(const RelationModel *relation)
|
||||
QString AbstractSqlGenerator::relationDeclare(const RelationModel *relation)
|
||||
{
|
||||
return QStringLiteral("FOREIGN KEY (FK_%1) REFERENCES %2(%1)")
|
||||
.arg(relation->localColumn, relation->slaveTable->name());
|
||||
}
|
||||
|
||||
QStringList SqlGeneratorBase::diff(const DatabaseModel &lastModel,
|
||||
QStringList AbstractSqlGenerator::diff(const DatabaseModel &lastModel,
|
||||
const DatabaseModel &newModel)
|
||||
{
|
||||
QStringList ret;
|
||||
|
|
@ -192,7 +192,7 @@ QStringList SqlGeneratorBase::diff(const DatabaseModel &lastModel,
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::diff(FieldModel *oldField, FieldModel *newField)
|
||||
QString AbstractSqlGenerator::diff(FieldModel *oldField, FieldModel *newField)
|
||||
{
|
||||
QString sql = QString();
|
||||
if (oldField && newField)
|
||||
|
|
@ -211,7 +211,7 @@ QString SqlGeneratorBase::diff(FieldModel *oldField, FieldModel *newField)
|
|||
return sql;
|
||||
}
|
||||
|
||||
QStringList SqlGeneratorBase::diff(TableModel *oldTable, TableModel *newTable)
|
||||
QStringList AbstractSqlGenerator::diff(TableModel *oldTable, TableModel *newTable)
|
||||
{
|
||||
if (!newTable && !oldTable)
|
||||
return QStringList();
|
||||
|
|
@ -289,7 +289,7 @@ QStringList SqlGeneratorBase::diff(TableModel *oldTable, TableModel *newTable)
|
|||
return QStringList() << sql;
|
||||
}
|
||||
|
||||
QStringList SqlGeneratorBase::diffRelation(TableModel *oldTable, TableModel *newTable)
|
||||
QStringList AbstractSqlGenerator::diffRelation(TableModel *oldTable, TableModel *newTable)
|
||||
{
|
||||
QStringList ret;
|
||||
if (!newTable)
|
||||
|
|
@ -327,7 +327,7 @@ QStringList SqlGeneratorBase::diffRelation(TableModel *oldTable, TableModel *new
|
|||
return ret;
|
||||
}
|
||||
|
||||
QStringList SqlGeneratorBase::diff(RelationModel *oldRel, RelationModel *newRel)
|
||||
QStringList AbstractSqlGenerator::diff(RelationModel *oldRel, RelationModel *newRel)
|
||||
{
|
||||
QStringList ret;
|
||||
/*
|
||||
|
|
@ -358,7 +358,7 @@ QStringList SqlGeneratorBase::diff(RelationModel *oldRel, RelationModel *newRel)
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::join(const QString &mainTable,
|
||||
QString AbstractSqlGenerator::join(const QString &mainTable,
|
||||
const QList<RelationModel*> &list,
|
||||
QStringList *order)
|
||||
{
|
||||
|
|
@ -390,7 +390,7 @@ QString SqlGeneratorBase::join(const QString &mainTable,
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::join(const QStringList &list, QStringList *order)
|
||||
QString AbstractSqlGenerator::join(const QStringList &list, QStringList *order)
|
||||
{
|
||||
//TODO: reorder list first!
|
||||
//TODO: make this ungly code better and bugless :-)
|
||||
|
|
@ -454,7 +454,7 @@ QString SqlGeneratorBase::join(const QStringList &list, QStringList *order)
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::insertRecord(Table *t, QString tableName)
|
||||
QString AbstractSqlGenerator::insertRecord(Table *t, QString tableName)
|
||||
{
|
||||
QString sql = QString();
|
||||
auto model = _database->model().tableByName(tableName);
|
||||
|
|
@ -483,7 +483,7 @@ QString SqlGeneratorBase::insertRecord(Table *t, QString tableName)
|
|||
return sql;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::updateRecord(Table *t, QString tableName)
|
||||
QString AbstractSqlGenerator::updateRecord(Table *t, QString tableName)
|
||||
{
|
||||
QString sql = QString();
|
||||
auto model = _database->model().tableByName(tableName);
|
||||
|
|
@ -506,7 +506,7 @@ QString SqlGeneratorBase::updateRecord(Table *t, QString tableName)
|
|||
return sql;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::deleteRecord(Table *t, QString tableName)
|
||||
QString AbstractSqlGenerator::deleteRecord(Table *t, QString tableName)
|
||||
{
|
||||
auto model = _database->model().tableByName(tableName);
|
||||
QString key = model->primaryKey();
|
||||
|
|
@ -516,7 +516,7 @@ QString SqlGeneratorBase::deleteRecord(Table *t, QString tableName)
|
|||
return sql;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::agregateText(const AgregateType &t,
|
||||
QString AbstractSqlGenerator::agregateText(const AgregateType &t,
|
||||
const QString &arg) const
|
||||
{
|
||||
switch (t) {
|
||||
|
|
@ -541,7 +541,7 @@ QString SqlGeneratorBase::agregateText(const AgregateType &t,
|
|||
return QString(); // never reach
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::fromTableText(const QString &tableName,
|
||||
QString AbstractSqlGenerator::fromTableText(const QString &tableName,
|
||||
QString &joinClassName,
|
||||
QString &orderBy) const
|
||||
{
|
||||
|
|
@ -568,7 +568,7 @@ QString SqlGeneratorBase::fromTableText(const QString &tableName,
|
|||
return tableNameText;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::deleteRecords(const QString &tableName, const QString &where)
|
||||
QString AbstractSqlGenerator::deleteRecords(const QString &tableName, const QString &where)
|
||||
{
|
||||
QString sql = QStringLiteral("DELETE FROM ") + tableName;
|
||||
|
||||
|
|
@ -580,7 +580,7 @@ QString SqlGeneratorBase::deleteRecords(const QString &tableName, const QString
|
|||
return sql;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::selectCommand(const QString &tableName,
|
||||
QString AbstractSqlGenerator::selectCommand(const QString &tableName,
|
||||
const PhraseList &fields,
|
||||
const ConditionalPhrase &where,
|
||||
const PhraseList &order,
|
||||
|
|
@ -632,8 +632,8 @@ QString SqlGeneratorBase::selectCommand(const QString &tableName,
|
|||
return sql + QStringLiteral(" ");
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::selectCommand(const QString &tableName,
|
||||
const SqlGeneratorBase::AgregateType &t,
|
||||
QString AbstractSqlGenerator::selectCommand(const QString &tableName,
|
||||
const AbstractSqlGenerator::AgregateType &t,
|
||||
const QString &agregateArg,
|
||||
const ConditionalPhrase &where,
|
||||
const QList<RelationModel *> &joins,
|
||||
|
|
@ -661,7 +661,7 @@ QString SqlGeneratorBase::selectCommand(const QString &tableName,
|
|||
return sql + QStringLiteral(" ");
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::deleteCommand(const QString &tableName,
|
||||
QString AbstractSqlGenerator::deleteCommand(const QString &tableName,
|
||||
const ConditionalPhrase &where)
|
||||
{
|
||||
QString command = QStringLiteral("DELETE FROM ") + tableName;
|
||||
|
|
@ -679,7 +679,7 @@ QString SqlGeneratorBase::deleteCommand(const QString &tableName,
|
|||
return command;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::updateCommand(const QString &tableName,
|
||||
QString AbstractSqlGenerator::updateCommand(const QString &tableName,
|
||||
const AssignmentPhraseList &assigments,
|
||||
const ConditionalPhrase &where)
|
||||
{
|
||||
|
|
@ -707,7 +707,7 @@ QString SqlGeneratorBase::updateCommand(const QString &tableName,
|
|||
return sql;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::insertCommand(const QString &tableName, const AssignmentPhraseList &assigments)
|
||||
QString AbstractSqlGenerator::insertCommand(const QString &tableName, const AssignmentPhraseList &assigments)
|
||||
{
|
||||
|
||||
QString fieldNames;
|
||||
|
|
@ -795,7 +795,7 @@ QString SqlGeneratorBase::insertCommand(const QString &tableName, const Assignme
|
|||
// return whereText;
|
||||
//}
|
||||
|
||||
void SqlGeneratorBase::replaceTableNames(QString &command)
|
||||
void AbstractSqlGenerator::replaceTableNames(QString &command)
|
||||
{
|
||||
foreach (TableModel *m, _database->model())
|
||||
command = command
|
||||
|
|
@ -803,7 +803,7 @@ void SqlGeneratorBase::replaceTableNames(QString &command)
|
|||
+ QStringLiteral("]"), m->name());
|
||||
}
|
||||
|
||||
void SqlGeneratorBase::removeTableNames(QString &command)
|
||||
void AbstractSqlGenerator::removeTableNames(QString &command)
|
||||
{
|
||||
foreach (TableModel *m, _database->model())
|
||||
command = command.replace(QStringLiteral("[")
|
||||
|
|
@ -811,7 +811,7 @@ void SqlGeneratorBase::removeTableNames(QString &command)
|
|||
+ QStringLiteral("]."), QStringLiteral(""));
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::dateTimePartName(const PhraseData::Condition &op) const
|
||||
QString AbstractSqlGenerator::dateTimePartName(const PhraseData::Condition &op) const
|
||||
{
|
||||
switch (op) {
|
||||
case PhraseData::DatePartYear:
|
||||
|
|
@ -884,7 +884,7 @@ QString SqlGeneratorBase::dateTimePartName(const PhraseData::Condition &op) cons
|
|||
// return sql;
|
||||
//}
|
||||
|
||||
QString SqlGeneratorBase::escapeValue(const QVariant &v) const
|
||||
QString AbstractSqlGenerator::escapeValue(const QVariant &v) const
|
||||
{
|
||||
if (v.type() == QVariant::String && v.toString().isEmpty())
|
||||
return QStringLiteral("''");
|
||||
|
|
@ -901,13 +901,13 @@ QString SqlGeneratorBase::escapeValue(const QVariant &v) const
|
|||
return QStringLiteral("'") + serialized + QStringLiteral("'");
|
||||
}
|
||||
|
||||
QVariant SqlGeneratorBase::unescapeValue(const QMetaType::Type &type,
|
||||
QVariant AbstractSqlGenerator::unescapeValue(const QMetaType::Type &type,
|
||||
const QVariant &dbValue)
|
||||
{
|
||||
return _serializer->deserialize(dbValue.toString(), type);
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::phrase(const PhraseData *d) const
|
||||
QString AbstractSqlGenerator::phrase(const PhraseData *d) const
|
||||
{
|
||||
QString ret = QString();
|
||||
|
||||
|
|
@ -941,7 +941,7 @@ QString SqlGeneratorBase::phrase(const PhraseData *d) const
|
|||
}
|
||||
|
||||
QString
|
||||
SqlGeneratorBase::operatorString(const PhraseData::Condition &cond) const
|
||||
AbstractSqlGenerator::operatorString(const PhraseData::Condition &cond) const
|
||||
{
|
||||
switch (cond) {
|
||||
case PhraseData::Equal:
|
||||
|
|
@ -1005,20 +1005,20 @@ SqlGeneratorBase::operatorString(const PhraseData::Condition &cond) const
|
|||
}
|
||||
}
|
||||
|
||||
void SqlGeneratorBase::appendSkipTake(QString &sql, int skip, int take)
|
||||
void AbstractSqlGenerator::appendSkipTake(QString &sql, int skip, int take)
|
||||
{
|
||||
Q_UNUSED(sql)
|
||||
Q_UNUSED(skip)
|
||||
Q_UNUSED(take)
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::primaryKeyConstraint(const TableModel *table) const
|
||||
QString AbstractSqlGenerator::primaryKeyConstraint(const TableModel *table) const
|
||||
{
|
||||
return QStringLiteral("CONSTRAINT pk_%1 PRIMARY KEY (%2)")
|
||||
.arg(table->name(), table->primaryKey());
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::createConditionalPhrase(const PhraseData *d) const
|
||||
QString AbstractSqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
||||
{
|
||||
if (!d)
|
||||
return QString();
|
||||
|
|
@ -1102,7 +1102,7 @@ QString SqlGeneratorBase::createConditionalPhrase(const PhraseData *d) const
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::createOrderPhrase(const PhraseList &ph)
|
||||
QString AbstractSqlGenerator::createOrderPhrase(const PhraseList &ph)
|
||||
{
|
||||
QString ret = QString();
|
||||
foreach (const PhraseData *d, ph.data) {
|
||||
|
|
@ -1116,7 +1116,7 @@ QString SqlGeneratorBase::createOrderPhrase(const PhraseList &ph)
|
|||
return ret;
|
||||
}
|
||||
|
||||
QString SqlGeneratorBase::createFieldPhrase(const PhraseList &ph)
|
||||
QString AbstractSqlGenerator::createFieldPhrase(const PhraseList &ph)
|
||||
{
|
||||
QString ret = QString();
|
||||
foreach (const PhraseData *d, ph.data) {
|
||||
|
|
@ -1129,7 +1129,7 @@ QString SqlGeneratorBase::createFieldPhrase(const PhraseList &ph)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void SqlGeneratorBase::createInsertPhrase(const AssignmentPhraseList &ph, QString &fields, QString &values)
|
||||
void AbstractSqlGenerator::createInsertPhrase(const AssignmentPhraseList &ph, QString &fields, QString &values)
|
||||
{
|
||||
foreach (PhraseData *d, ph.data) {
|
||||
if (!fields.isEmpty())
|
||||
|
|
@ -18,14 +18,13 @@
|
|||
**
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef SQLGENERATORBASE_H
|
||||
#define SQLGENERATORBASE_H
|
||||
#ifndef NUT_ABSTRACTSQLGENERATOR_H
|
||||
#define NUT_ABSTRACTSQLGENERATOR_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QStringList>
|
||||
#include "../phrase.h"
|
||||
//#include "../wherephrase.h"
|
||||
#include "phrase.h"
|
||||
|
||||
class SqlSerializer;
|
||||
|
||||
|
|
@ -37,7 +36,7 @@ class DatabaseModel;
|
|||
class TableModel;
|
||||
class Database;
|
||||
struct RelationModel;
|
||||
class NUT_EXPORT SqlGeneratorBase : public QObject
|
||||
class NUT_EXPORT AbstractSqlGenerator : public QObject
|
||||
{
|
||||
// Q_OBJECT
|
||||
|
||||
|
|
@ -65,8 +64,8 @@ public:
|
|||
Sum
|
||||
};
|
||||
|
||||
explicit SqlGeneratorBase(Database *parent);
|
||||
virtual ~SqlGeneratorBase() = default;
|
||||
explicit AbstractSqlGenerator(Database *parent);
|
||||
virtual ~AbstractSqlGenerator() = default;
|
||||
|
||||
virtual bool supportPrimaryKey(const QMetaType::Type &type) {
|
||||
Q_UNUSED(type)
|
||||
|
|
@ -168,4 +167,4 @@ protected:
|
|||
|
||||
NUT_END_NAMESPACE
|
||||
|
||||
#endif // SQLGENERATORBASE_H
|
||||
#endif // NUT_ABSTRACTSQLGENERATOR_H
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
**************************************************************************/
|
||||
|
||||
#include "mysqlgenerator.h"
|
||||
#include "../tablemodel.h"
|
||||
#include "tablemodel.h"
|
||||
|
||||
#include <QtCore/QPoint>
|
||||
#include <QtCore/QPointF>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
MySqlGenerator::MySqlGenerator(Database *parent) : SqlGeneratorBase(parent)
|
||||
MySqlGenerator::MySqlGenerator(Database *parent) : AbstractSqlGenerator(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -178,7 +178,7 @@ QString MySqlGenerator::escapeValue(const QVariant &v) const
|
|||
// }
|
||||
|
||||
// default:
|
||||
return SqlGeneratorBase::escapeValue(v);
|
||||
return AbstractSqlGenerator::escapeValue(v);
|
||||
// }
|
||||
}
|
||||
|
||||
|
|
@ -229,7 +229,7 @@ QVariant MySqlGenerator::unescapeValue(const QMetaType::Type &type, const QVaria
|
|||
if (type == QMetaType::QDate)
|
||||
return dbValue.toDate();
|
||||
|
||||
return SqlGeneratorBase::unescapeValue(type, dbValue);
|
||||
return AbstractSqlGenerator::unescapeValue(type, dbValue);
|
||||
}
|
||||
|
||||
bool MySqlGenerator::readInsideParentese(QString &text, QString &out)
|
||||
|
|
@ -319,7 +319,7 @@ QString MySqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
return QStringLiteral("DATE_ADD(%1, INTERVAL %2 %3)")
|
||||
.arg(createConditionalPhrase(d->left),
|
||||
d->operand.toString(),
|
||||
SqlGeneratorBase::dateTimePartName(op));
|
||||
AbstractSqlGenerator::dateTimePartName(op));
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
@ -335,14 +335,14 @@ QString MySqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
case PhraseData::DatePartSecond:
|
||||
return QStringLiteral("%2(%1)")
|
||||
.arg(createConditionalPhrase(d->left),
|
||||
SqlGeneratorBase::dateTimePartName(op));
|
||||
AbstractSqlGenerator::dateTimePartName(op));
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return SqlGeneratorBase::createConditionalPhrase(d);
|
||||
return AbstractSqlGenerator::createConditionalPhrase(d);
|
||||
}
|
||||
|
||||
void MySqlGenerator::appendSkipTake(QString &sql, int skip, int take)
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@
|
|||
#define MYSQLGENERATOR_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include "sqlgeneratorbase_p.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
class NUT_EXPORT MySqlGenerator : public SqlGeneratorBase
|
||||
class NUT_EXPORT MySqlGenerator : public AbstractSqlGenerator
|
||||
{
|
||||
public:
|
||||
explicit MySqlGenerator(Database *parent = nullptr);
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@
|
|||
#include <QtCore/QJsonDocument>
|
||||
|
||||
#include "postgresqlgenerator.h"
|
||||
#include "../table.h"
|
||||
#include "../tablemodel.h"
|
||||
#include "table.h"
|
||||
#include "tablemodel.h"
|
||||
#include "sqlserializer.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
|
@ -73,7 +73,7 @@ bool PostgreSqlGenerator::isPostGisType(const QVariant::Type &t) const
|
|||
|| t == QVariant::PolygonF;
|
||||
}
|
||||
|
||||
PostgreSqlGenerator::PostgreSqlGenerator(Database *parent) : SqlGeneratorBase (parent)
|
||||
PostgreSqlGenerator::PostgreSqlGenerator(Database *parent) : AbstractSqlGenerator (parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -269,7 +269,7 @@ QString PostgreSqlGenerator::escapeValue(const QVariant &v) const
|
|||
}
|
||||
#endif
|
||||
|
||||
return SqlGeneratorBase::escapeValue(v);
|
||||
return AbstractSqlGenerator::escapeValue(v);
|
||||
}
|
||||
|
||||
QVariant PostgreSqlGenerator::unescapeValue(const QMetaType::Type &type, const QVariant &dbValue)
|
||||
|
|
@ -284,14 +284,14 @@ QVariant PostgreSqlGenerator::unescapeValue(const QMetaType::Type &type, const Q
|
|||
return dbValue.toDate();
|
||||
|
||||
if (type == QMetaType::QPoint)
|
||||
return SqlGeneratorBase::unescapeValue(QMetaType::QPoint,
|
||||
return AbstractSqlGenerator::unescapeValue(QMetaType::QPoint,
|
||||
dbValue.toString()
|
||||
.replace(QStringLiteral("("),
|
||||
QStringLiteral(""))
|
||||
.replace(QStringLiteral(")"),
|
||||
QStringLiteral("")));
|
||||
if (type == QMetaType::QPointF)
|
||||
return SqlGeneratorBase::unescapeValue(QMetaType::QPointF,
|
||||
return AbstractSqlGenerator::unescapeValue(QMetaType::QPointF,
|
||||
dbValue.toString()
|
||||
.replace(QStringLiteral("("),
|
||||
QStringLiteral(""))
|
||||
|
|
@ -337,7 +337,7 @@ QVariant PostgreSqlGenerator::unescapeValue(const QMetaType::Type &type, const Q
|
|||
return pol;
|
||||
}
|
||||
#endif
|
||||
return SqlGeneratorBase::unescapeValue(type, dbValue);
|
||||
return AbstractSqlGenerator::unescapeValue(type, dbValue);
|
||||
}
|
||||
|
||||
QString PostgreSqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
||||
|
|
@ -355,7 +355,7 @@ QString PostgreSqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
if (d->type == PhraseData::WithVariant) {
|
||||
if (isPostGisType(d->operand.type()) && d->operatorCond == PhraseData::Equal) {
|
||||
return QStringLiteral("%1 ~= %2")
|
||||
.arg(SqlGeneratorBase::createConditionalPhrase(d->left),
|
||||
.arg(AbstractSqlGenerator::createConditionalPhrase(d->left),
|
||||
escapeValue(d->operand));
|
||||
}
|
||||
switch (op) {
|
||||
|
|
@ -374,7 +374,7 @@ QString PostgreSqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
return QStringLiteral("%1 + interval '%2 %3'")
|
||||
.arg(createConditionalPhrase(d->left),
|
||||
d->operand.toString(),
|
||||
SqlGeneratorBase::dateTimePartName(op));
|
||||
AbstractSqlGenerator::dateTimePartName(op));
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
@ -391,14 +391,14 @@ QString PostgreSqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
case PhraseData::DatePartSecond:
|
||||
return QStringLiteral("date_part('%2', %1)")
|
||||
.arg(createConditionalPhrase(d->left),
|
||||
SqlGeneratorBase::dateTimePartName(op));
|
||||
AbstractSqlGenerator::dateTimePartName(op));
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return SqlGeneratorBase::createConditionalPhrase(d);
|
||||
return AbstractSqlGenerator::createConditionalPhrase(d);
|
||||
}
|
||||
|
||||
NUT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@
|
|||
#define POSTGRESQLGENERATOR_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include "sqlgeneratorbase_p.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
class NUT_EXPORT PostgreSqlGenerator : public SqlGeneratorBase
|
||||
class NUT_EXPORT PostgreSqlGenerator : public AbstractSqlGenerator
|
||||
{
|
||||
private:
|
||||
bool readInsideParentese(QString &text, QString &out);
|
||||
|
|
|
|||
|
|
@ -19,12 +19,12 @@
|
|||
**************************************************************************/
|
||||
|
||||
#include "sqlitegenerator.h"
|
||||
#include "../table.h"
|
||||
#include "../tablemodel.h"
|
||||
#include "table.h"
|
||||
#include "tablemodel.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
SqliteGenerator::SqliteGenerator(Database *parent) : SqlGeneratorBase(parent)
|
||||
SqliteGenerator::SqliteGenerator(Database *parent) : AbstractSqlGenerator(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -124,7 +124,7 @@ QStringList SqliteGenerator::diff(TableModel *oldTable, TableModel *newTable)
|
|||
if (*oldTable == *newTable)
|
||||
return ret;
|
||||
|
||||
QStringList newTableSql = SqlGeneratorBase::diff(nullptr, newTable);
|
||||
QStringList newTableSql = AbstractSqlGenerator::diff(nullptr, newTable);
|
||||
|
||||
if (!newTable)
|
||||
return QStringList() << QStringLiteral("DROP TABLE ") + oldTable->name();
|
||||
|
|
@ -296,7 +296,7 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
}
|
||||
}
|
||||
|
||||
return SqlGeneratorBase::createConditionalPhrase(d);
|
||||
return AbstractSqlGenerator::createConditionalPhrase(d);
|
||||
}
|
||||
|
||||
QString SqliteGenerator::escapeValue(const QVariant &v) const
|
||||
|
|
@ -310,7 +310,7 @@ QString SqliteGenerator::escapeValue(const QVariant &v) const
|
|||
if (v.type() == QVariant::DateTime)
|
||||
return v.toDateTime().toString(QStringLiteral("''yyyy-MM-dd HH:mm:ss''"));
|
||||
|
||||
return SqlGeneratorBase::escapeValue(v);
|
||||
return AbstractSqlGenerator::escapeValue(v);
|
||||
}
|
||||
|
||||
QVariant SqliteGenerator::unescapeValue(const QMetaType::Type &type, const QVariant &dbValue)
|
||||
|
|
@ -324,7 +324,7 @@ QVariant SqliteGenerator::unescapeValue(const QMetaType::Type &type, const QVari
|
|||
if (type == QMetaType::QDate)
|
||||
return dbValue.toDate();
|
||||
|
||||
return SqlGeneratorBase::unescapeValue(type, dbValue);
|
||||
return AbstractSqlGenerator::unescapeValue(type, dbValue);
|
||||
}
|
||||
|
||||
NUT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@
|
|||
#define SQLITEGENERATOR_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include "sqlgeneratorbase_p.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
class NUT_EXPORT SqliteGenerator : public SqlGeneratorBase
|
||||
class NUT_EXPORT SqliteGenerator : public AbstractSqlGenerator
|
||||
{
|
||||
public:
|
||||
explicit SqliteGenerator(Database *parent = nullptr);
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
**************************************************************************/
|
||||
|
||||
#include "sqlservergenerator.h"
|
||||
#include "../table.h"
|
||||
#include "../tablemodel.h"
|
||||
#include "table.h"
|
||||
#include "tablemodel.h"
|
||||
|
||||
#include <QtCore/QPoint>
|
||||
#include <QtCore/QRegularExpression>
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
SqlServerGenerator::SqlServerGenerator(Database *parent)
|
||||
: SqlGeneratorBase(parent)
|
||||
: AbstractSqlGenerator(parent)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ QString SqlServerGenerator::escapeValue(const QVariant &v) const
|
|||
// case QVariant::JsonObject:
|
||||
// case QVariant::JsonDocument:
|
||||
case QVariant::Url:
|
||||
return QStringLiteral("N") + SqlGeneratorBase::escapeValue(v);
|
||||
return QStringLiteral("N") + AbstractSqlGenerator::escapeValue(v);
|
||||
|
||||
// case QVariant::Point: {
|
||||
// QPoint pt = v.toPoint();
|
||||
|
|
@ -193,7 +193,7 @@ QString SqlServerGenerator::escapeValue(const QVariant &v) const
|
|||
return v.toDateTime().toString(QStringLiteral("''yyyy-MM-dd HH:mm:ss''"));
|
||||
|
||||
default:
|
||||
return SqlGeneratorBase::escapeValue(v);
|
||||
return AbstractSqlGenerator::escapeValue(v);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -208,7 +208,7 @@ QVariant SqlServerGenerator::unescapeValue(const QMetaType::Type &type, const QV
|
|||
if (type == QMetaType::QDate)
|
||||
return dbValue.toDate();
|
||||
|
||||
return SqlGeneratorBase::unescapeValue(type, dbValue);
|
||||
return AbstractSqlGenerator::unescapeValue(type, dbValue);
|
||||
}
|
||||
|
||||
void SqlServerGenerator::appendSkipTake(QString &sql, int skip, int take)
|
||||
|
|
@ -251,7 +251,7 @@ QString SqlServerGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
return QStringLiteral("DATEADD(%3, %2, %1)")
|
||||
.arg(createConditionalPhrase(d->left),
|
||||
d->operand.toString(),
|
||||
SqlGeneratorBase::dateTimePartName(op));
|
||||
AbstractSqlGenerator::dateTimePartName(op));
|
||||
|
||||
default:
|
||||
break;
|
||||
|
|
@ -268,14 +268,14 @@ QString SqlServerGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
case PhraseData::DatePartSecond:
|
||||
return QStringLiteral("DATEPART(%2, %1)")
|
||||
.arg(createConditionalPhrase(d->left),
|
||||
SqlGeneratorBase::dateTimePartName(op));
|
||||
AbstractSqlGenerator::dateTimePartName(op));
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return SqlGeneratorBase::createConditionalPhrase(d);
|
||||
return AbstractSqlGenerator::createConditionalPhrase(d);
|
||||
}
|
||||
|
||||
NUT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@
|
|||
#define SQLSERVERGENERATOR_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include "sqlgeneratorbase_p.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
class NUT_EXPORT SqlServerGenerator : public SqlGeneratorBase
|
||||
class NUT_EXPORT SqlServerGenerator : public AbstractSqlGenerator
|
||||
{
|
||||
public:
|
||||
explicit SqlServerGenerator(Database *parent = nullptr);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
load(qt_build_config)
|
||||
MODULE = nut
|
||||
|
||||
TARGET = QtNut
|
||||
|
||||
QT = core sql gui
|
||||
|
|
@ -6,8 +9,13 @@ DEFINES += QT_DEPRECATED_WARNINGS NUT_SHARED NUT_BUILD_LIB
|
|||
|
||||
DEFINES += NUT_SHARED_POINTER
|
||||
|
||||
INCLUDEPATH += \
|
||||
$$PWD/generators \
|
||||
$$PWD/phrases \
|
||||
$$PWD/types
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/generators/sqlgeneratorbase_p.h \
|
||||
$$PWD/generators/abstractsqlgenerator.h \
|
||||
$$PWD/generators/postgresqlgenerator.h \
|
||||
$$PWD/generators/mysqlgenerator.h \
|
||||
$$PWD/generators/sqlitegenerator.h \
|
||||
|
|
@ -18,9 +26,10 @@ HEADERS += \
|
|||
$$PWD/defines_consts.h \
|
||||
$$PWD/defines.h \
|
||||
$$PWD/query.h \
|
||||
$$PWD/bulkinserter.h \
|
||||
$$PWD/databasemodel.h \
|
||||
$$PWD/changelogtable.h \
|
||||
$$PWD/tablesetbase_p.h \
|
||||
$$PWD/tablesetbase.h \
|
||||
$$PWD/querybase_p.h \
|
||||
$$PWD/tablemodel.h \
|
||||
$$PWD/query_p.h \
|
||||
|
|
@ -43,7 +52,7 @@ HEADERS += \
|
|||
$$PWD/table_p.h
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/generators/sqlgeneratorbase.cpp \
|
||||
$$PWD/generators/abstractsqlgenerator.cpp \
|
||||
$$PWD/generators/postgresqlgenerator.cpp \
|
||||
$$PWD/generators/mysqlgenerator.cpp \
|
||||
$$PWD/generators/sqlitegenerator.cpp \
|
||||
|
|
@ -51,6 +60,7 @@ SOURCES += \
|
|||
$$PWD/types/dbgeography.cpp \
|
||||
$$PWD/tableset.cpp \
|
||||
$$PWD/query.cpp \
|
||||
$$PWD/bulkinserter.cpp \
|
||||
$$PWD/databasemodel.cpp \
|
||||
$$PWD/tablesetbase.cpp \
|
||||
$$PWD/changelogtable.cpp \
|
||||
|
|
|
|||
|
|
@ -21,16 +21,16 @@
|
|||
#ifndef PHRASE_H
|
||||
#define PHRASE_H
|
||||
|
||||
#include "phrases/conditionalphrase.h"
|
||||
#include "phrases/abstractfieldphrase.h"
|
||||
#include "phrases/fieldphrase.h"
|
||||
#include "phrases/phraselist.h"
|
||||
#include "phrases/assignmentphraselist.h"
|
||||
#include "phrases/phrasedatalist.h"
|
||||
#include "phrases/phrasedata.h"
|
||||
#include "phrases/assignmentphrase.h"
|
||||
#include "phrases/numericphrase.h"
|
||||
#include "phrases/datephrase.h"
|
||||
#include "conditionalphrase.h"
|
||||
#include "abstractfieldphrase.h"
|
||||
#include "fieldphrase.h"
|
||||
#include "phraselist.h"
|
||||
#include "assignmentphraselist.h"
|
||||
#include "phrasedatalist.h"
|
||||
#include "phrasedata.h"
|
||||
#include "assignmentphrase.h"
|
||||
#include "numericphrase.h"
|
||||
#include "datephrase.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef ABSTRACTFIELDPHRASE_H
|
||||
#define ABSTRACTFIELDPHRASE_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
|
||||
#include "assignmentphrase.h"
|
||||
#include "conditionalphrase.h"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef ASSIGNMENTPHRASE_H
|
||||
#define ASSIGNMENTPHRASE_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
|
||||
#include "assignmentphraselist.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef ASSIGNMENTPHRASELIST_H
|
||||
#define ASSIGNMENTPHRASELIST_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef FIELDPHRASE_H
|
||||
#define FIELDPHRASE_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
|
||||
#include "abstractfieldphrase.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef PHRASEDATA_H
|
||||
#define PHRASEDATA_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef PHRASELIST_H
|
||||
#define PHRASELIST_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
|
||||
#include "phrasedatalist.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@
|
|||
#include "query_p.h"
|
||||
#include "database.h"
|
||||
#include "databasemodel.h"
|
||||
#include "tablesetbase_p.h"
|
||||
#include "generators/sqlgeneratorbase_p.h"
|
||||
#include "tablesetbase.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
#include "querybase_p.h"
|
||||
#include "phrase.h"
|
||||
#include "tablemodel.h"
|
||||
|
|
@ -119,7 +119,7 @@ Q_OUTOFLINE_TEMPLATE QList<O> Query<T>::select(const std::function<O (const QSql
|
|||
|
||||
d->joins.prepend(d->tableName);
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(d->tableName,
|
||||
SqlGeneratorBase::SingleField,
|
||||
AbstractSqlGenerator::SingleField,
|
||||
QStringLiteral("*"),
|
||||
d->wherePhrase,
|
||||
d->relations,
|
||||
|
|
@ -354,7 +354,7 @@ Q_OUTOFLINE_TEMPLATE QList<F> Query<T>::select(const FieldPhrase<F> f)
|
|||
d->joins.prepend(d->tableName);
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||
d->tableName,
|
||||
SqlGeneratorBase::SingleField, f.data->toString(),
|
||||
AbstractSqlGenerator::SingleField, f.data->toString(),
|
||||
d->wherePhrase,
|
||||
d->relations,
|
||||
d->skip, d->take);
|
||||
|
|
@ -392,7 +392,7 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::count()
|
|||
d->select = QStringLiteral("COUNT(*)");
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||
d->tableName,
|
||||
SqlGeneratorBase::Count,
|
||||
AbstractSqlGenerator::Count,
|
||||
QStringLiteral("*"),
|
||||
d->wherePhrase,
|
||||
d->relations);
|
||||
|
|
@ -411,7 +411,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::max(const FieldPhrase<int> &f)
|
|||
d->joins.prepend(d->tableName);
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||
d->tableName,
|
||||
SqlGeneratorBase::Max, f.data->toString(),
|
||||
AbstractSqlGenerator::Max, f.data->toString(),
|
||||
d->wherePhrase,
|
||||
d->relations);
|
||||
QSqlQuery q = d->database->exec(d->sql);
|
||||
|
|
@ -429,7 +429,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::min(const FieldPhrase<int> &f)
|
|||
d->joins.prepend(d->tableName);
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||
d->tableName,
|
||||
SqlGeneratorBase::Min, f.data->toString(),
|
||||
AbstractSqlGenerator::Min, f.data->toString(),
|
||||
d->wherePhrase,
|
||||
d->relations);
|
||||
QSqlQuery q = d->database->exec(d->sql);
|
||||
|
|
@ -447,7 +447,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::sum(const FieldPhrase<int> &f)
|
|||
d->joins.prepend(d->tableName);
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||
d->tableName,
|
||||
SqlGeneratorBase::Sum, f.data->toString(),
|
||||
AbstractSqlGenerator::Sum, f.data->toString(),
|
||||
d->wherePhrase,
|
||||
d->relations);
|
||||
QSqlQuery q = d->database->exec(d->sql);
|
||||
|
|
@ -465,7 +465,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::average(const FieldPhrase<int> &f)
|
|||
d->joins.prepend(d->tableName);
|
||||
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||
d->tableName,
|
||||
SqlGeneratorBase::Average, f.data->toString(),
|
||||
AbstractSqlGenerator::Average, f.data->toString(),
|
||||
d->wherePhrase,
|
||||
d->relations);
|
||||
QSqlQuery q = d->database->exec(d->sql);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "querybase_p.h"
|
||||
|
||||
#include "table.h"
|
||||
#include "tablesetbase_p.h"
|
||||
#include "tablesetbase.h"
|
||||
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
**************************************************************************/
|
||||
|
||||
#include "database.h"
|
||||
#include "tablesetbase_p.h"
|
||||
#include "tablesetbase.h"
|
||||
#include "databasemodel.h"
|
||||
#include "tablemodel.h"
|
||||
#include "table.h"
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
#include "table_p.h"
|
||||
#include "database.h"
|
||||
#include "databasemodel.h"
|
||||
#include "generators/sqlgeneratorbase_p.h"
|
||||
#include "tablesetbase_p.h"
|
||||
#include "abstractsqlgenerator.h"
|
||||
#include "tablesetbase.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#include <QtSql/QSqlQuery>
|
||||
|
||||
#include "tablesetbase_p.h"
|
||||
#include "tablesetbase.h"
|
||||
#include "table.h"
|
||||
#include "bulkinserter.h"
|
||||
#include "databasemodel.h"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "table.h"
|
||||
#include "database.h"
|
||||
#include "tablesetbase_p.h"
|
||||
#include "tablesetbase.h"
|
||||
#include "databasemodel.h"
|
||||
#include "tablesetbasedata.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef DBGEOGRAPHY_H
|
||||
#define DBGEOGRAPHY_H
|
||||
|
||||
#include "../defines.h"
|
||||
#include "defines.h"
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/qglobal.h>
|
||||
#include <QtCore/QVariant>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ GeneratorsTest::GeneratorsTest(QObject *parent) : QObject(parent)
|
|||
}
|
||||
|
||||
|
||||
void GeneratorsTest::types(Nut::SqlGeneratorBase *g, QString name)
|
||||
void GeneratorsTest::types(Nut::AbstractSqlGenerator *g, QString name)
|
||||
{
|
||||
QList<QMetaType::Type> types;
|
||||
types
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include <QObject>
|
||||
|
||||
namespace Nut {
|
||||
class SqlGeneratorBase;
|
||||
class AbstractSqlGenerator;
|
||||
}
|
||||
|
||||
class GeneratorsTest : public QObject
|
||||
|
|
@ -33,7 +33,7 @@ class GeneratorsTest : public QObject
|
|||
public:
|
||||
explicit GeneratorsTest(QObject *parent = nullptr);
|
||||
|
||||
void types(Nut::SqlGeneratorBase *g, QString name);
|
||||
void types(Nut::AbstractSqlGenerator *g, QString name);
|
||||
|
||||
private slots:
|
||||
void test_sqlite();
|
||||
|
|
|
|||
Loading…
Reference in New Issue