summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <andrey@lmy004.>2006-03-16 14:38:20 +0100
committerunknown <andrey@lmy004.>2006-03-16 14:38:20 +0100
commit27978ba2aa5070e9bf5a6bfd10585b430d9f05cb (patch)
treee982f6aa65f143e371c6d486f3a4ae715bad3b42
parentdc546f52b5c01a9fd2fa4c9185d02d1ed265be8d (diff)
parent816bd99b272054b804c36ead7b348b23a42be164 (diff)
downloadmariadb-git-27978ba2aa5070e9bf5a6bfd10585b430d9f05cb.tar.gz
Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug14356
-rw-r--r--client/cmakelists.txt2
-rw-r--r--extra/cmakelists.txt20
-rw-r--r--include/config-win.h4
-rw-r--r--libmysql/cmakelists.txt2
-rw-r--r--mysql-test/r/subselect.result7
-rw-r--r--mysql-test/t/subselect.test7
-rw-r--r--server-tools/instance-manager/cmakelists.txt2
-rw-r--r--sql/cmakelists.txt2
-rw-r--r--sql/sql_select.cc8
-rw-r--r--win/README9
10 files changed, 40 insertions, 23 deletions
diff --git a/client/cmakelists.txt b/client/cmakelists.txt
index 5da9189b0ae..9c9e56d9b43 100644
--- a/client/cmakelists.txt
+++ b/client/cmakelists.txt
@@ -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
../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)
LINK_DIRECTORIES(${MYSQL_BINARY_DIR}/mysys ${MYSQL_BINARY_DIR}/zlib)
TARGET_LINK_LIBRARIES(mysql mysqlclient mysys yassl zlib dbug yassl taocrypt wsock32)
diff --git a/extra/cmakelists.txt b/extra/cmakelists.txt
index d31779fca63..0f7005da079 100644
--- a/extra/cmakelists.txt
+++ b/extra/cmakelists.txt
@@ -8,16 +8,16 @@ TARGET_LINK_LIBRARIES(comp_err dbug mysys strings wsock32)
GET_TARGET_PROPERTY(COMP_ERR_EXE comp_err LOCATION)
-ADD_CUSTOM_TARGET(GenError
- ${COMP_ERR_EXE} --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets
- --out-dir=${PROJECT_SOURCE_DIR}/sql/share/
- --header_file=${PROJECT_SOURCE_DIR}/include/mysqld_error.h
- --name_file=${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
- --state_file=${PROJECT_SOURCE_DIR}/include/sql_state.h
- --in_file=${PROJECT_SOURCE_DIR}/sql/share/errmsg.txt
- DEPENDS comp_err ${PROJECT_SOURCE_DIR}/sql/share/errmsg.txt)
-
-
+ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/include/mysqld_error.h
+ COMMAND ${COMP_ERR_EXE}
+ --charset=${PROJECT_SOURCE_DIR}/sql/share/charsets
+ --out-dir=${PROJECT_SOURCE_DIR}/sql/share/
+ --header_file=${PROJECT_SOURCE_DIR}/include/mysqld_error.h
+ --name_file=${PROJECT_SOURCE_DIR}/include/mysqld_ername.h
+ --state_file=${PROJECT_SOURCE_DIR}/include/sql_state.h
+ --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)
TARGET_LINK_LIBRARIES(my_print_defaults strings mysys dbug taocrypt odbc32 odbccp32 wsock32)
diff --git a/include/config-win.h b/include/config-win.h
index fb7aeb82e83..a7bce21b3a1 100644
--- a/include/config-win.h
+++ b/include/config-win.h
@@ -429,8 +429,8 @@ inline double ulonglong2double(ulonglong value)
#define HAVE_RTREE_KEYS 1
#define HAVE_ROW_BASED_REPLICATION 1
-/* #undef HAVE_OPENSSL */
-/* #undef HAVE_YASSL */
+#define HAVE_OPENSSL 1
+#define HAVE_YASSL 1
/* Define charsets you want */
/* #undef HAVE_CHARSET_armscii8 */
diff --git a/libmysql/cmakelists.txt b/libmysql/cmakelists.txt
index cb3453fc222..b6e10306f6d 100644
--- a/libmysql/cmakelists.txt
+++ b/libmysql/cmakelists.txt
@@ -45,7 +45,7 @@ ADD_LIBRARY(libmysql MODULE dll.c libmysql.def
../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
../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)
# ToDo: We should move the mytest.c program out in libmysql/
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result
index 7def4cdcf9d..34f5e529260 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -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
2 DEPENDENT SUBQUERY t1 index NULL a 8 NULL 9 Using filesort
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;
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test
index 733403f482e..368020dd721 100644
--- a/mysql-test/t/subselect.test
+++ b/mysql-test/t/subselect.test
@@ -2067,3 +2067,10 @@ SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a);
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;
diff --git a/server-tools/instance-manager/cmakelists.txt b/server-tools/instance-manager/cmakelists.txt
index 32f243b43d9..ff6a1077166 100644
--- a/server-tools/instance-manager/cmakelists.txt
+++ b/server-tools/instance-manager/cmakelists.txt
@@ -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
../../libmysql/errmsg.c)
-ADD_DEPENDENCIES(mysqlmanager GenError)
+ADD_DEPENDENCIES(mysqlmanager comp_err)
TARGET_LINK_LIBRARIES(mysqlmanager dbug mysys strings taocrypt vio yassl zlib wsock32)
diff --git a/sql/cmakelists.txt b/sql/cmakelists.txt
index 2099ef94996..89462a018e6 100644
--- a/sql/cmakelists.txt
+++ b/sql/cmakelists.txt
@@ -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/lex_hash.h)
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
ADD_CUSTOM_COMMAND(
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 7695001cd67..59c7436d85c 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -7114,7 +7114,10 @@ static Item *eliminate_item_equal(COND *cond, COND_EQUAL *upper_levels,
if (!cond)
cond= new Item_cond_and(eq_list);
else
+ {
+ DBUG_ASSERT(cond->type() == Item::COND_ITEM);
((Item_cond *) cond)->add_at_head(&eq_list);
+ }
cond->quick_fix_field();
cond->update_used_tables();
@@ -7199,6 +7202,11 @@ static COND* substitute_for_best_equal_field(COND *cond,
while ((item_equal= it++))
{
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;
}
}
}
diff --git a/win/README b/win/README
index c8eed8e93fe..27c7e5c5762 100644
--- a/win/README
+++ b/win/README
@@ -60,16 +60,11 @@ click the build solution menu option.
Current issues
--------------
-1. Dependencies are not handled correctly with the current scripts. What
-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.
+1. Not all configurations are currently available. i.e. Classic, Pro, Max.
Currently, only debug and release are available. This will change in the near
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
as well.