sqlite: Fix MSVC integer conversion warnings
Change-Id: I58ab6a8d7787abce5b0f73562eb53f40e39c8186 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
2b9a9cfddd
commit
7f02071503
@ -383,12 +383,13 @@ bool QSQLiteResult::prepare(const QString &query)
|
||||
setSelect(false);
|
||||
|
||||
const void *pzTail = NULL;
|
||||
const auto size = int((query.size() + 1) * sizeof(QChar));
|
||||
|
||||
#if (SQLITE_VERSION_NUMBER >= 3003011)
|
||||
int res = sqlite3_prepare16_v2(d->drv_d_func()->access, query.constData(), (query.size() + 1) * sizeof(QChar),
|
||||
int res = sqlite3_prepare16_v2(d->drv_d_func()->access, query.constData(), size,
|
||||
&d->stmt, &pzTail);
|
||||
#else
|
||||
int res = sqlite3_prepare16(d->access, query.constData(), (query.size() + 1) * sizeof(QChar),
|
||||
int res = sqlite3_prepare16(d->access, query.constData(), size,
|
||||
&d->stmt, &pzTail);
|
||||
#endif
|
||||
|
||||
@ -519,27 +520,31 @@ bool QSQLiteResult::exec()
|
||||
const QDateTime dateTime = value.toDateTime();
|
||||
const QString str = dateTime.toString(Qt::ISODateWithMs);
|
||||
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
||||
str.size() * sizeof(ushort), SQLITE_TRANSIENT);
|
||||
int(str.size() * sizeof(ushort)),
|
||||
SQLITE_TRANSIENT);
|
||||
break;
|
||||
}
|
||||
case QMetaType::QTime: {
|
||||
const QTime time = value.toTime();
|
||||
const QString str = time.toString(u"hh:mm:ss.zzz");
|
||||
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
||||
str.size() * sizeof(ushort), SQLITE_TRANSIENT);
|
||||
int(str.size() * sizeof(ushort)),
|
||||
SQLITE_TRANSIENT);
|
||||
break;
|
||||
}
|
||||
case QMetaType::QString: {
|
||||
// lifetime of string == lifetime of its qvariant
|
||||
const QString *str = static_cast<const QString*>(value.constData());
|
||||
res = sqlite3_bind_text16(d->stmt, i + 1, str->utf16(),
|
||||
(str->size()) * sizeof(QChar), SQLITE_STATIC);
|
||||
int(str->size()) * sizeof(QChar),
|
||||
SQLITE_STATIC);
|
||||
break; }
|
||||
default: {
|
||||
QString str = value.toString();
|
||||
// SQLITE_TRANSIENT makes sure that sqlite buffers the data
|
||||
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
||||
(str.size()) * sizeof(QChar), SQLITE_TRANSIENT);
|
||||
int(str.size()) * sizeof(QChar),
|
||||
SQLITE_TRANSIENT);
|
||||
break; }
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user