mirror of
https://github.com/MariaDB/server.git
synced 2025-02-04 21:02:17 +01:00
107 lines
2.6 KiB
Text
107 lines
2.6 KiB
Text
--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;
|