File: not_embedded.test

package info (click to toggle)
mariadb 1%3A11.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 765,428 kB
  • sloc: ansic: 2,382,827; cpp: 1,803,532; asm: 378,315; perl: 63,176; sh: 46,496; pascal: 40,776; java: 39,363; yacc: 20,428; python: 19,506; sql: 17,864; xml: 12,463; ruby: 8,544; makefile: 6,059; cs: 5,855; ada: 1,700; lex: 1,193; javascript: 1,039; objc: 80; tcl: 73; awk: 46; php: 22
file content (107 lines) | stat: -rw-r--r-- 2,681 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/have_partition.inc

--echo # 
--echo # SYSTEM_VERSIONING_ASOF sysvar
--echo #
create table t (a int) with system versioning;
set @before= UNIX_TIMESTAMP(now(6));
insert into t values (1);
set @after= UNIX_TIMESTAMP(now(6));
update t set a= 2;

set global system_versioning_asof= FROM_UNIXTIME(@after);
set system_versioning_asof= FROM_UNIXTIME(@after);
select * from t as nonempty;

--connect (subcon,127.0.0.1,root,,,$SERVER_MYPORT_1)
--connection subcon
select * from t as nonempty;
--disconnect subcon
--connection default

set global system_versioning_asof= FROM_UNIXTIME(@before);
select * from t as nonempty;

--connect (subcon,127.0.0.1,root,,,$SERVER_MYPORT_1)
--connection subcon
select * from t as empty;
--disconnect subcon
--connection default

drop table t;

set global system_versioning_asof= DEFAULT;
set system_versioning_asof= DEFAULT;

--echo #
--echo # DELETE HISTORY and privileges
--echo #

# Save the initial number of concurrent sessions
--source include/count_sessions.inc

connect (root,localhost,root,,test);
connection root;

--disable_warnings
create database mysqltest;
--enable_warnings

create user mysqltest_1@localhost;
connect (user1,localhost,mysqltest_1,,"*NO-ONE*");
connection user1;

connection root;
create table mysqltest.t (a int) with system versioning;

connection user1;
show grants;
--error ER_TABLEACCESS_DENIED_ERROR
delete history from mysqltest.t before system_time now();

connection root;
grant delete history on mysqltest.* to mysqltest_1@localhost;
grant delete history on mysqltest.t to mysqltest_1@localhost;

connection user1;
show grants;
delete history from mysqltest.t before system_time now();

connection root;
grant all on *.* to mysqltest_1@localhost;
show grants for mysqltest_1@localhost;

drop user mysqltest_1@localhost;
drop database mysqltest;
--disconnect user1
--disconnect root
--connection default

--echo #
--echo # MDEV-25559 Auto-create: infinite loop after interrupted lock wait
--echo #

set timestamp= unix_timestamp('2000-01-01 00:00:00');
create table t (pk int primary key, a int) engine innodb with system versioning
partition by system_time interval 1 hour auto;
insert into t values (1, 0);
begin;
update t set a= a + 1;
--connect (con1,localhost,root,,)
set max_statement_time= 1;
set timestamp= unix_timestamp('2000-01-01 01:00:00');
send update t set a= a + 2;
--connection default
set timestamp= unix_timestamp('2000-01-01 01:00:00');
send update t set a= a + 3;
--connection con1
--error ER_STATEMENT_TIMEOUT
reap;
--disconnect con1
--connection default
reap;
commit;
drop table t;
set timestamp= default;