diff --git a/mysql-test/r/type_date.result b/mysql-test/r/type_date.result index d33a52c0a71..23de0607838 100644 --- a/mysql-test/r/type_date.result +++ b/mysql-test/r/type_date.result @@ -21,6 +21,12 @@ name cdate note name1 1998-01-01 note01 name2 1998-01-01 note01 drop table t1,t2; +CREATE TABLE t1(a INT); +INSERT INTO t1 VALUES(1); +SELECT * FROM t1 WHERE LAST_DAY('0000-00-00 00:00:00') IS NULL; +a +1 +DROP TABLE t1; CREATE TABLE t1 ( datum DATE ); INSERT INTO t1 VALUES ( "2000-1-1" ); INSERT INTO t1 VALUES ( "2000-1-2" ); diff --git a/mysql-test/t/type_date.test b/mysql-test/t/type_date.test index a2639e81aa9..76da6402154 100644 --- a/mysql-test/t/type_date.test +++ b/mysql-test/t/type_date.test @@ -26,6 +26,13 @@ INSERT INTO t2 VALUES ('1998-01-02','note02'); select name,t1.cdate,note from t1,t2 where t1.cdate=t2.cdate and t1.cdate='1998-01-01'; drop table t1,t2; +# MariaDB lp:993103. WHERE LAST_DAY(zero_date) IS NULL does not evaluate to TRUE. + +CREATE TABLE t1(a INT); +INSERT INTO t1 VALUES(1); +SELECT * FROM t1 WHERE LAST_DAY('0000-00-00 00:00:00') IS NULL; +DROP TABLE t1; + # # Date and BETWEEN # diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 4acd5804285..81e9bc8c46f 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -7655,14 +7655,16 @@ static ulong parse_client_handshake_packet(MPVIO_EXT *mpvio, return packet_error; } - if (thd->client_capabilities & CLIENT_PLUGIN_AUTH) + if ((thd->client_capabilities & CLIENT_PLUGIN_AUTH) && + (client_plugin < (char *)net->read_pos + pkt_len)) { - if (client_plugin >= (char *)net->read_pos + pkt_len) - return packet_error; client_plugin= fix_plugin_ptr(client_plugin); } else { + /* Some clients lie. Sad, but true */ + thd->client_capabilities &= ~CLIENT_PLUGIN_AUTH; + if (thd->client_capabilities & CLIENT_SECURE_CONNECTION) client_plugin= native_password_plugin_name.str; else diff --git a/win/packaging/CMakeLists.txt b/win/packaging/CMakeLists.txt index 795732e946b..0b5e2f98f16 100644 --- a/win/packaging/CMakeLists.txt +++ b/win/packaging/CMakeLists.txt @@ -24,6 +24,7 @@ FIND_PATH(WIX_DIR heat.exe "$ENV{ProgramFiles}/Windows Installer XML v3/bin" "$ENV{ProgramFiles}/Windows Installer XML v3.5/bin" "$ENV{ProgramFiles}/Windows Installer XML v3.6/bin" + "$ENV{WIX}/bin" ) SET(CPACK_WIX_PACKAGE_BASE_NAME "MariaDB") diff --git a/win/packaging/ca/CMakeLists.txt b/win/packaging/ca/CMakeLists.txt index 7dd30123587..940e9e3a7d1 100644 --- a/win/packaging/ca/CMakeLists.txt +++ b/win/packaging/ca/CMakeLists.txt @@ -22,28 +22,40 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/sql) IF(CMAKE_SIZEOF_VOID_P EQUAL 8) SET(WIX_ARCH_SUFFIX "_x64") + SET(WIX36_ARCH_SUFFIX "x64") ELSE() SET(WIX_ARCH_SUFFIX) + SET(WIX36_ARCH_SUFFIX "x86") ENDIF() IF(MSVC_VERSION EQUAL 1400) SET(WIX35_MSVC_SUFFIX "_2005") ELSEIF(MSVC_VERSION EQUAL 1500) SET(WIX35_MSVC_SUFFIX "_2008") + SET(WIX36_MSVC_SUFFIX "VS2008") ELSEIF(MSVC_VERSION EQUAL 1600) SET(WIX35_MSVC_SUFFIX "_2010") + SET(WIX36_MSVC_SUFFIX "VS2010") ELSE() # When next VS is out, add the correct version here MESSAGE(FATAL_ERROR "Unknown VS version") ENDIF() +INCLUDE_DIRECTORIES(${WIX_DIR}/../SDK/${WIX36_MSVC_SUFFIX}/inc) FIND_LIBRARY(WIX_WCAUTIL_LIBRARY NAMES wcautil${WIX_ARCH_SUFFIX} wcautil${WIX35_MSVC_SUFFIX}${WIX_ARCH_SUFFIX} - HINTS ${WIX_DIR}/../SDK/lib) + wcautil + PATHS + ${WIX_DIR}/../SDK/lib + ${WIX_DIR}/../SDK/${WIX36_MSVC_SUFFIX}/lib/${WIX36_ARCH_SUFFIX}) FIND_LIBRARY(WIX_DUTIL_LIBRARY NAMES dutil${WIX_ARCH_SUFFIX} dutil${WIX35_MSVC_SUFFIX}${WIX_ARCH_SUFFIX} - PATHS ${WIX_DIR}/../SDK/lib) + dutil + PATHS + ${WIX_DIR}/../SDK/lib + ${WIX_DIR}/../SDK/${WIX36_MSVC_SUFFIX}/lib/${WIX36_ARCH_SUFFIX} + ) ADD_VERSION_INFO(wixca SHARED WIXCA_SOURCES) ADD_LIBRARY(wixca SHARED EXCLUDE_FROM_ALL ${WIXCA_SOURCES})