summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMagne Mahre <magne.mahre@oracle.com>2011-10-06 14:13:23 +0200
committerMagne Mahre <magne.mahre@oracle.com>2011-10-06 14:13:23 +0200
commit2b2ea96e3b3129775be554d305bc742763bd100e (patch)
tree224301bb57cfa3e17664792dda22e6b988d439db /tests
parent536751321bb2c0de53e1379ca2f8a4d159e7af84 (diff)
downloadmariadb-git-2b2ea96e3b3129775be554d305bc742763bd100e.tar.gz
Bug#12912112 MYSQL_CLIENT_TEST FAILS ON TEST_TRUNCATION
Sun Studio 12 has an error when calculating the compile-time length of a constant character string. The error is only present when building an optimized 32-bits version, using the -xbuiltin=(%all) compiler flag. During compilation, the compiler recognizes the use of the strlen() function used on a constant string. It optimizes the strlen and replaces it with the actual length of the string. This optimization seems to calculate the length wrongly in this particular case. Replacing the "const char *" with a "const char []" solves the problem.
Diffstat (limited to 'tests')
-rw-r--r--tests/mysql_client_test.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index 14a60f0e857..4050f18c674 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -13445,7 +13445,10 @@ static void test_truncation()
")";
rc= mysql_real_query(mysql, stmt_text, strlen(stmt_text));
myquery(rc);
- stmt_text= "insert into t1 VALUES ("
+
+ {
+ const char insert_text[]=
+ "insert into t1 VALUES ("
"-10, " /* i8 */
"200, " /* ui8 */
"32000, " /* i16 */
@@ -13461,8 +13464,9 @@ static void test_truncation()
"'12345.67 ', " /* tx_1 */
"'12345.67abc'" /* ch_2 */
")";
- rc= mysql_real_query(mysql, stmt_text, strlen(stmt_text));
- myquery(rc);
+ rc= mysql_real_query(mysql, insert_text, strlen(insert_text));
+ myquery(rc);
+ }
stmt_text= "select i8 c1, i8 c2, ui8 c3, i16_1 c4, ui16 c5, "
" i16 c6, ui16 c7, i32 c8, i32_1 c9, i32_1 c10, "