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);
|
setSelect(false);
|
||||||
|
|
||||||
const void *pzTail = NULL;
|
const void *pzTail = NULL;
|
||||||
|
const auto size = int((query.size() + 1) * sizeof(QChar));
|
||||||
|
|
||||||
#if (SQLITE_VERSION_NUMBER >= 3003011)
|
#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);
|
&d->stmt, &pzTail);
|
||||||
#else
|
#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);
|
&d->stmt, &pzTail);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -519,27 +520,31 @@ bool QSQLiteResult::exec()
|
|||||||
const QDateTime dateTime = value.toDateTime();
|
const QDateTime dateTime = value.toDateTime();
|
||||||
const QString str = dateTime.toString(Qt::ISODateWithMs);
|
const QString str = dateTime.toString(Qt::ISODateWithMs);
|
||||||
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
||||||
str.size() * sizeof(ushort), SQLITE_TRANSIENT);
|
int(str.size() * sizeof(ushort)),
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case QMetaType::QTime: {
|
case QMetaType::QTime: {
|
||||||
const QTime time = value.toTime();
|
const QTime time = value.toTime();
|
||||||
const QString str = time.toString(u"hh:mm:ss.zzz");
|
const QString str = time.toString(u"hh:mm:ss.zzz");
|
||||||
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
||||||
str.size() * sizeof(ushort), SQLITE_TRANSIENT);
|
int(str.size() * sizeof(ushort)),
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case QMetaType::QString: {
|
case QMetaType::QString: {
|
||||||
// lifetime of string == lifetime of its qvariant
|
// lifetime of string == lifetime of its qvariant
|
||||||
const QString *str = static_cast<const QString*>(value.constData());
|
const QString *str = static_cast<const QString*>(value.constData());
|
||||||
res = sqlite3_bind_text16(d->stmt, i + 1, str->utf16(),
|
res = sqlite3_bind_text16(d->stmt, i + 1, str->utf16(),
|
||||||
(str->size()) * sizeof(QChar), SQLITE_STATIC);
|
int(str->size()) * sizeof(QChar),
|
||||||
|
SQLITE_STATIC);
|
||||||
break; }
|
break; }
|
||||||
default: {
|
default: {
|
||||||
QString str = value.toString();
|
QString str = value.toString();
|
||||||
// SQLITE_TRANSIENT makes sure that sqlite buffers the data
|
// SQLITE_TRANSIENT makes sure that sqlite buffers the data
|
||||||
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
|
||||||
(str.size()) * sizeof(QChar), SQLITE_TRANSIENT);
|
int(str.size()) * sizeof(QChar),
|
||||||
|
SQLITE_TRANSIENT);
|
||||||
break; }
|
break; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user