summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2012-12-05 06:00:52 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2012-12-06 19:42:33 +0100
commitd1b8e44c548b8cabaa319198bf4c3be3452d7100 (patch)
tree8cc4aa95b880e3db688f03b251d66e02f9f6651c /connectivity
parent752270bceb5f736c71ea116822b9a5bbb4a87629 (diff)
Variable-sized datatype -> cannot predict length of needed buffer
Change-Id: I29b8c0352b06fb86e924aaf8108de6835eb9cb89
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/odbcbase/OTools.cxx15
1 files changed, 7 insertions, 8 deletions
diff --git a/connectivity/source/drivers/odbcbase/OTools.cxx b/connectivity/source/drivers/odbcbase/OTools.cxx
index 3e327803513a..90d0791d1cfc 100644
--- a/connectivity/source/drivers/odbcbase/OTools.cxx
+++ b/connectivity/source/drivers/odbcbase/OTools.cxx
@@ -41,10 +41,6 @@ size_t sqlTypeLen ( SQLSMALLINT _nType )
{
switch (_nType)
{
- case SQL_C_CHAR:
- return sizeof(SQLCHAR *);
- case SQL_C_WCHAR:
- return sizeof(SQLWCHAR *);
case SQL_C_SSHORT:
case SQL_C_SHORT:
return sizeof(SQLSMALLINT);
@@ -74,10 +70,6 @@ size_t sqlTypeLen ( SQLSMALLINT _nType )
/* UnixODBC gives this the same value as SQL_C_UBIGINT
case SQL_C_BOOKMARK:
return sizeof(BOOKMARK); */
- case SQL_C_BINARY:
- // UnixODBC gives these the same value
- //case SQL_C_VARBOOKMARK:
- return sizeof(SQLCHAR*);
case SQL_C_TYPE_DATE:
case SQL_C_DATE:
return sizeof(SQL_DATE_STRUCT);
@@ -105,6 +97,13 @@ size_t sqlTypeLen ( SQLSMALLINT _nType )
case SQL_C_INTERVAL_HOUR_TO_SECOND:
case SQL_C_INTERVAL_MINUTE_TO_SECOND:
return sizeof(SQL_INTERVAL_STRUCT);
+ // ** Variable-sized datatypes -> cannot predict length
+ case SQL_C_CHAR:
+ case SQL_C_WCHAR:
+ case SQL_C_BINARY:
+ // UnixODBC gives this the same value as SQL_C_BINARY
+ //case SQL_C_VARBOOKMARK:
+ // Unknown datatype -> cannot predict length
default:
return static_cast<size_t>(-1);
}