mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge of mysql-trunk into mysql-trunk-merge.
Conflicts: Text conflict in client/mysqlbinlog.cc Text conflict in mysql-test/Makefile.am Text conflict in mysql-test/collections/default.daily Text conflict in mysql-test/r/mysqlbinlog_row_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_typeconv_innodb.result Text conflict in mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test Text conflict in mysql-test/suite/rpl/t/rpl_row_create_table.test Text conflict in mysql-test/suite/rpl/t/rpl_slave_skip.test Text conflict in mysql-test/suite/rpl/t/rpl_typeconv_innodb.test Text conflict in mysys/charset.c Text conflict in sql/field.cc Text conflict in sql/field.h Text conflict in sql/item.h Text conflict in sql/item_func.cc Text conflict in sql/log.cc Text conflict in sql/log_event.cc Text conflict in sql/log_event_old.cc Text conflict in sql/mysqld.cc Text conflict in sql/rpl_utility.cc Text conflict in sql/rpl_utility.h Text conflict in sql/set_var.cc Text conflict in sql/share/Makefile.am Text conflict in sql/sql_delete.cc Text conflict in sql/sql_plugin.cc Text conflict in sql/sql_select.cc Text conflict in sql/sql_table.cc Text conflict in storage/example/ha_example.h Text conflict in storage/federated/ha_federated.cc Text conflict in storage/myisammrg/ha_myisammrg.cc Text conflict in storage/myisammrg/myrg_open.c
This commit is contained in:
@ -839,7 +839,7 @@ ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function
|
||||
show table status;
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 0 0 0 # 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
v1 NULL NULL NULL NULL NULL NULL # NULL NULL NULL # # NULL NULL NULL NULL View 'test.v1' references invalid table(s) or column(s) or function(s) or define
|
||||
v1 NULL NULL NULL NULL NULL NULL # NULL NULL NULL # # NULL NULL NULL NULL View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create view v1 as select 99999999999999999999999999999999999999999999999999999 as col1;
|
||||
@ -1102,6 +1102,7 @@ select * from v1;
|
||||
a
|
||||
select * from t2;
|
||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||
unlock tables;
|
||||
drop view v1;
|
||||
drop table t1, t2;
|
||||
create table t1 (a int);
|
||||
@ -1954,15 +1955,15 @@ CHECK TABLE v1, v2, v3, v4, v5, v6;
|
||||
Table Op Msg_type Msg_text
|
||||
test.v1 check Error FUNCTION test.f1 does not exist
|
||||
test.v1 check Error View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
test.v1 check error Corrupt
|
||||
test.v1 check status Operation failed
|
||||
test.v2 check status OK
|
||||
test.v3 check Error FUNCTION test.f1 does not exist
|
||||
test.v3 check Error View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
test.v3 check error Corrupt
|
||||
test.v3 check status Operation failed
|
||||
test.v4 check status OK
|
||||
test.v5 check Error FUNCTION test.f1 does not exist
|
||||
test.v5 check Error View 'test.v5' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
|
||||
test.v5 check error Corrupt
|
||||
test.v5 check status Operation failed
|
||||
test.v6 check status OK
|
||||
create function f1 () returns int return (select max(col1) from t1);
|
||||
DROP TABLE t1;
|
||||
@ -2085,7 +2086,7 @@ CREATE TABLE t1 ( bug_table_seq INTEGER NOT NULL);
|
||||
CREATE OR REPLACE VIEW v1 AS SELECT * from t1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
Warnings:
|
||||
Note 1305 PROCEDURE p1 does not exist
|
||||
Note 1305 PROCEDURE test.p1 does not exist
|
||||
CREATE PROCEDURE p1 ( )
|
||||
BEGIN
|
||||
DO (SELECT @next := IFNULL(max(bug_table_seq),0) + 1 FROM v1);
|
||||
@ -2587,7 +2588,7 @@ CREATE VIEW v1 AS SELECT SQRT(a) my_sqrt FROM t1;
|
||||
SELECT my_sqrt FROM v1 ORDER BY my_sqrt;
|
||||
my_sqrt
|
||||
1
|
||||
1.4142135623731
|
||||
1.4142135623730951
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (id int PRIMARY KEY);
|
||||
@ -3684,7 +3685,7 @@ c1 c2
|
||||
2 2
|
||||
CREATE VIEW v1 AS SELECT c1, c2 FROM t1;
|
||||
SHOW INDEX FROM v1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
SELECT * FROM v1 USE INDEX (PRIMARY) WHERE c1=2;
|
||||
ERROR 42000: Key 'PRIMARY' doesn't exist in table 'v1'
|
||||
SELECT * FROM v1 FORCE INDEX (PRIMARY) WHERE c1=2;
|
||||
@ -3988,3 +3989,81 @@ DROP TABLE t1;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.1 tests.
|
||||
# -----------------------------------------------------------------
|
||||
drop table if exists t_9801;
|
||||
drop view if exists v_9801;
|
||||
create table t_9801 (s1 int);
|
||||
create view v_9801 as
|
||||
select sum(s1) from t_9801 with check option;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_9801'
|
||||
create view v_9801 as
|
||||
select sum(s1) from t_9801 group by s1 with check option;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_9801'
|
||||
create view v_9801 as
|
||||
select sum(s1) from t_9801 group by s1 with rollup with check option;
|
||||
ERROR HY000: CHECK OPTION on non-updatable view 'test.v_9801'
|
||||
drop table t_9801;
|
||||
#
|
||||
# Bug #47335 assert in get_table_share
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP VIEW IF EXISTS v1;
|
||||
CREATE TEMPORARY TABLE t1 (id INT);
|
||||
ALTER VIEW t1 AS SELECT 1 AS f1;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
DROP TABLE t1;
|
||||
CREATE VIEW v1 AS SELECT 1 AS f1;
|
||||
CREATE TEMPORARY TABLE v1 (id INT);
|
||||
ALTER VIEW v1 AS SELECT 2 AS f1;
|
||||
DROP TABLE v1;
|
||||
SELECT * FROM v1;
|
||||
f1
|
||||
2
|
||||
DROP VIEW v1;
|
||||
#
|
||||
# Bug #47635 assert in start_waiting_global_read_lock
|
||||
# during CREATE VIEW
|
||||
#
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
DROP VIEW IF EXISTS t2;
|
||||
CREATE TABLE t1 (f1 integer);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS t1 (f1 integer);
|
||||
CREATE TEMPORARY TABLE t2 (f1 integer);
|
||||
DROP TABLE t1;
|
||||
FLUSH TABLES WITH READ LOCK;
|
||||
CREATE VIEW t2 AS SELECT * FROM t1;
|
||||
ERROR HY000: Can't execute the query because you have a conflicting read lock
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug#48315 Metadata lock is not taken for merged views that
|
||||
# use an INFORMATION_SCHEMA table
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP VIEW IF EXISTS v1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
# Connection default
|
||||
CREATE VIEW v1 AS SELECT schema_name FROM information_schema.schemata;
|
||||
CREATE TABLE t1 (str VARCHAR(50));
|
||||
CREATE PROCEDURE p1() INSERT INTO t1 SELECT * FROM v1;
|
||||
# CALL p1() so the view is merged.
|
||||
CALL p1();
|
||||
# Connection 3
|
||||
LOCK TABLE t1 READ;
|
||||
# Connection default
|
||||
# Try to CALL p1() again, this time it should block for t1.
|
||||
# Sending:
|
||||
CALL p1();
|
||||
# Connection 2
|
||||
# ... then try to drop the view. This should block.
|
||||
# Sending:
|
||||
DROP VIEW v1;
|
||||
# Connection 3
|
||||
# Now allow CALL p1() to complete
|
||||
UNLOCK TABLES;
|
||||
# Connection default
|
||||
# Reaping: CALL p1()
|
||||
# Connection 2
|
||||
# Reaping: DROP VIEW v1
|
||||
# Connection default
|
||||
DROP PROCEDURE p1;
|
||||
DROP TABLE t1;
|
||||
|
Reference in New Issue
Block a user