1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Manual merge

sql/sp_head.cc:
  Manual merge, bug#27876
sql/sql_lex.cc:
  Manual merge, bug#27876
sql/sql_lex.h:
  Manual merge, bug#27876
sql/sql_view.cc:
  Manual merge, bug#27876
tests/mysql_client_test.c:
  Manual merge, bug#27876
This commit is contained in:
unknown
2007-05-29 14:52:17 -06:00
parent 1b7acc5134
commit 5817bdffe7
5 changed files with 75 additions and 6 deletions

View File

@ -16097,6 +16097,70 @@ static void test_bug28075()
}
#endif
/*
Bug#27876 (SF with cyrillic variable name fails during execution (regression))
*/
static void test_bug27876()
{
int rc;
MYSQL_RES *result;
char utf8_func[] =
{
0xd1, 0x84, 0xd1, 0x83, 0xd0, 0xbd, 0xd0, 0xba,
0xd1, 0x86, 0xd0, 0xb8, 0xd0, 0xb9, 0xd0, 0xba,
0xd0, 0xb0,
0x00
};
char utf8_param[] =
{
0xd0, 0xbf, 0xd0, 0xb0, 0xd1, 0x80, 0xd0, 0xb0,
0xd0, 0xbc, 0xd0, 0xb5, 0xd1, 0x82, 0xd1, 0x8a,
0xd1, 0x80, 0x5f, 0xd0, 0xb2, 0xd0, 0xb5, 0xd1,
0x80, 0xd1, 0x81, 0xd0, 0xb8, 0xd1, 0x8f,
0x00
};
char query[500];
DBUG_ENTER("test_bug27876");
myheader("test_bug27876");
rc= mysql_query(mysql, "set names utf8");
myquery(rc);
rc= mysql_query(mysql, "select version()");
myquery(rc);
result= mysql_store_result(mysql);
mytest(result);
sprintf(query, "DROP FUNCTION IF EXISTS %s", utf8_func);
rc= mysql_query(mysql, query);
myquery(rc);
sprintf(query,
"CREATE FUNCTION %s( %s VARCHAR(25))"
" RETURNS VARCHAR(25) DETERMINISTIC RETURN %s",
utf8_func, utf8_param, utf8_param);
rc= mysql_query(mysql, query);
myquery(rc);
sprintf(query, "SELECT %s(VERSION())", utf8_func);
rc= mysql_query(mysql, query);
myquery(rc);
result= mysql_store_result(mysql);
mytest(result);
sprintf(query, "DROP FUNCTION %s", utf8_func);
rc= mysql_query(mysql, query);
myquery(rc);
rc= mysql_query(mysql, "set names default");
myquery(rc);
}
/*
Read and parse arguments and MySQL options from my.cnf
*/
@ -16384,6 +16448,7 @@ static struct my_tests_st my_tests[]= {
#ifdef fix_bug_in_pb_first
{ "test_bug28075", test_bug28075 },
#endif
{ "test_bug27876", test_bug27876 },
{ 0, 0 }
};