datetime test pass by mysql
This commit is contained in:
parent
ad808afc6c
commit
850434617c
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue