Commit 5a0b54fd authored by unknown's avatar unknown

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

into  shakedown.(none):/home/jpipes/dev/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
client/mysql.cc:
  Auto merged
mysql-test/r/func_misc.result:
  Auto merged
sql/item_func.h:
  Auto merged
mysql-test/r/mysql.result:
  Manual merge
mysql-test/t/mysql.test:
  Manual merge
parents f3c26f7d 89220d07
...@@ -334,6 +334,7 @@ client/sql_string.cpp ...@@ -334,6 +334,7 @@ client/sql_string.cpp
client/ssl_test client/ssl_test
client/thimble client/thimble
client/thread_test client/thread_test
client/tmp.diff
client_debug/* client_debug/*
client_release/* client_release/*
client_test client_test
...@@ -762,10 +763,12 @@ mysql-test/r/rpl000016.eval ...@@ -762,10 +763,12 @@ mysql-test/r/rpl000016.eval
mysql-test/r/rpl_log.eval mysql-test/r/rpl_log.eval
mysql-test/r/slave-running.eval mysql-test/r/slave-running.eval
mysql-test/r/slave-stopped.eval mysql-test/r/slave-stopped.eval
mysql-test/r/tmp.result
mysql-test/r/udf.log mysql-test/r/udf.log
mysql-test/share/mysql mysql-test/share/mysql
mysql-test/std_data/*.pem mysql-test/std_data/*.pem
mysql-test/t/index_merge.load mysql-test/t/index_merge.load
mysql-test/t/tmp.test
mysql-test/var mysql-test/var
mysql-test/var/* mysql-test/var/*
mysql.kdevprj mysql.kdevprj
......
...@@ -819,10 +819,23 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), ...@@ -819,10 +819,23 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
default_charset_used= 1; default_charset_used= 1;
break; break;
case OPT_DELIMITER: case OPT_DELIMITER:
if (argument == disabled_my_option) if (argument == disabled_my_option)
{
strmov(delimiter, DEFAULT_DELIMITER); strmov(delimiter, DEFAULT_DELIMITER);
else }
strmake(delimiter, argument, sizeof(delimiter) - 1); 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_length= (uint)strlen(delimiter);
delimiter_str= delimiter; delimiter_str= delimiter;
break; break;
...@@ -3041,6 +3054,14 @@ com_delimiter(String *buffer __attribute__((unused)), char *line) ...@@ -3041,6 +3054,14 @@ com_delimiter(String *buffer __attribute__((unused)), char *line)
INFO_ERROR); INFO_ERROR);
return 0; return 0;
} }
else
{
if (strstr(tmp, "\\"))
{
put_info("DELIMITER cannot contain a backslash character", INFO_ERROR);
return 0;
}
}
strmake(delimiter, tmp, sizeof(delimiter) - 1); strmake(delimiter, tmp, sizeof(delimiter) - 1);
delimiter_length= (int)strlen(delimiter); delimiter_length= (int)strlen(delimiter);
delimiter_str= delimiter; delimiter_str= delimiter;
......
...@@ -134,4 +134,11 @@ timediff(b, a) >= '00:00:03' ...@@ -134,4 +134,11 @@ timediff(b, a) >= '00:00:03'
drop table t2; drop table t2;
drop table t1; drop table t1;
set global query_cache_size=default; 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 End of 5.0 tests
...@@ -61,16 +61,16 @@ database() ...@@ -61,16 +61,16 @@ database()
test test
unlock tables; unlock tables;
drop table t1; drop table t1;
\ ƒ\
\ ƒ\
c_cp932 c_cp932
\ ƒ\
\ ƒ\
\ ƒ\
\ ƒ\
\ ƒ\
+----------------------+------------+--------+ +----------------------+------------+--------+
| concat('>',col1,'<') | col2 | col3 | | concat('>',col1,'<') | col2 | col3 |
+----------------------+------------+--------+ +----------------------+------------+--------+
...@@ -180,4 +180,8 @@ Too long dbname ...@@ -180,4 +180,8 @@ Too long dbname
ERROR 1049 (42000) at line 1: Unknown database 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ERROR 1049 (42000) at line 1: Unknown database 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Too long hostname Too long hostname
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno) 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 End of 5.0 tests
...@@ -125,4 +125,11 @@ drop table t2; ...@@ -125,4 +125,11 @@ drop table t2;
drop table t1; drop table t1;
set global query_cache_size=default; 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 --echo End of 5.0 tests
...@@ -52,10 +52,10 @@ drop table t1; ...@@ -52,10 +52,10 @@ drop table t1;
--exec $MYSQL --default-character-set=cp932 test -e "charset utf8;" --exec $MYSQL --default-character-set=cp932 test -e "charset utf8;"
# its usage to switch internally in mysql to requested charset # 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 'ƒ\'; 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; 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 "/*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 "/*!\C cp932 */; set character_set_client= cp932; select 'ƒ\'"
# #
# Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string". # Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string".
...@@ -223,4 +223,22 @@ drop table t17583; ...@@ -223,4 +223,22 @@ drop table t17583;
--error 1 --error 1
--exec $MYSQL test -e "\r test cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&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 --echo End of 5.0 tests
...@@ -1291,7 +1291,7 @@ class Item_func_inet_aton : public Item_int_func ...@@ -1291,7 +1291,7 @@ class Item_func_inet_aton : public Item_int_func
Item_func_inet_aton(Item *a) :Item_int_func(a) {} Item_func_inet_aton(Item *a) :Item_int_func(a) {}
longlong val_int(); longlong val_int();
const char *func_name() const { return "inet_aton"; } 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