Commit bdcce58f authored by Aleksey Midenkov's avatar Aleksey Midenkov

IB: long names in information_schema

parent 72de7721
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
delimiter ~~;
create procedure if not exists verify_vtq()
......@@ -7,13 +7,13 @@ begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
......@@ -251,19 +251,19 @@ t CREATE TABLE `t` (
PERIOD FOR SYSTEM_TIME (`sys_trx_start`, `sys_trx_end`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......@@ -68,20 +68,20 @@ insert into t1 values ();
set @ts0= now(6);
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx0;
select trx_id = @tx0 from information_schema.innodb_vtq limit 1;
trx_id = @tx0
select transaction_id = @tx0 from information_schema.innodb_vtq limit 1;
transaction_id = @tx0
1
set @ts1= now(6);
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx1;
select trx_id = @tx1 from information_schema.innodb_vtq limit 1;
trx_id = @tx1
select transaction_id = @tx1 from information_schema.innodb_vtq limit 1;
transaction_id = @tx1
1
set @ts2= now(6);
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx2;
select trx_id = @tx2 from information_schema.innodb_vtq limit 1;
trx_id = @tx2
select transaction_id = @tx2 from information_schema.innodb_vtq limit 1;
transaction_id = @tx2
1
set @ts3= now(6);
select
......@@ -119,26 +119,26 @@ A B C D E F H
set transaction isolation level read uncommitted;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx3;
select iso_level = 'RU' from information_schema.innodb_vtq where trx_id = @tx3;
iso_level = 'RU'
select isolation_level = 'READ-UNCOMMITTED' from information_schema.innodb_vtq where transaction_id = @tx3;
isolation_level = 'READ-UNCOMMITTED'
1
set transaction isolation level read committed;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx4;
select iso_level = 'RC' from information_schema.innodb_vtq where trx_id = @tx4;
iso_level = 'RC'
select isolation_level = 'READ-COMMITTED' from information_schema.innodb_vtq where transaction_id = @tx4;
isolation_level = 'READ-COMMITTED'
1
set transaction isolation level serializable;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx5;
select iso_level = 'S' from information_schema.innodb_vtq where trx_id = @tx5;
iso_level = 'S'
select isolation_level = 'SERIALIZABLE' from information_schema.innodb_vtq where transaction_id = @tx5;
isolation_level = 'SERIALIZABLE'
1
set transaction isolation level repeatable read;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx6;
select iso_level = 'RR' from information_schema.innodb_vtq where trx_id = @tx6;
iso_level = 'RR'
select isolation_level = 'REPEATABLE-READ' from information_schema.innodb_vtq where transaction_id = @tx6;
isolation_level = 'REPEATABLE-READ'
1
drop table t1;
call verify_vtq;
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
set @@session.time_zone='+00:00';
select ifnull(max(trx_id), 0) into @start_trx_id from information_schema.innodb_vtq;
select ifnull(max(transaction_id), 0) into @start_trx_id from information_schema.innodb_vtq;
create procedure if not exists verify_vtq()
begin
set @i= 0;
select
@i:= @i + 1 as No,
trx_id > 0 as A,
commit_id > trx_id as B,
begin_ts > '1-1-1 0:0:0' as C,
commit_ts >= begin_ts as D
transaction_id > 0 as A,
commit_id > transaction_id as B,
begin_timestamp > '1-1-1 0:0:0' as C,
commit_timestamp >= begin_timestamp as D
from information_schema.innodb_vtq
where trx_id > @start_trx_id;
select ifnull(max(trx_id), 0)
where transaction_id > @start_trx_id;
select ifnull(max(transaction_id), 0)
into @start_trx_id
from information_schema.innodb_vtq;
end~~
......
......@@ -13,17 +13,17 @@ insert into t1 values ();
set @ts0= now(6);
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx0;
select trx_id = @tx0 from information_schema.innodb_vtq limit 1;
select transaction_id = @tx0 from information_schema.innodb_vtq limit 1;
set @ts1= now(6);
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx1;
select trx_id = @tx1 from information_schema.innodb_vtq limit 1;
select transaction_id = @tx1 from information_schema.innodb_vtq limit 1;
set @ts2= now(6);
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx2;
select trx_id = @tx2 from information_schema.innodb_vtq limit 1;
select transaction_id = @tx2 from information_schema.innodb_vtq limit 1;
set @ts3= now(6);
......@@ -62,22 +62,22 @@ select
set transaction isolation level read uncommitted;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx3;
select iso_level = 'RU' from information_schema.innodb_vtq where trx_id = @tx3;
select isolation_level = 'READ-UNCOMMITTED' from information_schema.innodb_vtq where transaction_id = @tx3;
set transaction isolation level read committed;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx4;
select iso_level = 'RC' from information_schema.innodb_vtq where trx_id = @tx4;
select isolation_level = 'READ-COMMITTED' from information_schema.innodb_vtq where transaction_id = @tx4;
set transaction isolation level serializable;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx5;
select iso_level = 'S' from information_schema.innodb_vtq where trx_id = @tx5;
select isolation_level = 'SERIALIZABLE' from information_schema.innodb_vtq where transaction_id = @tx5;
set transaction isolation level repeatable read;
insert into t1 values ();
select sys_trx_start from t1 where id = last_insert_id() into @tx6;
select iso_level = 'RR' from information_schema.innodb_vtq where trx_id = @tx6;
select isolation_level = 'REPEATABLE-READ' from information_schema.innodb_vtq where transaction_id = @tx6;
drop table t1;
......
......@@ -9661,7 +9661,7 @@ UNIV_INTERN struct st_maria_plugin i_s_innodb_sys_semaphore_waits =
static ST_FIELD_INFO innodb_vtq_fields_info[] =
{
#define SYS_VTQ_TRX_ID 0
{ STRUCT_FLD(field_name, "trx_id"),
{ STRUCT_FLD(field_name, "transaction_id"),
STRUCT_FLD(field_length, MY_INT64_NUM_DECIMAL_DIGITS),
STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG),
STRUCT_FLD(value, 0),
......@@ -9679,7 +9679,7 @@ static ST_FIELD_INFO innodb_vtq_fields_info[] =
STRUCT_FLD(open_method, SKIP_OPEN_TABLE) },
#define SYS_VTQ_BEGIN_TS 2
{ STRUCT_FLD(field_name, "begin_ts"),
{ STRUCT_FLD(field_name, "begin_timestamp"),
STRUCT_FLD(field_length, 6),
STRUCT_FLD(field_type, MYSQL_TYPE_TIMESTAMP),
STRUCT_FLD(value, 0),
......@@ -9688,7 +9688,7 @@ static ST_FIELD_INFO innodb_vtq_fields_info[] =
STRUCT_FLD(open_method, SKIP_OPEN_TABLE) },
#define SYS_VTQ_COMMIT_TS 3
{ STRUCT_FLD(field_name, "commit_ts"),
{ STRUCT_FLD(field_name, "commit_timestamp"),
STRUCT_FLD(field_length, 6),
STRUCT_FLD(field_type, MYSQL_TYPE_TIMESTAMP),
STRUCT_FLD(value, 0),
......@@ -9697,8 +9697,8 @@ static ST_FIELD_INFO innodb_vtq_fields_info[] =
STRUCT_FLD(open_method, SKIP_OPEN_TABLE) },
#define SYS_VTQ_ISO_LEVEL 4
{ STRUCT_FLD(field_name, "iso_level"),
STRUCT_FLD(field_length, 2),
{ STRUCT_FLD(field_name, "isolation_level"),
STRUCT_FLD(field_length, 16),
STRUCT_FLD(field_type, MYSQL_TYPE_STRING),
STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, 0),
......@@ -9708,6 +9708,39 @@ static ST_FIELD_INFO innodb_vtq_fields_info[] =
END_OF_ST_FIELD_INFO
};
/******************************************************************//**
Maps a InnoDB trx isolation level code to the MySQL isolation level name
@return MySQL isolation level name */
static inline
const char*
i_s_isolation_name(
/*=========================*/
ulint iso) /*!< in: InnoDB isolation level code */
{
enum_tx_isolation mysql_iso;
switch (iso) {
case TRX_ISO_REPEATABLE_READ:
mysql_iso = ISO_REPEATABLE_READ;
break;
case TRX_ISO_READ_COMMITTED:
mysql_iso = ISO_READ_COMMITTED;
break;
case TRX_ISO_SERIALIZABLE:
mysql_iso = ISO_SERIALIZABLE;
break;
case TRX_ISO_READ_UNCOMMITTED:
mysql_iso = ISO_READ_UNCOMMITTED;
break;
default:
ut_error;
return NULL;
}
return tx_isolation_names[mysql_iso];
}
/**********************************************************************//**
Function to fill INFORMATION_SCHEMA.INNODB_SYS_VTQ with information
collected by scanning SYS_VTQ table.
......@@ -9726,20 +9759,7 @@ i_s_dict_fill_vtq(
DBUG_ENTER("i_s_dict_fill_vtq");
fields = table_to_fill->field;
switch (vtq.iso_level) {
case TRX_ISO_REPEATABLE_READ:
iso_level = "RR";
break;
case TRX_ISO_READ_COMMITTED:
iso_level = "RC";
break;
case TRX_ISO_SERIALIZABLE:
iso_level = "S";
break;
case TRX_ISO_READ_UNCOMMITTED:
iso_level = "RU";
break;
}
iso_level = i_s_isolation_name(vtq.iso_level);
OK(field_store_ullong(fields[SYS_VTQ_TRX_ID], vtq.trx_id));
OK(field_store_ullong(fields[SYS_VTQ_COMMIT_ID], vtq.commit_id));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment