diff options
-rw-r--r-- | storage/connect/odbconn.cpp | 8 | ||||
-rw-r--r-- | storage/connect/valblk.cpp | 9 |
2 files changed, 10 insertions, 7 deletions
diff --git a/storage/connect/odbconn.cpp b/storage/connect/odbconn.cpp index 6129c93d388..397b7c2a2f4 100644 --- a/storage/connect/odbconn.cpp +++ b/storage/connect/odbconn.cpp @@ -76,8 +76,9 @@ static short GetSQLType(int type) case TYPE_SHORT: tp = SQL_SMALLINT; break; case TYPE_INT: tp = SQL_INTEGER; break; case TYPE_DATE: tp = SQL_TIMESTAMP; break; - case TYPE_BIGINT: tp = SQL_BIGINT; break; // (-5) + case TYPE_BIGINT: tp = SQL_BIGINT; break; // (-5) case TYPE_FLOAT: tp = SQL_DOUBLE; break; + case TYPE_TINY : tp = SQL_TINYINT; break; } // endswitch type return tp; @@ -97,6 +98,7 @@ static int GetSQLCType(int type) case TYPE_DATE: tp = SQL_C_TIMESTAMP; break; case TYPE_BIGINT: tp = SQL_C_SBIGINT; break; case TYPE_FLOAT: tp = SQL_C_DOUBLE; break; + case TYPE_TINY : tp = SQL_C_TINYINT; break; } // endswitch type return tp; @@ -127,9 +129,11 @@ int TranslateSQLType(int stp, int prec, int& len) type = TYPE_INT; break; case SQL_SMALLINT: // 5 + type = TYPE_SHORT; + break; case SQL_TINYINT: // (-6) case SQL_BIT: // (-7) - type = TYPE_SHORT; + type = TYPE_TINY; break; case SQL_FLOAT: // 6 case SQL_REAL: // 7 diff --git a/storage/connect/valblk.cpp b/storage/connect/valblk.cpp index 55f9da7571b..06c7776d2f5 100644 --- a/storage/connect/valblk.cpp +++ b/storage/connect/valblk.cpp @@ -447,13 +447,12 @@ int TYPBLK<TYPE>::Find(PVAL vp) template <class TYPE> int TYPBLK<TYPE>::GetMaxLength(void) { - char buf[12]; - int i, n; + char buf[32]; + int i, n, m; for (i = n = 0; i < Nval; i++) { - sprintf(buf, Fmt, Typp[i]); - - n = max(n, (signed)strlen(buf)); + m = sprintf(buf, Fmt, Typp[i]); + n = max(n, m); } // endfor i return n; |