You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2017/09/20 17:08:33 UTC
[01/10] incubator-trafodion git commit: fix TRAFODION-2725
Repository: incubator-trafodion
Updated Branches:
refs/heads/master dc0d2043d -> 2d6d0e7a9
fix TRAFODION-2725
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/73548715
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/73548715
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/73548715
Branch: refs/heads/master
Commit: 73548715fd95856d34724bb7c2f4b44e3c3b7f3d
Parents: 802f3b0
Author: SuJinpei <87...@qq.com>
Authored: Fri Aug 25 15:45:19 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Fri Aug 25 15:45:19 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/sqltocconv.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/73548715/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
old mode 100644
new mode 100755
index 37922c0..7b9fda0
--- a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
+++ b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
@@ -594,7 +594,7 @@ unsigned long ODBC::ConvertSQLToC(SQLINTEGER ODBCAppVersion,
dTmp) != SQL_SUCCESS)
return IDS_07_006;
// _gcvt(dTmp, DBL_DIG, cTmpBuf);
- if (!double_to_char (dTmp, DBL_DIG, cTmpBuf, targetLength))
+ if (!double_to_char (dTmp, DBL_DIG, cTmpBuf, sizeof(cTmpBuf)))
return IDS_22_001;
}
@@ -603,13 +603,13 @@ unsigned long ODBC::ConvertSQLToC(SQLINTEGER ODBCAppVersion,
if (ODBCDataType == SQL_REAL) {
dTmp = (double)(*(float *)srcDataPtr);
// _gcvt(dTmp, FLT_DIG + 1, cTmpBuf);
- if (!double_to_char (dTmp, FLT_DIG + 1, cTmpBuf, targetLength))
+ if (!double_to_char (dTmp, FLT_DIG + 1, cTmpBuf, sizeof(cTmpBuf)))
return IDS_22_001;
}
else {
dTmp = *(double *)srcDataPtr;
// _gcvt(dTmp, DBL_DIG, cTmpBuf);
- if (!double_to_char (dTmp, DBL_DIG + 1, cTmpBuf, targetLength))
+ if (!double_to_char (dTmp, DBL_DIG + 1, cTmpBuf, sizeof(cTmpBuf)))
return IDS_22_001;
}
}
[05/10] incubator-trafodion git commit: simplify the code
Posted by db...@apache.org.
simplify the code
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/709a26f2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/709a26f2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/709a26f2
Branch: refs/heads/master
Commit: 709a26f25ccfa9b48a747f8078bc2cafbd3999bc
Parents: 7f82f5e
Author: SuJinpei <87...@qq.com>
Authored: Thu Sep 14 19:42:28 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Thu Sep 14 19:42:28 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/709a26f2/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
index 754c7d5..c35d968 100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
@@ -869,7 +869,7 @@ bool double_to_char (double number, int precision, char* string, short size)
char format[16];
char buf[MAX_DOUBLE_TO_CHAR_LEN];
- sprintf(format, "%%.%dl%c", precision, number < 1e-6 ? 'g':'f');
+ sprintf(format, "%%.%dlg", precision);
sprintf(buf, format, number);
if (size > strlen(buf)) {
[03/10] incubator-trafodion git commit: rewrite double_to_char
function
Posted by db...@apache.org.
rewrite double_to_char function
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/dfd8af74
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/dfd8af74
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/dfd8af74
Branch: refs/heads/master
Commit: dfd8af74137739ba1c326ff2bf38edb5759cd171
Parents: b6513da
Author: SuJinpei <87...@qq.com>
Authored: Thu Sep 14 16:54:08 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Thu Sep 14 16:54:08 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 77 +++---------------------
1 file changed, 9 insertions(+), 68 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/dfd8af74/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
old mode 100644
new mode 100755
index 8d1124c..4012e4e
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
@@ -865,77 +865,18 @@ bool use_gcvt(double number, char* string, short size)
bool double_to_char (double number, int precision, char* string, short size)
{
- char *buffer,*temp ;
- bool rc = true;
-
- int decimal_spot,
- sign,
- count,
- current_location = 0,
- length;
-
- *string = 0;
-
- temp = _fcvt (number, precision, &decimal_spot, &sign) ;
- length = strlen(temp);
- if (length == 0)
- {
- return use_gcvt(number,string,size);
- }
- if (length > precision)
- buffer = (char *) malloc (length + 3) ;
- else
- buffer = (char *) malloc (precision + 3) ;
-
- if (buffer == NULL)
- return false;
-
-/* Add negative sign if required. */
-
- if (sign)
- buffer [current_location++] = '-' ;
-
-/* Place decimal point in the correct location. */
-
- if (decimal_spot > 0)
- {
- strncpy (&buffer [current_location], temp, decimal_spot) ;
- buffer [decimal_spot + current_location] = '.' ;
- strcpy (&buffer [decimal_spot + current_location + 1],
- &temp [decimal_spot]) ;
- }
- else
- {
- buffer [current_location] = '.' ;
- for(count = current_location;
- count< abs(decimal_spot)+current_location; count++)
- buffer [count + 1] = '0' ;
- strcpy (&buffer [count + 1], temp) ;
- }
+ bool rc = false;
+ char format[16];
+ char buf[512];
- rSup(buffer);
- length = strlen(buffer);
- if (buffer[0] == '.' || (buffer[0] == '-' && buffer[1] == '.')) length++;
+ sprintf(format, "%%.%dl%c", precision, number < 1e-6 ? 'g':'f');
+ sprintf(buf, format, number);
- if (length>size)
- rc = use_gcvt(number,string,size);
- else
- {
- if (buffer[0] == '.')
- {
- strcpy( string, "0");
- strcat( string, buffer);
- }
- else if (buffer[0] == '-' && buffer[1] == '.')
- {
- strcpy( string, "-0");
- strcat( string, &buffer[1]);
- }
- else
- strcpy( string, buffer);
- }
+ if (size > strlen(buf)) {
+ strcpy(string, buf);
+ rc = true;
+ }
- free (buffer);
return rc;
}
[02/10] incubator-trafodion git commit: fix TRAFODION-2725
Posted by db...@apache.org.
fix TRAFODION-2725
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/b6513da5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/b6513da5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/b6513da5
Branch: refs/heads/master
Commit: b6513da5a82f9161457ae854a30cab2026b5c865
Parents: 7354871
Author: SuJinpei <87...@qq.com>
Authored: Wed Aug 30 14:00:17 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Wed Aug 30 14:00:17 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/sqltocconv.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/b6513da5/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
index 7b9fda0..0a95b70 100755
--- a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
+++ b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
@@ -946,7 +946,7 @@ unsigned long ODBC::ConvertSQLToC(SQLINTEGER ODBCAppVersion,
dTmp) != SQL_SUCCESS)
return IDS_07_006;
// _gcvt(dTmp, DBL_DIG, cTmpBuf);
- if (!double_to_char (dTmp, DBL_DIG, cTmpBuf, targetLength))
+ if (!double_to_char (dTmp, DBL_DIG, cTmpBuf, sizeof(cTmpBuf)))
return IDS_22_001;
}
@@ -955,13 +955,13 @@ unsigned long ODBC::ConvertSQLToC(SQLINTEGER ODBCAppVersion,
if (ODBCDataType == SQL_REAL) {
dTmp = (double)(*(float *)srcDataPtr);
// _gcvt(dTmp, FLT_DIG + 1, cTmpBuf);
- if (!double_to_char (dTmp, FLT_DIG + 1, cTmpBuf, targetLength))
+ if (!double_to_char(dTmp, FLT_DIG + 1, cTmpBuf, sizeof(cTmpBuf)))
return IDS_22_001;
}
else {
dTmp = *(double *)srcDataPtr;
// _gcvt(dTmp, DBL_DIG, cTmpBuf);
- if (!double_to_char (dTmp, DBL_DIG + 1, cTmpBuf, targetLength))
+ if (!double_to_char(dTmp, DBL_DIG + 1, cTmpBuf, sizeof(cTmpBuf)))
return IDS_22_001;
}
}
[08/10] incubator-trafodion git commit: correct MAX_DOUBLE_TO_CHAR_LEN
Posted by db...@apache.org.
correct MAX_DOUBLE_TO_CHAR_LEN
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/bb6606fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/bb6606fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/bb6606fa
Branch: refs/heads/master
Commit: bb6606fab61402d7256561c3f163bf70694a8149
Parents: b738b14
Author: SuJinpei <87...@qq.com>
Authored: Sun Sep 17 22:34:32 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Sun Sep 17 22:34:32 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bb6606fa/win-odbc64/odbcclient/drvr35/drvrglobal.h
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.h b/win-odbc64/odbcclient/drvr35/drvrglobal.h
index 787bc82..61c02d2 100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.h
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.h
@@ -103,7 +103,7 @@ extern char* VprocString;
#define STRICT_SCHEMA_ENV_VAL_SIZE 100
-#define MAX_DOUBLE_TO_CHAR_LEN 308 + 12
+#define MAX_DOUBLE_TO_CHAR_LEN (DBL_MANT_DIG - DBL_MIN_EXP + 12)
typedef enum SRVR_TYPE
{
[09/10] incubator-trafodion git commit: fix a mistake
Posted by db...@apache.org.
fix a mistake
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/1757c597
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/1757c597
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/1757c597
Branch: refs/heads/master
Commit: 1757c597dee2c1e517c023dfa6f74d0c53fb772d
Parents: bb6606f
Author: SuJinpei <87...@qq.com>
Authored: Sun Sep 17 23:22:35 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Sun Sep 17 23:22:35 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1757c597/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
index eb264d6..e3b1a11 100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
@@ -876,7 +876,7 @@ bool double_to_char (double number, int precision, char* string, short size)
precision = precision < size ? precision : size - 1;
// precission should be limit to a reasonable range.
- if ((precision < 0) && (precision >(DBL_MANT_DIG - DBL_MIN_EXP))) {
+ if ((precision < 0) || (precision >(DBL_MANT_DIG - DBL_MIN_EXP))) {
goto fun_exit;
}
[07/10] incubator-trafodion git commit: improve robustness
Posted by db...@apache.org.
improve robustness
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/b738b140
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/b738b140
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/b738b140
Branch: refs/heads/master
Commit: b738b140408653f3139728c1bfd65f7c4dbbac79
Parents: e9e214d
Author: SuJinpei <87...@qq.com>
Authored: Sun Sep 17 22:03:22 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Sun Sep 17 22:03:22 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 36 ++++++++++++++++++++----
1 file changed, 31 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/b738b140/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
index d5f2263..eb264d6 100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
@@ -867,16 +867,42 @@ bool double_to_char (double number, int precision, char* string, short size)
{
bool rc = false;
char format[16] = { '\0' };
+ size_t actualLen = 0;
+
+ // make sure any precision of possible double value can be format to the buf.
char buf[MAX_DOUBLE_TO_CHAR_LEN] = { '\0' };
- sprintf(format, "%%.%dlg", precision);
- sprintf(buf, format, number);
+ // precision should less than size
+ precision = precision < size ? precision : size - 1;
- if (size > strlen(buf)) {
- strcpy(string, buf);
- rc = true;
+ // precission should be limit to a reasonable range.
+ if ((precision < 0) && (precision >(DBL_MANT_DIG - DBL_MIN_EXP))) {
+ goto fun_exit;
}
+ // we want to return reasonable value even when caller didn't provide sufficiently buffer.
+ // here using loop because actualLen may increase even precision decrease when fix-point
+ // notation to exponential notation. for example:
+ // for double d = 12345678.9, the caller only provide size=8.
+ // d will first convert to "1.234568e+07", actualLen == 12. then convert to "1.2e+07".
+ do {
+ if (sprintf(format, "%%.%dlg", precision) < 0) {
+ goto fun_exit;
+ }
+ if ((actualLen = sprintf(buf, format, number)) < 0) {
+ goto fun_exit;
+ }
+ if (size > actualLen) {
+ strcpy(string, buf);
+ rc = true;
+ break;
+ }
+ else {
+ precision -= (actualLen - size + 1);
+ }
+ } while ((precision >= 0));
+
+fun_exit:
return rc;
}
[06/10] incubator-trafodion git commit: initialize variable
Posted by db...@apache.org.
initialize variable
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/e9e214db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/e9e214db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/e9e214db
Branch: refs/heads/master
Commit: e9e214db0117afe35edd91f5330f75bfcab3bfca
Parents: 709a26f
Author: SuJinpei <87...@qq.com>
Authored: Fri Sep 15 21:27:51 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Fri Sep 15 21:27:51 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/e9e214db/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
index c35d968..d5f2263 100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
@@ -866,8 +866,8 @@ bool use_gcvt(double number, char* string, short size)
bool double_to_char (double number, int precision, char* string, short size)
{
bool rc = false;
- char format[16];
- char buf[MAX_DOUBLE_TO_CHAR_LEN];
+ char format[16] = { '\0' };
+ char buf[MAX_DOUBLE_TO_CHAR_LEN] = { '\0' };
sprintf(format, "%%.%dlg", precision);
sprintf(buf, format, number);
[10/10] incubator-trafodion git commit: Merge [TRAFODION-2725] PR
1220 Fix ODBC stack overflows on REAL, FLOAT, DOUBLE
Posted by db...@apache.org.
Merge [TRAFODION-2725] PR 1220 Fix ODBC stack overflows on REAL, FLOAT, DOUBLE
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/2d6d0e7a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/2d6d0e7a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/2d6d0e7a
Branch: refs/heads/master
Commit: 2d6d0e7a9d7414b296816b24cc34fd2f2a57c129
Parents: dc0d204 1757c59
Author: Dave Birdsall <db...@apache.org>
Authored: Wed Sep 20 17:07:24 2017 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Wed Sep 20 17:07:24 2017 +0000
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 109 ++++++++---------------
win-odbc64/odbcclient/drvr35/drvrglobal.h | 2 +
win-odbc64/odbcclient/drvr35/sqltocconv.cpp | 14 +--
3 files changed, 47 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2d6d0e7a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --cc win-odbc64/odbcclient/drvr35/drvrglobal.cpp
index 6128ced,e3b1a11..730eb11
mode 100644,100755..100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2d6d0e7a/win-odbc64/odbcclient/drvr35/drvrglobal.h
----------------------------------------------------------------------
diff --cc win-odbc64/odbcclient/drvr35/drvrglobal.h
index 2bb174b,61c02d2..12b2702
mode 100644,100755..100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.h
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.h
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2d6d0e7a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
----------------------------------------------------------------------
diff --cc win-odbc64/odbcclient/drvr35/sqltocconv.cpp
index 7da4c41,83c2ee3..918445a
mode 100644,100755..100755
--- a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
+++ b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
[04/10] incubator-trafodion git commit: increase cTmpBuf size to
prevent potential bugs
Posted by db...@apache.org.
increase cTmpBuf size to prevent potential bugs
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/7f82f5e4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/7f82f5e4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/7f82f5e4
Branch: refs/heads/master
Commit: 7f82f5e4ec04c50148b0bdad8b48bda19e6b2eb2
Parents: dfd8af7
Author: SuJinpei <87...@qq.com>
Authored: Thu Sep 14 18:01:06 2017 +0800
Committer: SuJinpei <87...@qq.com>
Committed: Thu Sep 14 18:01:06 2017 +0800
----------------------------------------------------------------------
win-odbc64/odbcclient/drvr35/drvrglobal.cpp | 2 +-
win-odbc64/odbcclient/drvr35/drvrglobal.h | 2 ++
win-odbc64/odbcclient/drvr35/sqltocconv.cpp | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7f82f5e4/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
index 4012e4e..754c7d5 100755
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.cpp
@@ -867,7 +867,7 @@ bool double_to_char (double number, int precision, char* string, short size)
{
bool rc = false;
char format[16];
- char buf[512];
+ char buf[MAX_DOUBLE_TO_CHAR_LEN];
sprintf(format, "%%.%dl%c", precision, number < 1e-6 ? 'g':'f');
sprintf(buf, format, number);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7f82f5e4/win-odbc64/odbcclient/drvr35/drvrglobal.h
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/drvrglobal.h b/win-odbc64/odbcclient/drvr35/drvrglobal.h
old mode 100644
new mode 100755
index 0865698..787bc82
--- a/win-odbc64/odbcclient/drvr35/drvrglobal.h
+++ b/win-odbc64/odbcclient/drvr35/drvrglobal.h
@@ -103,6 +103,8 @@ extern char* VprocString;
#define STRICT_SCHEMA_ENV_VAL_SIZE 100
+#define MAX_DOUBLE_TO_CHAR_LEN 308 + 12
+
typedef enum SRVR_TYPE
{
SRVR_UNKNOWN = 0,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7f82f5e4/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
----------------------------------------------------------------------
diff --git a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
index 0a95b70..83c2ee3 100755
--- a/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
+++ b/win-odbc64/odbcclient/drvr35/sqltocconv.cpp
@@ -167,7 +167,7 @@ unsigned long ODBC::ConvertSQLToC(SQLINTEGER ODBCAppVersion,
USHORT usTmp;
SLONG lTmp;
ULONG ulTmp;
- CHAR cTmpBuf[132];
+ CHAR cTmpBuf[MAX_DOUBLE_TO_CHAR_LEN];
CHAR cTmpBuf1[30];
__int64 tempVal64;
__int64 power;