datetime test pass by mysql

This commit is contained in:
Hamed Masafi 2019-07-22 12:37:53 +04:30
parent ad808afc6c
commit 850434617c
2 changed files with 39 additions and 21 deletions

View File

@ -303,25 +303,43 @@ QString MySqlGenerator::createConditionalPhrase(const PhraseData *d) const
} }
if (d->type == PhraseData::WithVariant) { if (d->type == PhraseData::WithVariant) {
if (op == PhraseData::AddYears) switch (op) {
return QString("DATE_ADD(%2, INTERVAL %1 YEAR)") case PhraseData::AddYears:
.arg(d->operand.toString(), createConditionalPhrase(d->left)); case PhraseData::AddYearsDateTime:
if (op == PhraseData::AddMonths) case PhraseData::AddMonths:
return QString("DATE_ADD(%2, INTERVAL %1 MONTH)") case PhraseData::AddMonthsDateTime:
.arg(d->operand.toString(), createConditionalPhrase(d->left)); case PhraseData::AddDays:
if (op == PhraseData::AddDays) case PhraseData::AddDaysDateTime:
return QString("DATE_ADD(%2, INTERVAL %1 DAY)") case PhraseData::AddHours:
.arg(d->operand.toString(), createConditionalPhrase(d->left)); case PhraseData::AddHoursDateTime:
if (op == PhraseData::AddHours) case PhraseData::AddMinutes:
return QString("DATE_ADD(%2, INTERVAL %1 HOUR)") case PhraseData::AddMinutesDateTime:
.arg(d->operand.toString(), createConditionalPhrase(d->left)); case PhraseData::AddSeconds:
if (op == PhraseData::AddMinutes) case PhraseData::AddSecondsDateTime:
return QString("DATE_ADD(%2, INTERVAL %1 MINUTE)") return QString("DATE_ADD(%1, INTERVAL %2 %3)")
.arg(d->operand.toString(), createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left),
if (op == PhraseData::AddSeconds) d->operand.toString(),
return QString("DATE_ADD(%2, INTERVAL %1 SECOND)") SqlGeneratorBase::dateTimePartName(op));
.arg(d->operand.toString(), createConditionalPhrase(d->left));
default:
break;
}
}
if (d->type == PhraseData::WithoutOperand) {
switch (op) {
case PhraseData::DatePartYear:
case PhraseData::DatePartMonth:
case PhraseData::DatePartDay:
case PhraseData::DatePartHour:
case PhraseData::DatePartMinute:
case PhraseData::DatePartSecond:
return QString("%2(%1)")
.arg(createConditionalPhrase(d->left),
SqlGeneratorBase::dateTimePartName(op));
default:
break;
}
} }
return SqlGeneratorBase::createConditionalPhrase(d); return SqlGeneratorBase::createConditionalPhrase(d);

View File

@ -12,11 +12,11 @@
.arg(timer.elapsed() / 1000.) \ .arg(timer.elapsed() / 1000.) \
.arg(__func__) .arg(__func__)
#define DRIVER "QPSQL" #define DRIVER "QMYSQL"
#define DATABASE QString("nut_test_%1_db").arg(metaObject()->className()).toLower() #define DATABASE QString("nut_test_%1_db").arg(metaObject()->className()).toLower()
#define HOST "127.0.0.1" #define HOST "127.0.0.1"
#define USERNAME "postgres" #define USERNAME "root"
#define PASSWORD "mysecretpassword" #define PASSWORD "mysecretpw"
#ifdef Q_OS_LINUX #ifdef Q_OS_LINUX
# define OS "Linux" # define OS "Linux"