Commit 03a5dcd7 authored by jpipes@shakedown.(none)'s avatar jpipes@shakedown.(none)

Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint

into  shakedown.(none):/home/jpipes/dev/mysql-5.0-maint
parents 699898c8 b5705138
......@@ -334,6 +334,7 @@ client/sql_string.cpp
client/ssl_test
client/thimble
client/thread_test
client/tmp.diff
client_debug/*
client_release/*
client_test
......@@ -762,10 +763,12 @@ mysql-test/r/rpl000016.eval
mysql-test/r/rpl_log.eval
mysql-test/r/slave-running.eval
mysql-test/r/slave-stopped.eval
mysql-test/r/tmp.result
mysql-test/r/udf.log
mysql-test/share/mysql
mysql-test/std_data/*.pem
mysql-test/t/index_merge.load
mysql-test/t/tmp.test
mysql-test/var
mysql-test/var/*
mysql.kdevprj
......
......@@ -820,9 +820,22 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
break;
case OPT_DELIMITER:
if (argument == disabled_my_option)
{
strmov(delimiter, DEFAULT_DELIMITER);
}
else
{
/* Check that delimiter does not contain a backslash */
if (!strstr(argument, "\\"))
{
strmake(delimiter, argument, sizeof(delimiter) - 1);
}
else
{
put_info("DELIMITER cannot contain a backslash character", INFO_ERROR);
return 0;
}
}
delimiter_length= (uint)strlen(delimiter);
delimiter_str= delimiter;
break;
......@@ -3041,6 +3054,14 @@ com_delimiter(String *buffer __attribute__((unused)), char *line)
INFO_ERROR);
return 0;
}
else
{
if (strstr(tmp, "\\"))
{
put_info("DELIMITER cannot contain a backslash character", INFO_ERROR);
return 0;
}
}
strmake(delimiter, tmp, sizeof(delimiter) - 1);
delimiter_length= (int)strlen(delimiter);
delimiter_str= delimiter;
......
......@@ -134,4 +134,11 @@ timediff(b, a) >= '00:00:03'
drop table t2;
drop table t1;
set global query_cache_size=default;
create table t1 select INET_ATON('255.255.0.1') as `a`;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(21) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
End of 5.0 tests
......@@ -61,16 +61,16 @@ database()
test
unlock tables;
drop table t1;
\
\
ƒ\
ƒ\
c_cp932
\
\
\
ƒ\
ƒ\
ƒ\
\
\
ƒ\
ƒ\
+----------------------+------------+--------+
| concat('>',col1,'<') | col2 | col3 |
+----------------------+------------+--------+
......@@ -180,4 +180,8 @@ Too long dbname
ERROR 1049 (42000) at line 1: Unknown database 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Too long hostname
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
1
1
ERROR at line 1: DELIMITER cannot contain a backslash character
ERROR at line 1: DELIMITER cannot contain a backslash character
End of 5.0 tests
......@@ -125,4 +125,11 @@ drop table t2;
drop table t1;
set global query_cache_size=default;
#
# Bug #21466: INET_ATON() returns signed, not unsigned
#
create table t1 select INET_ATON('255.255.0.1') as `a`;
show create table t1;
drop table t1;
--echo End of 5.0 tests
......@@ -52,10 +52,10 @@ drop table t1;
--exec $MYSQL --default-character-set=cp932 test -e "charset utf8;"
# its usage to switch internally in mysql to requested charset
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; select '\'; create table t1 (c_cp932 TEXT CHARACTER SET cp932); insert into t1 values('\'); select * from t1; drop table t1;"
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; select '\'"
--exec $MYSQL --default-character-set=utf8 test -e "/*charset cp932 */; set character_set_client= cp932; select '\'"
--exec $MYSQL --default-character-set=utf8 test -e "/*!\C cp932 */; set character_set_client= cp932; select '\'"
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; select 'ƒ\'; create table t1 (c_cp932 TEXT CHARACTER SET cp932); insert into t1 values('ƒ\'); select * from t1; drop table t1;"
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; select 'ƒ\'"
--exec $MYSQL --default-character-set=utf8 test -e "/*charset cp932 */; set character_set_client= cp932; select 'ƒ\'"
--exec $MYSQL --default-character-set=utf8 test -e "/*!\C cp932 */; set character_set_client= cp932; select 'ƒ\'"
#
# Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string".
......@@ -223,4 +223,22 @@ drop table t17583;
--error 1
--exec $MYSQL test -e "\r test cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
#
# Bug #21412: mysql cmdline client allows backslash(es)
# as delimiter but can't recognize them
#
# This should work just fine...
--exec echo "DELIMITER /" > $MYSQLTEST_VARDIR/tmp/bug21412.sql
--exec echo "SELECT 1/" >> $MYSQLTEST_VARDIR/tmp/bug21412.sql
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
# This should give an error...
--exec echo "DELIMITER \\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
# As should this...
--exec echo "DELIMITER \\\\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
--echo End of 5.0 tests
......@@ -1291,7 +1291,7 @@ public:
Item_func_inet_aton(Item *a) :Item_int_func(a) {}
longlong val_int();
const char *func_name() const { return "inet_aton"; }
void fix_length_and_dec() { decimals = 0; max_length = 21; maybe_null=1;}
void fix_length_and_dec() { decimals = 0; max_length = 21; maybe_null=1;unsigned_flag=1;}
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment