diff options
author | Lionel Elie Mamane <lionel@mamane.lu> | 2012-12-05 06:00:52 +0100 |
---|---|---|
committer | Lionel Elie Mamane <lionel@mamane.lu> | 2012-12-06 19:42:33 +0100 |
commit | d1b8e44c548b8cabaa319198bf4c3be3452d7100 (patch) | |
tree | 8cc4aa95b880e3db688f03b251d66e02f9f6651c /connectivity | |
parent | 752270bceb5f736c71ea116822b9a5bbb4a87629 (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.cxx | 15 |
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); } |