Commit 92b43819 authored by andrey@lmy004's avatar andrey@lmy004

Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into lmy004.:/work/mysql-5.1-bug14356
parents 05684f1f 8276474a
...@@ -48,7 +48,7 @@ ADD_LIBRARY(mysqlclient ../mysys/array.c ../strings/bchange.c ../strings/bmove.c ...@@ -48,7 +48,7 @@ ADD_LIBRARY(mysqlclient ../mysys/array.c ../strings/bchange.c ../strings/bmove.c
../mysys/thr_mutex.c ../mysys/typelib.c ../vio/vio.c ../vio/viosocket.c ../mysys/thr_mutex.c ../mysys/typelib.c ../vio/vio.c ../vio/viosocket.c
../vio/viossl.c ../vio/viosslfactories.c ../strings/xml.c) ../vio/viossl.c ../vio/viosslfactories.c ../strings/xml.c)
ADD_DEPENDENCIES(mysqlclient GenError) ADD_DEPENDENCIES(mysqlclient comp_err)
ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc) ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc)
LINK_DIRECTORIES(${MYSQL_BINARY_DIR}/mysys ${MYSQL_BINARY_DIR}/zlib) LINK_DIRECTORIES(${MYSQL_BINARY_DIR}/mysys ${MYSQL_BINARY_DIR}/zlib)
TARGET_LINK_LIBRARIES(mysql mysqlclient mysys yassl zlib dbug yassl taocrypt wsock32) TARGET_LINK_LIBRARIES(mysql mysqlclient mysys yassl zlib dbug yassl taocrypt wsock32)
......
...@@ -8,16 +8,16 @@ TARGET_LINK_LIBRARIES(comp_err dbug mysys strings wsock32) ...@@ -8,16 +8,16 @@ TARGET_LINK_LIBRARIES(comp_err dbug mysys strings wsock32)
GET_TARGET_PROPERTY(COMP_ERR_EXE comp_err LOCATION) GET_TARGET_PROPERTY(COMP_ERR_EXE comp_err LOCATION)
ADD_CUSTOM_TARGET(GenError ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/include/mysqld_error.h
${COMP_ERR_EXE} --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets COMMAND ${COMP_ERR_EXE}
--out-dir=${PROJECT_SOURCE_DIR}/sql/share/ --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets
--header_file=${PROJECT_SOURCE_DIR}/include/mysqld_error.h --out-dir=${PROJECT_SOURCE_DIR}/sql/share/
--name_file=${PROJECT_SOURCE_DIR}/include/mysqld_ername.h --header_file=${PROJECT_SOURCE_DIR}/include/mysqld_error.h
--state_file=${PROJECT_SOURCE_DIR}/include/sql_state.h --name_file=${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
--in_file=${PROJECT_SOURCE_DIR}/sql/share/errmsg.txt --state_file=${PROJECT_SOURCE_DIR}/include/sql_state.h
DEPENDS comp_err ${PROJECT_SOURCE_DIR}/sql/share/errmsg.txt) --in_file=${PROJECT_SOURCE_DIR}/sql/share/errmsg.txt
MAIN_DEPENDENCY comp_err
DEPENDS ${PROJECT_SOURCE_DIR}/sql/share/errmsg.txt)
ADD_EXECUTABLE(my_print_defaults my_print_defaults.c) ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
TARGET_LINK_LIBRARIES(my_print_defaults strings mysys dbug taocrypt odbc32 odbccp32 wsock32) TARGET_LINK_LIBRARIES(my_print_defaults strings mysys dbug taocrypt odbc32 odbccp32 wsock32)
......
...@@ -429,8 +429,8 @@ inline double ulonglong2double(ulonglong value) ...@@ -429,8 +429,8 @@ inline double ulonglong2double(ulonglong value)
#define HAVE_RTREE_KEYS 1 #define HAVE_RTREE_KEYS 1
#define HAVE_ROW_BASED_REPLICATION 1 #define HAVE_ROW_BASED_REPLICATION 1
/* #undef HAVE_OPENSSL */ #define HAVE_OPENSSL 1
/* #undef HAVE_YASSL */ #define HAVE_YASSL 1
/* Define charsets you want */ /* Define charsets you want */
/* #undef HAVE_CHARSET_armscii8 */ /* #undef HAVE_CHARSET_armscii8 */
......
...@@ -45,7 +45,7 @@ ADD_LIBRARY(libmysql MODULE dll.c libmysql.def ...@@ -45,7 +45,7 @@ ADD_LIBRARY(libmysql MODULE dll.c libmysql.def
../strings/strtoll.c ../strings/strtoull.c ../strings/strxmov.c ../strings/strxnmov.c ../strings/strtoll.c ../strings/strtoull.c ../strings/strxmov.c ../strings/strxnmov.c
../mysys/thr_mutex.c ../mysys/typelib.c ../vio/vio.c ../vio/viosocket.c ../mysys/thr_mutex.c ../mysys/typelib.c ../vio/vio.c ../vio/viosocket.c
../vio/viossl.c ../vio/viosslfactories.c ../strings/xml.c) ../vio/viossl.c ../vio/viosslfactories.c ../strings/xml.c)
ADD_DEPENDENCIES(libmysql dbug vio mysys strings GenError zlib) ADD_DEPENDENCIES(libmysql dbug vio mysys strings comp_err zlib)
TARGET_LINK_LIBRARIES(libmysql mysys strings wsock32) TARGET_LINK_LIBRARIES(libmysql mysys strings wsock32)
# ToDo: We should move the mytest.c program out in libmysql/ # ToDo: We should move the mytest.c program out in libmysql/
......
...@@ -3156,3 +3156,10 @@ id select_type table type possible_keys key key_len ref rows Extra ...@@ -3156,3 +3156,10 @@ id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where 1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where
2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 9 Using filesort 2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 9 Using filesort
DROP TABLE t1; DROP TABLE t1;
create table t1( f1 int,f2 int);
insert into t1 values (1,1),(2,2);
select tt.t from (select 'crash1' as t, f2 from t1) as tt left join t1 on tt.t = 'crash2' and tt.f2 = t1.f2 where tt.t = 'crash1';
t
crash1
crash1
drop table t1;
...@@ -2067,3 +2067,10 @@ SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a); ...@@ -2067,3 +2067,10 @@ SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
DROP TABLE t1; DROP TABLE t1;
#
# Bug#17366: Unchecked Item_int results in server crash
#
create table t1( f1 int,f2 int);
insert into t1 values (1,1),(2,2);
select tt.t from (select 'crash1' as t, f2 from t1) as tt left join t1 on tt.t = 'crash2' and tt.f2 = t1.f2 where tt.t = 'crash1';
drop table t1;
...@@ -12,5 +12,5 @@ ADD_EXECUTABLE(mysqlmanager buffer.cc command.cc commands.cc guardian.cc instanc ...@@ -12,5 +12,5 @@ ADD_EXECUTABLE(mysqlmanager buffer.cc command.cc commands.cc guardian.cc instanc
../../sql/sql_state.c ../../sql-common/client.c ../../libmysql/get_password.c ../../sql/sql_state.c ../../sql-common/client.c ../../libmysql/get_password.c
../../libmysql/errmsg.c) ../../libmysql/errmsg.c)
ADD_DEPENDENCIES(mysqlmanager GenError) ADD_DEPENDENCIES(mysqlmanager comp_err)
TARGET_LINK_LIBRARIES(mysqlmanager dbug mysys strings taocrypt vio yassl zlib wsock32) TARGET_LINK_LIBRARIES(mysqlmanager dbug mysys strings taocrypt vio yassl zlib wsock32)
...@@ -50,7 +50,7 @@ ADD_EXECUTABLE(mysqld ../sql-common/client.c derror.cc des_key_file.cc discover. ...@@ -50,7 +50,7 @@ ADD_EXECUTABLE(mysqld ../sql-common/client.c derror.cc des_key_file.cc discover.
${PROJECT_SOURCE_DIR}/sql/handlerton.cc ${PROJECT_SOURCE_DIR}/sql/handlerton.cc
${PROJECT_SOURCE_DIR}/sql/lex_hash.h) ${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
TARGET_LINK_LIBRARIES(mysqld heap myisam myisammrg innobase mysys yassl zlib dbug yassl taocrypt strings vio regex wsock32) TARGET_LINK_LIBRARIES(mysqld heap myisam myisammrg innobase mysys yassl zlib dbug yassl taocrypt strings vio regex wsock32)
ADD_DEPENDENCIES(mysqld GenError) ADD_DEPENDENCIES(mysqld comp_err)
# Sql Parser custom command # Sql Parser custom command
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
......
...@@ -7114,7 +7114,10 @@ static Item *eliminate_item_equal(COND *cond, COND_EQUAL *upper_levels, ...@@ -7114,7 +7114,10 @@ static Item *eliminate_item_equal(COND *cond, COND_EQUAL *upper_levels,
if (!cond) if (!cond)
cond= new Item_cond_and(eq_list); cond= new Item_cond_and(eq_list);
else else
{
DBUG_ASSERT(cond->type() == Item::COND_ITEM);
((Item_cond *) cond)->add_at_head(&eq_list); ((Item_cond *) cond)->add_at_head(&eq_list);
}
cond->quick_fix_field(); cond->quick_fix_field();
cond->update_used_tables(); cond->update_used_tables();
...@@ -7199,6 +7202,11 @@ static COND* substitute_for_best_equal_field(COND *cond, ...@@ -7199,6 +7202,11 @@ static COND* substitute_for_best_equal_field(COND *cond,
while ((item_equal= it++)) while ((item_equal= it++))
{ {
cond= eliminate_item_equal(cond, cond_equal->upper_levels, item_equal); cond= eliminate_item_equal(cond, cond_equal->upper_levels, item_equal);
// This occurs when eliminate_item_equal() founds that cond is
// always false and substitues it with Item_int 0.
// Due to this, value of item_equal will be 0, so just return it.
if (cond->type() != Item::COND_ITEM)
break;
} }
} }
} }
......
...@@ -60,16 +60,11 @@ click the build solution menu option. ...@@ -60,16 +60,11 @@ click the build solution menu option.
Current issues Current issues
-------------- --------------
1. Dependencies are not handled correctly with the current scripts. What 1. Not all configurations are currently available. i.e. Classic, Pro, Max.
this means is that a new error file may not be generated when the errmsg.txt
file changes. In this case, simply force the GenError target to build. This
should execute comp_err to generate the required files.
2. Not all configurations are currently available. i.e. Classic, Pro, Max.
Currently, only debug and release are available. This will change in the near Currently, only debug and release are available. This will change in the near
future. future.
3. The definitions set for features (partitioning, blackhole, etc) are not 2. The definitions set for features (partitioning, blackhole, etc) are not
changed based on the options given with configure. This will soon be fixed changed based on the options given with configure. This will soon be fixed
as well. as well.
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