Commit e6b31ace authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-5.0

into  neptunus.(none):/home/msvensson/mysql/mysql-5.0

parents bb60631b 9f2d21f6
...@@ -141,3 +141,22 @@ t1 CREATE TABLE `t1` ( ...@@ -141,3 +141,22 @@ t1 CREATE TABLE `t1` (
`a` binary(1) default NULL `a` binary(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1; drop table t1;
create table t1 (col1 binary(4));
insert into t1 values ('a'),('a ');
select hex(col1) from t1;
hex(col1)
61000000
61200000
alter table t1 modify col1 binary(10);
select hex(col1) from t1;
hex(col1)
61000000000000000000
61200000000000000000
insert into t1 values ('b'),('b ');
select hex(col1) from t1;
hex(col1)
61000000000000000000
61200000000000000000
62000000000000000000
62200000000000000000
drop table t1;
...@@ -4768,6 +4768,20 @@ Handler ...@@ -4768,6 +4768,20 @@ Handler
Inner Inner
drop procedure bug15011| drop procedure bug15011|
drop table t3| drop table t3|
drop function if exists bug17615|
create table t3 (a varchar(256) unicode)|
create function bug17615() returns varchar(256) unicode
begin
declare tmp_res varchar(256) unicode;
set tmp_res= 'foo string';
return tmp_res;
end|
insert into t3 values(bug17615())|
select * from t3|
a
foo string
drop function bug17615|
drop table t3|
drop procedure if exists bug17476| drop procedure if exists bug17476|
create table t3 ( d date )| create table t3 ( d date )|
insert into t3 values insert into t3 values
......
...@@ -772,3 +772,10 @@ productid zlevelprice ...@@ -772,3 +772,10 @@ productid zlevelprice
003trans 39.98 003trans 39.98
004trans 31.18 004trans 31.18
drop table t1, t2; drop table t1, t2;
create table t1 (f1 decimal(5));
insert into t1 values (40);
flush tables;
select f1 from t1 where f1 in (select f1 from t1);
f1
40
drop table t1;
...@@ -89,3 +89,15 @@ show create table t1; ...@@ -89,3 +89,15 @@ show create table t1;
drop table t1; drop table t1;
# End of 4.1 tests # End of 4.1 tests
#
# Bug#16857
#
create table t1 (col1 binary(4));
insert into t1 values ('a'),('a ');
select hex(col1) from t1;
alter table t1 modify col1 binary(10);
select hex(col1) from t1;
insert into t1 values ('b'),('b ');
select hex(col1) from t1;
drop table t1;
...@@ -5616,6 +5616,28 @@ drop table t3| ...@@ -5616,6 +5616,28 @@ drop table t3|
# #
# BUG#17615: problem with character set
#
--disable_warnings
drop function if exists bug17615|
--enable_warnings
create table t3 (a varchar(256) unicode)|
create function bug17615() returns varchar(256) unicode
begin
declare tmp_res varchar(256) unicode;
set tmp_res= 'foo string';
return tmp_res;
end|
insert into t3 values(bug17615())|
select * from t3|
drop function bug17615|
drop table t3|
# BUG#17476: Stored procedure not returning data when it is called first # BUG#17476: Stored procedure not returning data when it is called first
# time per connection # time per connection
# #
......
...@@ -377,3 +377,11 @@ insert INTO t2 SELECT * FROM t1; ...@@ -377,3 +377,11 @@ insert INTO t2 SELECT * FROM t1;
select * from t2; select * from t2;
drop table t1, t2; drop table t1, t2;
#
# Bug #17826 'type_decimal' fails with ps-protocol
#
create table t1 (f1 decimal(5));
insert into t1 values (40);
flush tables;
select f1 from t1 where f1 in (select f1 from t1);
drop table t1;
...@@ -24,9 +24,10 @@ DEFS= -DMYSQL_INSTANCE_MANAGER -DMYSQL_SERVER ...@@ -24,9 +24,10 @@ DEFS= -DMYSQL_INSTANCE_MANAGER -DMYSQL_SERVER
# default_options.h, generated from default_options.h.in) # default_options.h, generated from default_options.h.in)
# See automake/autoconf docs for details # See automake/autoconf docs for details
noinst_LIBRARIES= liboptions.a libnet.a noinst_LTLIBRARIES= liboptions.la
noinst_LIBRARIES= libnet.a
liboptions_a_CXXFLAGS= $(CXXFLAGS) \ liboptions_la_CXXFLAGS= $(CXXFLAGS) \
-DDEFAULT_PID_FILE_NAME="$(localstatedir)/mysqlmanager.pid" \ -DDEFAULT_PID_FILE_NAME="$(localstatedir)/mysqlmanager.pid" \
-DDEFAULT_LOG_FILE_NAME="$(localstatedir)/mysqlmanager.log" \ -DDEFAULT_LOG_FILE_NAME="$(localstatedir)/mysqlmanager.log" \
-DDEFAULT_SOCKET_FILE_NAME="/tmp/mysqlmanager.sock" \ -DDEFAULT_SOCKET_FILE_NAME="/tmp/mysqlmanager.sock" \
...@@ -35,8 +36,8 @@ liboptions_a_CXXFLAGS= $(CXXFLAGS) \ ...@@ -35,8 +36,8 @@ liboptions_a_CXXFLAGS= $(CXXFLAGS) \
-DDEFAULT_CONFIG_FILE="/etc/my.cnf" \ -DDEFAULT_CONFIG_FILE="/etc/my.cnf" \
-DPROTOCOL_VERSION=@PROTOCOL_VERSION@ -DPROTOCOL_VERSION=@PROTOCOL_VERSION@
liboptions_a_SOURCES= options.h options.cc priv.h priv.cc liboptions_la_SOURCES= options.h options.cc priv.h priv.cc
liboptions_a_LIBADD= $(top_builddir)/libmysql/get_password.$(OBJEXT) liboptions_la_LIBADD= $(top_builddir)/libmysql/get_password.lo
# MySQL sometimes uses symlinks to reuse code # MySQL sometimes uses symlinks to reuse code
# All symlinked files are grouped in libnet.a # All symlinked files are grouped in libnet.a
...@@ -77,7 +78,7 @@ mysqlmanager_SOURCES= command.cc command.h mysqlmanager.cc \ ...@@ -77,7 +78,7 @@ mysqlmanager_SOURCES= command.cc command.h mysqlmanager.cc \
mysql_manager_error.h \ mysql_manager_error.h \
portability.h portability.h
mysqlmanager_LDADD= liboptions.a \ mysqlmanager_LDADD= liboptions.la \
libnet.a \ libnet.a \
$(top_builddir)/vio/libvio.a \ $(top_builddir)/vio/libvio.a \
$(top_builddir)/mysys/libmysys.a \ $(top_builddir)/mysys/libmysys.a \
......
...@@ -379,6 +379,16 @@ static void do_cut_string_complex(Copy_field *copy) ...@@ -379,6 +379,16 @@ static void do_cut_string_complex(Copy_field *copy)
static void do_expand_binary(Copy_field *copy)
{
CHARSET_INFO *cs= copy->from_field->charset();
memcpy(copy->to_ptr,copy->from_ptr,copy->from_length);
cs->cset->fill(cs, copy->to_ptr+copy->from_length,
copy->to_length-copy->from_length, '\0');
}
static void do_expand_string(Copy_field *copy) static void do_expand_string(Copy_field *copy)
{ {
CHARSET_INFO *cs= copy->from_field->charset(); CHARSET_INFO *cs= copy->from_field->charset();
...@@ -583,8 +593,14 @@ void (*Copy_field::get_copy_func(Field *to,Field *from))(Copy_field*) ...@@ -583,8 +593,14 @@ void (*Copy_field::get_copy_func(Field *to,Field *from))(Copy_field*)
return (from->charset()->mbmaxlen == 1 ? return (from->charset()->mbmaxlen == 1 ?
do_cut_string : do_cut_string_complex); do_cut_string : do_cut_string_complex);
else if (to_length > from_length) else if (to_length > from_length)
{
if ((to->flags & BINARY_FLAG) != 0)
return do_expand_binary;
else
return do_expand_string; return do_expand_string;
} }
}
else if (to->real_type() != from->real_type() || else if (to->real_type() != from->real_type() ||
to_length != from_length || to_length != from_length ||
!compatible_db_low_byte_first) !compatible_db_low_byte_first)
......
...@@ -61,7 +61,7 @@ bool hostname_cache_init() ...@@ -61,7 +61,7 @@ bool hostname_cache_init()
if (!(hostname_cache=new hash_filo(HOST_CACHE_SIZE, offset, if (!(hostname_cache=new hash_filo(HOST_CACHE_SIZE, offset,
sizeof(struct in_addr),NULL, sizeof(struct in_addr),NULL,
(hash_free_key) free, (hash_free_key) free,
&my_charset_latin1))) &my_charset_bin)))
return 1; return 1;
hostname_cache->clear(); hostname_cache->clear();
(void) pthread_mutex_init(&LOCK_hostname,MY_MUTEX_INIT_SLOW); (void) pthread_mutex_init(&LOCK_hostname,MY_MUTEX_INIT_SLOW);
......
...@@ -698,12 +698,6 @@ bool Item_in_optimizer::fix_left(THD *thd, Item **ref) ...@@ -698,12 +698,6 @@ bool Item_in_optimizer::fix_left(THD *thd, Item **ref)
return 1; return 1;
cache->setup(args[0]); cache->setup(args[0]);
/*
If it is preparation PS only then we do not know values of parameters =>
cant't get there values and do not need that values.
*/
if (!thd->stmt_arena->is_stmt_prepare())
cache->store(args[0]);
if (cache->cols() == 1) if (cache->cols() == 1)
{ {
if ((used_tables_cache= args[0]->used_tables())) if ((used_tables_cache= args[0]->used_tables()))
......
...@@ -4881,6 +4881,7 @@ Item_func_sp::fix_length_and_dec() ...@@ -4881,6 +4881,7 @@ Item_func_sp::fix_length_and_dec()
{ {
decimals= result_field->decimals(); decimals= result_field->decimals();
max_length= result_field->field_length; max_length= result_field->field_length;
collation.set(result_field->charset());
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
...@@ -4891,6 +4892,7 @@ Item_func_sp::fix_length_and_dec() ...@@ -4891,6 +4892,7 @@ Item_func_sp::fix_length_and_dec()
} }
decimals= field->decimals(); decimals= field->decimals();
max_length= field->field_length; max_length= field->field_length;
collation.set(field->charset());
maybe_null= 1; maybe_null= 1;
delete field; delete field;
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
......
...@@ -204,24 +204,24 @@ the standard MySQL package. ...@@ -204,24 +204,24 @@ the standard MySQL package.
Please note that this is a dynamically linked binary! Please note that this is a dynamically linked binary!
%package embedded #%package embedded
Requires: %{name}-devel #Requires: %{name}-devel
Summary: MySQL - embedded library #Summary: MySQL - embedded library
Group: Applications/Databases #Group: Applications/Databases
Obsoletes: mysql-embedded #Obsoletes: mysql-embedded
#
%description embedded #%description embedded
This package contains the MySQL server as an embedded library. #This package contains the MySQL server as an embedded library.
#
The embedded MySQL server library makes it possible to run a #The embedded MySQL server library makes it possible to run a
full-featured MySQL server inside the client application. #full-featured MySQL server inside the client application.
The main benefits are increased speed and more simple management #The main benefits are increased speed and more simple management
for embedded applications. #for embedded applications.
#
The API is identical for the embedded MySQL version and the #The API is identical for the embedded MySQL version and the
client/server version. #client/server version.
#
%{see_base} #%{see_base}
%prep %prep
%setup -n mysql-%{mysql_version} %setup -n mysql-%{mysql_version}
...@@ -712,14 +712,18 @@ fi ...@@ -712,14 +712,18 @@ fi
%attr(755, root, root) %{_sbindir}/mysqld-max %attr(755, root, root) %{_sbindir}/mysqld-max
%attr(644, root, root) %{_libdir}/mysql/mysqld-max.sym %attr(644, root, root) %{_libdir}/mysql/mysqld-max.sym
%files embedded #%files embedded
%defattr(-, root, root, 0755) #%defattr(-, root, root, 0755)
# %attr(644, root, root) %{_libdir}/mysql/libmysqld.a # %attr(644, root, root) %{_libdir}/mysql/libmysqld.a
# The spec file changelog only includes changes made to the spec file # The spec file changelog only includes changes made to the spec file
# itself - note that they must be ordered by date (important when # itself - note that they must be ordered by date (important when
# merging BK trees) # merging BK trees)
%changelog %changelog
* Fri Mar 03 2006 Kent Boortz <kent@mysql.com>
- Don't output an embedded package as it is empty
* Fri Jan 10 2006 Joerg Bruehe <joerg@mysql.com> * Fri Jan 10 2006 Joerg Bruehe <joerg@mysql.com>
- Use "-i" on "make test-force"; - Use "-i" on "make test-force";
......
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