few tidy
This commit is contained in:
parent
b79f4c88bc
commit
dfef256598
|
|
@ -178,73 +178,69 @@ NUT_BEGIN_NAMESPACE
|
|||
inline bool nutClassInfo(const QMetaClassInfo &classInfo,
|
||||
QString &type, QString &name, QVariant &value)
|
||||
{
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) {
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX))
|
||||
return false;
|
||||
} else {
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = qVariantFromValue(parts[2]);
|
||||
return true;
|
||||
}
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = qVariantFromValue(parts[2]);
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool nutClassInfoString(const QMetaClassInfo &classInfo,
|
||||
QString &type, QString &name, QString &value)
|
||||
{
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) {
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX))
|
||||
return false;
|
||||
} else {
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = parts[2];
|
||||
return true;
|
||||
}
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = parts[2];
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool nutClassInfoBool(const QMetaClassInfo &classInfo,
|
||||
QString &type, QString &name, bool &value)
|
||||
{
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) {
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX))
|
||||
return false;
|
||||
} else {
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
|
||||
QString buffer = parts[2].toLower();
|
||||
if (buffer != "true" && buffer != "false")
|
||||
return false;
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = (buffer == "true");
|
||||
return true;
|
||||
}
|
||||
QString buffer = parts[2].toLower();
|
||||
if (buffer != "true" && buffer != "false")
|
||||
return false;
|
||||
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = (buffer == "true");
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool nutClassInfoInt(const QMetaClassInfo &classInfo,
|
||||
QString &type, QString &name, bool &value)
|
||||
{
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) {
|
||||
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX))
|
||||
return false;
|
||||
} else {
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
bool ok;
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = parts[2].toInt(&ok);
|
||||
return ok;
|
||||
}
|
||||
|
||||
QStringList parts = QString(classInfo.value()).split("\n");
|
||||
if (parts.count() != 3)
|
||||
return false;
|
||||
bool ok;
|
||||
type = parts[0];
|
||||
name = parts[1];
|
||||
value = parts[2].toInt(&ok);
|
||||
return ok;
|
||||
}
|
||||
|
||||
#ifdef NUT_SHARED_POINTER
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ QString MySqlGenerator::escapeValue(const QVariant &v) const
|
|||
// }
|
||||
|
||||
// default:
|
||||
return SqlGeneratorBase::escapeValue(v);
|
||||
return SqlGeneratorBase::escapeValue(v);
|
||||
// }
|
||||
}
|
||||
|
||||
|
|
@ -306,19 +306,19 @@ QString MySqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
if (op == PhraseData::AddYears)
|
||||
return QString("DATE_ADD(%2, INTERVAL %1 YEAR)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddMonths)
|
||||
if (op == PhraseData::AddMonths)
|
||||
return QString("DATE_ADD(%2, INTERVAL %1 MONTH)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddDays)
|
||||
if (op == PhraseData::AddDays)
|
||||
return QString("DATE_ADD(%2, INTERVAL %1 DAY)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddHours)
|
||||
if (op == PhraseData::AddHours)
|
||||
return QString("DATE_ADD(%2, INTERVAL %1 HOUR)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddMinutes)
|
||||
if (op == PhraseData::AddMinutes)
|
||||
return QString("DATE_ADD(%2, INTERVAL %1 MINUTE)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddSeconds)
|
||||
if (op == PhraseData::AddSeconds)
|
||||
return QString("DATE_ADD(%2, INTERVAL %1 SECOND)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ NUT_BEGIN_NAMESPACE
|
|||
class MySqlGenerator : public SqlGeneratorBase
|
||||
{
|
||||
public:
|
||||
explicit MySqlGenerator(Database *parent = 0);
|
||||
explicit MySqlGenerator(Database *parent = nullptr);
|
||||
|
||||
QString fieldType(FieldModel *field) override;
|
||||
QString escapeValue(const QVariant &v) const override;
|
||||
|
|
|
|||
|
|
@ -344,22 +344,21 @@ QString PostgreSqlGenerator::createConditionalPhrase(const PhraseData *d) const
|
|||
if (op == PhraseData::AddYears)
|
||||
return QString("DATEADD(year, %1, %2)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddMonths)
|
||||
if (op == PhraseData::AddMonths)
|
||||
return QString("DATEADD(month, %1, %2)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddDays)
|
||||
if (op == PhraseData::AddDays)
|
||||
return QString("DATEADD(day, %1, %2)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddHours)
|
||||
if (op == PhraseData::AddHours)
|
||||
return QString("DATEADD(hour, %1, %2)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddMinutes)
|
||||
if (op == PhraseData::AddMinutes)
|
||||
return QString("DATEADD(minute, %1, %2)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
else if (op == PhraseData::AddSeconds)
|
||||
if (op == PhraseData::AddSeconds)
|
||||
return QString("DATEADD(second, %1, %2)")
|
||||
.arg(d->operand.toString(), createConditionalPhrase(d->left));
|
||||
|
||||
}
|
||||
|
||||
return SqlGeneratorBase::createConditionalPhrase(d);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ NUT_BEGIN_NAMESPACE
|
|||
class PostgreSqlGenerator : public SqlGeneratorBase
|
||||
{
|
||||
private:
|
||||
bool readInsideParentese(QString &ref, QString &out);
|
||||
bool readInsideParentese(QString &text, QString &out);
|
||||
bool isPostGisType(const QVariant::Type &t) const;
|
||||
public:
|
||||
explicit PostgreSqlGenerator(Database *parent = nullptr);
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ protected:
|
|||
QString fromTableText(const QString &tableName, QString &joinClassName, QString &orderBy) const;
|
||||
// QString createWhere(QList<WherePhrase> &wheres);
|
||||
|
||||
void replaceTableNames(QString &command);
|
||||
virtual void replaceTableNames(QString &command);
|
||||
void removeTableNames(QString &command);
|
||||
QString dateTimePartName(const PhraseData::Condition &op) const;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -167,11 +167,12 @@ QString SqlServerGenerator::escapeValue(const QVariant &v) const
|
|||
|
||||
if (mid == QMetaType::QString || mid == QMetaType::QChar)
|
||||
return "N'" + v.toString() + "'";
|
||||
else if (mid == QMetaType::QPoint) {
|
||||
if (mid == QMetaType::QPoint) {
|
||||
QPoint pt = v.toPoint();
|
||||
return QString("geography::POINT(%1, %2, 4326)").arg(pt.x()).arg(
|
||||
pt.y());
|
||||
} else if (mid == QMetaType::QPointF) {
|
||||
}
|
||||
if (mid == QMetaType::QPointF) {
|
||||
QPointF pt = v.toPointF();
|
||||
return QString("geography::POINT(%1, %2, 4326)").arg(pt.x()).arg(
|
||||
pt.y());
|
||||
|
|
|
|||
|
|
@ -31,15 +31,15 @@ class SqlServerGenerator : public SqlGeneratorBase
|
|||
public:
|
||||
explicit SqlServerGenerator(Database *parent = nullptr);
|
||||
|
||||
QString masterDatabaseName(QString databaseName);
|
||||
QString masterDatabaseName(QString databaseName) override;
|
||||
|
||||
QString fieldType(FieldModel *field);
|
||||
QString diff(FieldModel *oldField, FieldModel *newField);
|
||||
QString fieldType(FieldModel *field) override;
|
||||
QString diff(FieldModel *oldField, FieldModel *newField) override;
|
||||
|
||||
QString escapeValue(const QVariant &v) const;
|
||||
void appendSkipTake(QString &sql, int skip, int take);
|
||||
QString escapeValue(const QVariant &v) const override;
|
||||
void appendSkipTake(QString &sql, int skip, int take) override;
|
||||
|
||||
void replaceTableNames(QString &command);
|
||||
void replaceTableNames(QString &command) override;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,11 @@ QueryPrivate::QueryPrivate(QueryBase *parent) : q_ptr(parent),
|
|||
|
||||
}
|
||||
|
||||
QueryPrivate::~QueryPrivate()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*!
|
||||
* \class Query
|
||||
* \brief This class hold a query. A query can be used for getting database rows, editing or deleting without row fetching.
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class QueryPrivate : public QSharedData {
|
|||
|
||||
public:
|
||||
explicit QueryPrivate(QueryBase *parent);
|
||||
~QueryPrivate() = default;
|
||||
~QueryPrivate();
|
||||
|
||||
QString sql;
|
||||
QString className;
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ protected:
|
|||
QExplicitlySharedDataPointer<QueryPrivate> d;
|
||||
|
||||
public:
|
||||
explicit QueryBase(QObject *parent = 0);
|
||||
explicit QueryBase(QObject *parent = nullptr);
|
||||
|
||||
protected:
|
||||
// void addTableToSet(TableSetBase *set, Table *table);
|
||||
|
|
|
|||
|
|
@ -31,8 +31,7 @@ NUT_BEGIN_NAMESPACE
|
|||
|
||||
class TableModel;
|
||||
struct FieldModel{
|
||||
explicit FieldModel() : name(QString()), length(0), defaultValue(QString()),
|
||||
notNull(false), isPrimaryKey(false), isAutoIncrement(false), isUnique(false)
|
||||
explicit FieldModel() : name(QString()), defaultValue(QString())
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -42,12 +41,12 @@ struct FieldModel{
|
|||
QString name;
|
||||
QMetaType::Type type;
|
||||
QString typeName;
|
||||
int length;
|
||||
int length{0};
|
||||
QString defaultValue;
|
||||
bool notNull;
|
||||
bool isPrimaryKey;
|
||||
bool isAutoIncrement;
|
||||
bool isUnique;
|
||||
bool notNull{false};
|
||||
bool isPrimaryKey{false};
|
||||
bool isAutoIncrement{false};
|
||||
bool isUnique{false};
|
||||
QString displayName;
|
||||
|
||||
bool operator ==(const FieldModel &f) const{
|
||||
|
|
@ -70,18 +69,17 @@ struct FieldModel{
|
|||
|
||||
struct RelationModel{
|
||||
RelationModel() : localColumn(QString()), localProperty(QString()),
|
||||
slaveTable(nullptr), foreignColumn(QString()), masterTable(nullptr),
|
||||
masterClassName(QString())
|
||||
slaveTable(nullptr), foreignColumn(QString()), masterClassName(QString())
|
||||
{}
|
||||
explicit RelationModel(const QJsonObject &obj);
|
||||
|
||||
//slave
|
||||
QString localColumn;
|
||||
QString localProperty;
|
||||
TableModel *slaveTable;
|
||||
TableModel *slaveTable{nullptr};
|
||||
//master
|
||||
QString foreignColumn;
|
||||
TableModel *masterTable;
|
||||
TableModel *masterTable{nullptr};
|
||||
|
||||
QString masterClassName;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue