mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
b00c536378
BitKeeper/etc/ignore: Added mysql-test/linux_sys_vars.inc mysql-test/load_sysvars.inc mysql-test/windows_sys_vars.inc to the ignore list
66 lines
2.2 KiB
Text
66 lines
2.2 KiB
Text
SET @session_updatable_views_with_limit = @@Session.UPDATABLE_VIEWS_WITH_LIMIT;
|
|
DROP TABLE IF EXISTS t1;
|
|
CREATE TABLE t1 (a INT, b INT, c INT, PRIMARY KEY(a,b));
|
|
INSERT INTO t1 VALUES (10,2,-1), (20,3,-2),
|
|
(30,4,-3), (40,5,-4);
|
|
CREATE VIEW v1 (x,y) AS SELECT a, c FROM t1;
|
|
** Connecting test_con1 using username 'root' **
|
|
** Connection test_con1 **
|
|
SET @@Session.UPDATABLE_VIEWS_WITH_LIMIT=YES;
|
|
Warning expected, 'View does not contain complete key of the table'
|
|
UPDATE v1 SET x=x+6 LIMIT 1;
|
|
Warnings:
|
|
Note 1355 View being updated does not have complete key of underlying table in it
|
|
SELECT * FROM t1;
|
|
a b c
|
|
16 2 -1
|
|
20 3 -2
|
|
30 4 -3
|
|
40 5 -4
|
|
UPDATE v1 SET x=x+5;
|
|
SELECT * FROM t1;
|
|
a b c
|
|
21 2 -1
|
|
25 3 -2
|
|
35 4 -3
|
|
45 5 -4
|
|
** Connecting test_con2 using username 'root' **
|
|
** Connection test_con2 **
|
|
SET @@Session.UPDATABLE_VIEWS_WITH_LIMIT=NO;
|
|
SELECT @@SESSION.UPDATABLE_VIEWS_WITH_LIMIT;
|
|
@@SESSION.UPDATABLE_VIEWS_WITH_LIMIT
|
|
NO
|
|
UPDATE v1 SET x=x+10 LIMIT 1;
|
|
ERROR HY000: The target table v1 of the UPDATE is not updatable
|
|
Expected error 'Non updatable table'
|
|
SELECT * FROM t1;
|
|
a b c
|
|
21 2 -1
|
|
25 3 -2
|
|
35 4 -3
|
|
45 5 -4
|
|
'#---------------------FN_DYNVARS_039_01----------------------#'
|
|
SET UPDATABLE_VIEWS_WITH_LIMIT=NO;
|
|
UPDATE v1 SET x=x+1 LIMIT 1;
|
|
ERROR HY000: The target table v1 of the UPDATE is not updatable
|
|
Expected error 'Non updatable table'
|
|
SET UPDATABLE_VIEWS_WITH_LIMIT=0;
|
|
UPDATE v1 SET x=x+1 LIMIT 1;
|
|
ERROR HY000: The target table v1 of the UPDATE is not updatable
|
|
Expected error 'Non updatable table'
|
|
'#---------------------FN_DYNVARS_039_02----------------------#'
|
|
Warning expected, 'View does not contain complete key of the table'
|
|
SET UPDATABLE_VIEWS_WITH_LIMIT=DEFAULT;
|
|
UPDATE v1 SET x=x+1 LIMIT 1;
|
|
Warnings:
|
|
Note 1355 View being updated does not have complete key of underlying table in it
|
|
Warning expected, 'View does not contain complete key of the table'
|
|
SET UPDATABLE_VIEWS_WITH_LIMIT=YES;
|
|
UPDATE v1 SET x=x+2 LIMIT 1;
|
|
Warnings:
|
|
Note 1355 View being updated does not have complete key of underlying table in it
|
|
** Connection default **
|
|
** Disconnecting test_con1, test_con2 **
|
|
SET @@SESSION.updatable_views_with_limit = @session_updatable_views_with_limit;
|
|
DROP VIEW IF EXISTS v1;
|
|
DROP TABLE IF EXISTS t1;
|