mirror of
https://github.com/MariaDB/server.git
synced 2025-11-12 10:22:39 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/dlenev/mysql-5.1-merges configure.in: Auto merged
This commit is contained in:
@@ -1748,3 +1748,10 @@ vio/viotest-sslconnect.cpp
|
|||||||
vio/viotest.cpp
|
vio/viotest.cpp
|
||||||
zlib/*.ds?
|
zlib/*.ds?
|
||||||
zlib/*.vcproj
|
zlib/*.vcproj
|
||||||
|
mysql-test/r/backup.log
|
||||||
|
mysql-test/r/events.log
|
||||||
|
mysql-test/r/events_bugs.log
|
||||||
|
mysql-test/r/events_logs_tests.log
|
||||||
|
mysql-test/r/mysqltest.log
|
||||||
|
mysql-test/r/symlink.log
|
||||||
|
mysql-test/r/system_mysql_db.log
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc)
|
|||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
# The Docs Makefile.am parses this line!
|
# The Docs Makefile.am parses this line!
|
||||||
# remember to also change ndb version below and update version.c in ndb
|
# remember to also change ndb version below and update version.c in ndb
|
||||||
AM_INIT_AUTOMAKE(mysql, 5.1.8-beta)
|
AM_INIT_AUTOMAKE(mysql, 5.1.9-beta)
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
PROTOCOL_VERSION=10
|
PROTOCOL_VERSION=10
|
||||||
|
|||||||
@@ -579,7 +579,7 @@ DROP PROCEDURE create_log_tables;
|
|||||||
|
|
||||||
CREATE TABLE event (
|
CREATE TABLE event (
|
||||||
db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
|
db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
|
||||||
name char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
|
name char(64) CHARACTER SET utf8 NOT NULL default '',
|
||||||
body longblob NOT NULL,
|
body longblob NOT NULL,
|
||||||
definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
|
definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
|
||||||
execute_at DATETIME default NULL,
|
execute_at DATETIME default NULL,
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ SHOW CREATE TABLE mysql.event;
|
|||||||
Table Create Table
|
Table Create Table
|
||||||
event CREATE TABLE `event` (
|
event CREATE TABLE `event` (
|
||||||
`db` char(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
`db` char(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||||
`name` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
`name` char(64) NOT NULL DEFAULT '',
|
||||||
`body` longblob NOT NULL,
|
`body` longblob NOT NULL,
|
||||||
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||||
`execute_at` datetime DEFAULT NULL,
|
`execute_at` datetime DEFAULT NULL,
|
||||||
|
|||||||
@@ -1,5 +1,20 @@
|
|||||||
create database if not exists events_test;
|
create database if not exists events_test;
|
||||||
use events_test;
|
use events_test;
|
||||||
|
CREATE EVENT lower_case ON SCHEDULE EVERY 1 MINUTE DO SELECT 1;
|
||||||
|
CREATE EVENT Lower_case ON SCHEDULE EVERY 2 MINUTE DO SELECT 2;
|
||||||
|
ERROR HY000: Event 'Lower_case' already exists
|
||||||
|
DROP EVENT Lower_case;
|
||||||
|
SET NAMES cp1251;
|
||||||
|
CREATE EVENT äîëåí_ðåãèñòúð_1251 ON SCHEDULE EVERY 1 YEAR DO SELECT 100;
|
||||||
|
CREATE EVENT ÄîËåÍ_ðåãèñòúð_1251 ON SCHEDULE EVERY 2 YEAR DO SELECT 200;
|
||||||
|
ERROR HY000: Event 'ДоЛеН_регистър_1251' already exists
|
||||||
|
DROP EVENT ÄîËåÍ_ðåãèñòúð_1251;
|
||||||
|
SET NAMES utf8;
|
||||||
|
CREATE EVENT долен_регистър_утф8 ON SCHEDULE EVERY 3 YEAR DO SELECT 300;
|
||||||
|
CREATE EVENT ДОЛЕН_регистър_утф8 ON SCHEDULE EVERY 4 YEAR DO SELECT 400;
|
||||||
|
ERROR HY000: Event 'ДОЛЕН_регистър_утф8' already exists
|
||||||
|
DROP EVENT ДОЛЕН_регистър_утф8;
|
||||||
|
SET NAMES latin1;
|
||||||
set @a=3;
|
set @a=3;
|
||||||
CREATE PROCEDURE p_16 () CREATE EVENT e_16 ON SCHEDULE EVERY @a SECOND DO SET @a=5;
|
CREATE PROCEDURE p_16 () CREATE EVENT e_16 ON SCHEDULE EVERY @a SECOND DO SET @a=5;
|
||||||
call p_16();
|
call p_16();
|
||||||
|
|||||||
@@ -1135,3 +1135,22 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 4 Using where
|
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 4 Using where
|
||||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
|
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
|
||||||
|
INDEX (name)) ENGINE=InnoDB;
|
||||||
|
CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
|
||||||
|
FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
|
||||||
|
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
|
||||||
|
EXPLAIN
|
||||||
|
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
|
||||||
|
WHERE t1.name LIKE 'A%';
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
|
||||||
|
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
|
||||||
|
EXPLAIN
|
||||||
|
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
|
||||||
|
WHERE t1.name LIKE 'A%' OR FALSE;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
|
||||||
|
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
|
||||||
|
DROP TABLE t1,t2;
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ show create table event;
|
|||||||
Table Create Table
|
Table Create Table
|
||||||
event CREATE TABLE `event` (
|
event CREATE TABLE `event` (
|
||||||
`db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
`db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||||
`name` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
`name` char(64) NOT NULL DEFAULT '',
|
||||||
`body` longblob NOT NULL,
|
`body` longblob NOT NULL,
|
||||||
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
`definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||||
`execute_at` datetime DEFAULT NULL,
|
`execute_at` datetime DEFAULT NULL,
|
||||||
|
|||||||
@@ -1,5 +1,28 @@
|
|||||||
create database if not exists events_test;
|
create database if not exists events_test;
|
||||||
use events_test;
|
use events_test;
|
||||||
|
|
||||||
|
#
|
||||||
|
# START - 16415: Events: event names are case sensitive
|
||||||
|
#
|
||||||
|
CREATE EVENT lower_case ON SCHEDULE EVERY 1 MINUTE DO SELECT 1;
|
||||||
|
--error ER_EVENT_ALREADY_EXISTS
|
||||||
|
CREATE EVENT Lower_case ON SCHEDULE EVERY 2 MINUTE DO SELECT 2;
|
||||||
|
DROP EVENT Lower_case;
|
||||||
|
SET NAMES cp1251;
|
||||||
|
CREATE EVENT <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_1251 ON SCHEDULE EVERY 1 YEAR DO SELECT 100;
|
||||||
|
--error ER_EVENT_ALREADY_EXISTS
|
||||||
|
CREATE EVENT <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_1251 ON SCHEDULE EVERY 2 YEAR DO SELECT 200;
|
||||||
|
DROP EVENT <20><><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_1251;
|
||||||
|
SET NAMES utf8;
|
||||||
|
CREATE EVENT долен_регистър_утф8 ON SCHEDULE EVERY 3 YEAR DO SELECT 300;
|
||||||
|
--error ER_EVENT_ALREADY_EXISTS
|
||||||
|
CREATE EVENT ДОЛЕН_регистър_утф8 ON SCHEDULE EVERY 4 YEAR DO SELECT 400;
|
||||||
|
DROP EVENT ДОЛЕН_регистър_утф8;
|
||||||
|
SET NAMES latin1;
|
||||||
|
#
|
||||||
|
# END - 16415: Events: event names are case sensitive
|
||||||
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# START - BUG#16408: Events: crash for an event in a procedure
|
# START - BUG#16408: Events: crash for an event in a procedure
|
||||||
#
|
#
|
||||||
@@ -75,7 +98,7 @@ begin
|
|||||||
select get_lock('ee_16407_2', 60);
|
select get_lock('ee_16407_2', 60);
|
||||||
insert into events_test.events_smode_test values('ee_16407_2','1980-19-02');
|
insert into events_test.events_smode_test values('ee_16407_2','1980-19-02');
|
||||||
end|
|
end|
|
||||||
--error 1292
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
insert into events_smode_test values ('test','1980-19-02')|
|
insert into events_smode_test values ('test','1980-19-02')|
|
||||||
--echo "This is ok"
|
--echo "This is ok"
|
||||||
create event ee_16407_3 on schedule every 60 second do
|
create event ee_16407_3 on schedule every 60 second do
|
||||||
|
|||||||
@@ -759,3 +759,23 @@ EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a > IF(t1.a = t2.b
|
|||||||
|
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test for bug #17164: ORed FALSE blocked conversion of outer join into join
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
|
||||||
|
INDEX (name)) ENGINE=InnoDB;
|
||||||
|
CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
|
||||||
|
FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
|
||||||
|
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
|
||||||
|
|
||||||
|
EXPLAIN
|
||||||
|
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
|
||||||
|
WHERE t1.name LIKE 'A%';
|
||||||
|
|
||||||
|
EXPLAIN
|
||||||
|
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
|
||||||
|
WHERE t1.name LIKE 'A%' OR FALSE;
|
||||||
|
|
||||||
|
DROP TABLE t1,t2;
|
||||||
|
|||||||
@@ -775,7 +775,7 @@ if test ! -f $mdata/event.frm
|
|||||||
then
|
then
|
||||||
c_ev="$c_ev CREATE TABLE event ("
|
c_ev="$c_ev CREATE TABLE event ("
|
||||||
c_ev="$c_ev db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',"
|
c_ev="$c_ev db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',"
|
||||||
c_ev="$c_ev name char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',"
|
c_ev="$c_ev name char(64) CHARACTER SET utf8 NOT NULL default '',"
|
||||||
c_ev="$c_ev body longblob NOT NULL,"
|
c_ev="$c_ev body longblob NOT NULL,"
|
||||||
c_ev="$c_ev definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',"
|
c_ev="$c_ev definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',"
|
||||||
c_ev="$c_ev execute_at DATETIME default NULL,"
|
c_ev="$c_ev execute_at DATETIME default NULL,"
|
||||||
|
|||||||
@@ -671,6 +671,7 @@ ALTER TABLE event ADD sql_mode
|
|||||||
) DEFAULT '' NOT NULL AFTER on_completion;
|
) DEFAULT '' NOT NULL AFTER on_completion;
|
||||||
|
|
||||||
UPDATE user SET Event_priv=Super_priv WHERE @hadEventPriv = 0;
|
UPDATE user SET Event_priv=Super_priv WHERE @hadEventPriv = 0;
|
||||||
|
ALTER TABLE event MODIFY name char(64) CHARACTER SET utf8 NOT NULL default '';
|
||||||
|
|
||||||
--
|
--
|
||||||
-- TRIGGER privilege
|
-- TRIGGER privilege
|
||||||
|
|||||||
@@ -2563,10 +2563,13 @@ Item_cond::fix_fields(THD *thd, Item **ref)
|
|||||||
(item= *li.ref())->check_cols(1))
|
(item= *li.ref())->check_cols(1))
|
||||||
return TRUE; /* purecov: inspected */
|
return TRUE; /* purecov: inspected */
|
||||||
used_tables_cache|= item->used_tables();
|
used_tables_cache|= item->used_tables();
|
||||||
tmp_table_map= item->not_null_tables();
|
if (!item->const_item())
|
||||||
not_null_tables_cache|= tmp_table_map;
|
{
|
||||||
and_tables_cache&= tmp_table_map;
|
tmp_table_map= item->not_null_tables();
|
||||||
const_item_cache&= item->const_item();
|
not_null_tables_cache|= tmp_table_map;
|
||||||
|
and_tables_cache&= tmp_table_map;
|
||||||
|
const_item_cache= FALSE;
|
||||||
|
}
|
||||||
with_sum_func= with_sum_func || item->with_sum_func;
|
with_sum_func= with_sum_func || item->with_sum_func;
|
||||||
if (item->maybe_null)
|
if (item->maybe_null)
|
||||||
maybe_null=1;
|
maybe_null=1;
|
||||||
|
|||||||
Reference in New Issue
Block a user