@@ -89,7 +89,7 @@ bool QgsOgrProvider::convertField( QgsField &field, const QTextCodec &encoding )
89
89
switch ( field.type() )
90
90
{
91
91
case QVariant::LongLong:
92
- ogrType = OFTString ;
92
+ ogrType = OFTInteger64 ;
93
93
ogrWidth = ogrWidth > 0 && ogrWidth <= 21 ? ogrWidth : 21;
94
94
ogrPrecision = -1;
95
95
break;
@@ -439,6 +439,7 @@ QgsOgrProvider::QgsOgrProvider( QString const & uri )
439
439
440
440
mNativeTypes
441
441
<< QgsVectorDataProvider::NativeType( tr( " Whole number (integer)" ), "integer", QVariant::Int, 1, 10 )
442
+ << QgsVectorDataProvider::NativeType( tr( " Whole number (integer 64 bit)" ), "integer64", QVariant::LongLong, 1, 10 )
442
443
<< QgsVectorDataProvider::NativeType( tr( " Decimal number (real)" ), "double", QVariant::Double, 1, 20, 0, 15 )
443
444
<< QgsVectorDataProvider::NativeType( tr( " Text (string)" ), "string", QVariant::String, 1, 255 )
444
445
<< QgsVectorDataProvider::NativeType( tr( " Date" ), "date", QVariant::Date, 8, 8 );
@@ -771,6 +772,7 @@ void QgsOgrProvider::loadFields()
771
772
switch ( ogrType )
772
773
{
773
774
case OFTInteger: varType = QVariant::Int; break ;
775
+ case OFTInteger64: varType = QVariant::LongLong; break ;
774
776
case OFTReal: varType = QVariant::Double; break ;
775
777
#if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 1400
776
778
case OFTDate: varType = QVariant::Date; break ;
@@ -1131,6 +1133,9 @@ bool QgsOgrProvider::addAttributes( const QList<QgsField> &attributes )
1131
1133
case QVariant::Int:
1132
1134
type = OFTInteger;
1133
1135
break ;
1136
+ case QVariant::LongLong:
1137
+ type = OFTInteger64;
1138
+ break ;
1134
1139
case QVariant::Double:
1135
1140
type = OFTReal;
1136
1141
break ;
0 commit comments