sql plan monitor occupy position
This commit is contained in:
@ -827,6 +827,22 @@ int ObVirtualSqlPlanMonitor::convert_node_to_row(ObMonitorNode &node, ObNewRow *
|
||||
cells[cell_idx].set_int(int_value);
|
||||
break;
|
||||
}
|
||||
case WORKAREA_MEM: {
|
||||
cells[cell_idx].set_null();
|
||||
break;
|
||||
}
|
||||
case WORKAREA_MAX_MEM: {
|
||||
cells[cell_idx].set_null();
|
||||
break;
|
||||
}
|
||||
case WORKAREA_TEMPSEG: {
|
||||
cells[cell_idx].set_null();
|
||||
break;
|
||||
}
|
||||
case WORKAREA_MAX_TEMPSEG: {
|
||||
cells[cell_idx].set_null();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
SERVER_LOG(WARN, "invalid column id", K(cell_idx),
|
||||
|
||||
@ -105,7 +105,11 @@ private:
|
||||
OUTPUT_BATCHES, // for batch
|
||||
SKIPPED_ROWS_COUNT, // for batch
|
||||
DB_TIME,
|
||||
USER_IO_WAIT_TIME
|
||||
USER_IO_WAIT_TIME,
|
||||
WORKAREA_MEM,
|
||||
WORKAREA_MAX_MEM,
|
||||
WORKAREA_TEMPSEG,
|
||||
WORKAREA_MAX_TEMPSEG
|
||||
};
|
||||
DISALLOW_COPY_AND_ASSIGN(ObVirtualSqlPlanMonitor);
|
||||
|
||||
|
||||
@ -5861,6 +5861,66 @@ int ObInnerTableSchema::all_virtual_sql_plan_monitor_schema(ObTableSchema &table
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_MEM", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_MAX_MEM", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_TEMPSEG", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_MAX_TEMPSEG", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
table_schema.get_part_option().set_part_num(1);
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ONE);
|
||||
@ -6594,7 +6654,75 @@ int ObInnerTableSchema::all_virtual_sql_plan_monitor_all_virtual_sql_plan_monito
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 39);
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_MEM", //column_name
|
||||
column_id + 40, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_MAX_MEM", //column_name
|
||||
column_id + 41, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_TEMPSEG", //column_name
|
||||
column_id + 42, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_MAX_TEMPSEG", //column_name
|
||||
column_id + 43, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 43);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -643,6 +643,66 @@ int ObInnerTableSchema::all_virtual_sql_plan_monitor_ora_schema(ObTableSchema &t
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_MEM", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_MAX_MEM", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_TEMPSEG", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WORKAREA_MAX_TEMPSEG", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
table_schema.get_part_option().set_part_num(1);
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ONE);
|
||||
@ -1372,7 +1432,75 @@ int ObInnerTableSchema::all_virtual_sql_plan_monitor_ora_all_virtual_sql_plan_mo
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 39);
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_MEM", //column_name
|
||||
column_id + 40, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_MAX_MEM", //column_name
|
||||
column_id + 41, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_TEMPSEG", //column_name
|
||||
column_id + 42, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_WITH_COLUMN_FLAGS("WORKAREA_MAX_TEMPSEG", //column_name
|
||||
column_id + 43, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false,//is_nullable
|
||||
false,//is_autoincrement
|
||||
false,//is_hidden
|
||||
true);//is_storing_column
|
||||
}
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 43);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@ -10952,6 +10952,10 @@ def_table_schema(
|
||||
('SKIPPED_ROWS_COUNT', 'int'),
|
||||
('DB_TIME', 'int'),
|
||||
('USER_IO_WAIT_TIME', 'int'),
|
||||
('WORKAREA_MEM', 'int'),
|
||||
('WORKAREA_MAX_MEM', 'int'),
|
||||
('WORKAREA_TEMPSEG', 'int'),
|
||||
('WORKAREA_MAX_TEMPSEG', 'int'),
|
||||
],
|
||||
partition_columns = ['SVR_IP', 'SVR_PORT'],
|
||||
vtable_route_policy = 'distributed',
|
||||
|
||||
@ -2042,6 +2042,10 @@ OUTPUT_BATCHES bigint(20) NO NULL
|
||||
SKIPPED_ROWS_COUNT bigint(20) NO NULL
|
||||
DB_TIME bigint(20) NO NULL
|
||||
USER_IO_WAIT_TIME bigint(20) NO NULL
|
||||
WORKAREA_MEM bigint(20) NO NULL
|
||||
WORKAREA_MAX_MEM bigint(20) NO NULL
|
||||
WORKAREA_TEMPSEG bigint(20) NO NULL
|
||||
WORKAREA_MAX_TEMPSEG bigint(20) NO NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_sql_plan_monitor;
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
|
||||
@ -4635,6 +4635,10 @@ OUTPUT_BATCHES bigint(20) NO NULL
|
||||
SKIPPED_ROWS_COUNT bigint(20) NO NULL
|
||||
DB_TIME bigint(20) NO NULL
|
||||
USER_IO_WAIT_TIME bigint(20) NO NULL
|
||||
WORKAREA_MEM bigint(20) NO NULL
|
||||
WORKAREA_MAX_MEM bigint(20) NO NULL
|
||||
WORKAREA_TEMPSEG bigint(20) NO NULL
|
||||
WORKAREA_MAX_TEMPSEG bigint(20) NO NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_sql_plan_monitor;
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
|
||||
Reference in New Issue
Block a user