|
@@ -106,7 +106,7 @@ int describe_table(OGRLayerH hLayer, dbTable **table, cursor *c)
|
|
|
ogrType = OGR_Fld_GetType(hFieldDefn);
|
|
|
fieldName = OGR_Fld_GetNameRef(hFieldDefn);
|
|
|
|
|
|
- if (ogrType != OFTInteger && ogrType != OFTReal &&
|
|
|
+ if (ogrType != OFTInteger && ogrType != OFTInteger64 && ogrType != OFTReal &&
|
|
|
ogrType != OFTString && ogrType != OFTDate &&
|
|
|
ogrType != OFTTime && ogrType != OFTDateTime ) {
|
|
|
G_warning(_("OGR driver: column '%s', OGR type %d is not supported"),
|
|
@@ -171,9 +171,13 @@ int describe_table(OGRLayerH hLayer, dbTable **table, cursor *c)
|
|
|
|
|
|
switch (ogrType) {
|
|
|
case OFTInteger:
|
|
|
+ case OFTInteger64:
|
|
|
sqlType = DB_SQL_TYPE_INTEGER;
|
|
|
size = OGR_Fld_GetWidth(hFieldDefn); /* OK ? */
|
|
|
precision = 0;
|
|
|
+ if (ogrType == OFTInteger64)
|
|
|
+ G_warning(_("Column '%s' : type int8 (bigint) is stored as integer (4 bytes) "
|
|
|
+ "some data may be damaged"), fieldName);
|
|
|
break;
|
|
|
|
|
|
case OFTReal:
|