summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shaw <qt-info@nokia.com>2010-03-12 06:18:11 (GMT)
committerAndy Shaw <qt-info@nokia.com>2010-03-12 06:18:11 (GMT)
commit89d015151924b2e9386b8bdf36156de5c6914e4e (patch)
tree3232952e31f7f8b7541557287ab661cc36ef99b0
parentbe016a25fbd41f9c546ea4b0468040a2aac50a35 (diff)
downloadQt-89d015151924b2e9386b8bdf36156de5c6914e4e.zip
Qt-89d015151924b2e9386b8bdf36156de5c6914e4e.tar.gz
Qt-89d015151924b2e9386b8bdf36156de5c6914e4e.tar.bz2
Ensure that the entire CLOB can be returned from an Oracle database
The original CLOB was being truncated at 4000 bytes, even though the CLOB can hold up to 4gig, this ensures that its possible to get the whole thing. There is already a test in qsqlquery for this. Task-number: QTBUG-3875 Reviewed-by: Bill King
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sql/drivers/oci/qsql_oci.cpp b/src/sql/drivers/oci/qsql_oci.cpp
index 01c4124..4a211fc 100644
--- a/src/sql/drivers/oci/qsql_oci.cpp
+++ b/src/sql/drivers/oci/qsql_oci.cpp
@@ -517,7 +517,7 @@ QVariant::Type qDecodeOCIType(const QString& ocitype, QSql::NumericalPrecisionPo
}
else if (ocitype == QLatin1String("LONG") || ocitype == QLatin1String("NCLOB")
|| ocitype == QLatin1String("CLOB"))
- type = QVariant::String;
+ type = QVariant::ByteArray;
else if (ocitype == QLatin1String("RAW") || ocitype == QLatin1String("LONG RAW")
|| ocitype == QLatin1String("ROWID") || ocitype == QLatin1String("BLOB")
|| ocitype == QLatin1String("CFILE") || ocitype == QLatin1String("BFILE"))
@@ -543,7 +543,6 @@ QVariant::Type qDecodeOCIType(int ocitype, QSql::NumericalPrecisionPolicy precis
case SQLT_AVC:
case SQLT_RDD:
case SQLT_LNG:
- case SQLT_CLOB:
#ifdef SQLT_INTERVAL_YM
case SQLT_INTERVAL_YM:
#endif
@@ -581,6 +580,7 @@ QVariant::Type qDecodeOCIType(int ocitype, QSql::NumericalPrecisionPolicy precis
case SQLT_LVC:
case SQLT_LVB:
case SQLT_BLOB:
+ case SQLT_CLOB:
case SQLT_FILE:
case SQLT_NTY:
case SQLT_REF: