adjust compact row format && fix farm case failed
This commit is contained in:
		
				
					committed by
					
						
						ob-robot
					
				
			
			
				
	
			
			
			
						parent
						
							9b3b1dcc9d
						
					
				
				
					commit
					6288816744
				
			@ -831,7 +831,7 @@ int ObInnerTableSchema::v_sql_workarea_schema(ObTableSchema &table_schema)
 | 
			
		||||
  table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
 | 
			
		||||
 | 
			
		||||
  if (OB_SUCC(ret)) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(     SELECT ADDRESS,     HASH_VALUE,     SQL_ID,     CHILD_NUMBER,     WORKAREA_ADDRESS,     OPERATION_TYPE,     OPERATION_ID,     POLICY,     ESTIMATED_OPTIMAL_SIZE,     ESTIMATED_ONEPASS_SIZE,     LAST_MEMORY_USED,     LAST_EXECUTION,     LAST_DEGREE,     TOTAL_EXECUTIONS,     OPTIMAL_EXECUTIONS,     ONEPASS_EXECUTIONS,     MULTIPASSES_EXECUTIONS,     ACTIVE_TIME,     MAX_TEMPSEG_SIZE,     LAST_TEMPSEG_SIZE,     CON_ID,     SVR_IP,     SVR_PORT FROM OCEANBASE.GV$SQL_WORKAREA     WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(     SELECT ADDRESS,     HASH_VALUE,     DB_ID,     SQL_ID,     CHILD_NUMBER,     WORKAREA_ADDRESS,     OPERATION_TYPE,     OPERATION_ID,     POLICY,     ESTIMATED_OPTIMAL_SIZE,     ESTIMATED_ONEPASS_SIZE,     LAST_MEMORY_USED,     LAST_EXECUTION,     LAST_DEGREE,     TOTAL_EXECUTIONS,     OPTIMAL_EXECUTIONS,     ONEPASS_EXECUTIONS,     MULTIPASSES_EXECUTIONS,     ACTIVE_TIME,     MAX_TEMPSEG_SIZE,     LAST_TEMPSEG_SIZE,     CON_ID,     SVR_IP,     SVR_PORT FROM OCEANBASE.GV$SQL_WORKAREA     WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
      LOG_ERROR("fail to set view_definition", K(ret));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@ -931,7 +931,7 @@ int ObInnerTableSchema::v_sql_workarea_active_schema(ObTableSchema &table_schema
 | 
			
		||||
  table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
 | 
			
		||||
 | 
			
		||||
  if (OB_SUCC(ret)) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(     SELECT SQL_HASH_VALUE,     SQL_ID,     SQL_EXEC_START,     SQL_EXEC_ID,     WORKAREA_ADDRESS,     OPERATION_TYPE,     OPERATION_ID,     POLICY,     SID,     QCINST_ID,     QCSID,     ACTIVE_TIME,     WORK_AREA_SIZE,     EXPECT_SIZE,     ACTUAL_MEM_USED,     MAX_MEM_USED,     NUMBER_PASSES,     TEMPSEG_SIZE,     TABLESPACE,     `SEGRFNO#`,     `SEGBLK#`,     CON_ID,     SVR_IP,     SVR_PORT FROM OCEANBASE.GV$SQL_WORKAREA_ACTIVE     WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(     SELECT SQL_HASH_VALUE,     DB_ID,     SQL_ID,     SQL_EXEC_START,     SQL_EXEC_ID,     WORKAREA_ADDRESS,     OPERATION_TYPE,     OPERATION_ID,     POLICY,     SID,     QCINST_ID,     QCSID,     ACTIVE_TIME,     WORK_AREA_SIZE,     EXPECT_SIZE,     ACTUAL_MEM_USED,     MAX_MEM_USED,     NUMBER_PASSES,     TEMPSEG_SIZE,     TABLESPACE,     `SEGRFNO#`,     `SEGBLK#`,     CON_ID,     SVR_IP,     SVR_PORT FROM OCEANBASE.GV$SQL_WORKAREA_ACTIVE     WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
      LOG_ERROR("fail to set view_definition", K(ret));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -1960,7 +1960,7 @@ int ObInnerTableSchema::v_sql_workarea_active_ora_schema(ObTableSchema &table_sc
 | 
			
		||||
  table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
 | 
			
		||||
 | 
			
		||||
  if (OB_SUCC(ret)) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(   SELECT SQL_HASH_VALUE, SQL_ID, SQL_EXEC_START, SQL_EXEC_ID, WORKAREA_ADDRESS, OPERATION_TYPE, OPERATION_ID, POLICY, SID, QCINST_ID, QCSID, ACTIVE_TIME, WORK_AREA_SIZE, EXPECT_SIZE, ACTUAL_MEM_USED, MAX_MEM_USED, NUMBER_PASSES, TEMPSEG_SIZE, TABLESPACE, "SEGRFNO#", "SEGBLK#", CON_ID, SVR_IP, SVR_PORT FROM SYS.GV$SQL_WORKAREA_ACTIVE   WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(   SELECT SQL_HASH_VALUE,   DB_ID, SQL_ID, SQL_EXEC_START, SQL_EXEC_ID, WORKAREA_ADDRESS, OPERATION_TYPE, OPERATION_ID, POLICY, SID, QCINST_ID, QCSID, ACTIVE_TIME, WORK_AREA_SIZE, EXPECT_SIZE, ACTUAL_MEM_USED, MAX_MEM_USED, NUMBER_PASSES, TEMPSEG_SIZE, TABLESPACE, "SEGRFNO#", "SEGBLK#", CON_ID, SVR_IP, SVR_PORT FROM SYS.GV$SQL_WORKAREA_ACTIVE   WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
      LOG_ERROR("fail to set view_definition", K(ret));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -260,7 +260,7 @@ int ObInnerTableSchema::v_sql_workarea_ora_schema(ObTableSchema &table_schema)
 | 
			
		||||
  table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
 | 
			
		||||
 | 
			
		||||
  if (OB_SUCC(ret)) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(   SELECT ADDRESS, HASH_VALUE, SQL_ID, CHILD_NUMBER, WORKAREA_ADDRESS, OPERATION_TYPE, OPERATION_ID, POLICY, ESTIMATED_OPTIMAL_SIZE, ESTIMATED_ONEPASS_SIZE, LAST_MEMORY_USED, LAST_EXECUTION, LAST_DEGREE, TOTAL_EXECUTIONS, OPTIMAL_EXECUTIONS, ONEPASS_EXECUTIONS, MULTIPASSES_EXECUTIONS, ACTIVE_TIME, MAX_TEMPSEG_SIZE, LAST_TEMPSEG_SIZE, CON_ID, SVR_IP, SVR_PORT   FROM SYS.GV$SQL_WORKAREA   WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
    if (OB_FAIL(table_schema.set_view_definition(R"__(   SELECT ADDRESS, HASH_VALUE, DB_ID, SQL_ID, CHILD_NUMBER, WORKAREA_ADDRESS, OPERATION_TYPE, OPERATION_ID, POLICY, ESTIMATED_OPTIMAL_SIZE, ESTIMATED_ONEPASS_SIZE, LAST_MEMORY_USED, LAST_EXECUTION, LAST_DEGREE, TOTAL_EXECUTIONS, OPTIMAL_EXECUTIONS, ONEPASS_EXECUTIONS, MULTIPASSES_EXECUTIONS, ACTIVE_TIME, MAX_TEMPSEG_SIZE, LAST_TEMPSEG_SIZE, CON_ID, SVR_IP, SVR_PORT   FROM SYS.GV$SQL_WORKAREA   WHERE SVR_IP = HOST_IP() AND SVR_PORT = RPC_PORT() )__"))) {
 | 
			
		||||
      LOG_ERROR("fail to set view_definition", K(ret));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -16857,6 +16857,7 @@ def_table_schema(
 | 
			
		||||
  view_definition = """
 | 
			
		||||
    SELECT ADDRESS,
 | 
			
		||||
    HASH_VALUE,
 | 
			
		||||
    DB_ID,
 | 
			
		||||
    SQL_ID,
 | 
			
		||||
    CHILD_NUMBER,
 | 
			
		||||
    WORKAREA_ADDRESS,
 | 
			
		||||
@ -16933,6 +16934,7 @@ def_table_schema(
 | 
			
		||||
  in_tenant_space = True,
 | 
			
		||||
  view_definition = """
 | 
			
		||||
    SELECT SQL_HASH_VALUE,
 | 
			
		||||
    DB_ID,
 | 
			
		||||
    SQL_ID,
 | 
			
		||||
    SQL_EXEC_START,
 | 
			
		||||
    SQL_EXEC_ID,
 | 
			
		||||
@ -54059,6 +54061,7 @@ def_table_schema(
 | 
			
		||||
  in_tenant_space = True,
 | 
			
		||||
  view_definition = """
 | 
			
		||||
  SELECT SQL_HASH_VALUE,
 | 
			
		||||
  DB_ID,
 | 
			
		||||
SQL_ID,
 | 
			
		||||
SQL_EXEC_START,
 | 
			
		||||
SQL_EXEC_ID,
 | 
			
		||||
@ -54357,6 +54360,7 @@ def_table_schema(
 | 
			
		||||
  view_definition = """
 | 
			
		||||
  SELECT ADDRESS,
 | 
			
		||||
HASH_VALUE,
 | 
			
		||||
DB_ID,
 | 
			
		||||
SQL_ID,
 | 
			
		||||
CHILD_NUMBER,
 | 
			
		||||
WORKAREA_ADDRESS,
 | 
			
		||||
 | 
			
		||||
@ -33,15 +33,6 @@ struct RowHeader {
 | 
			
		||||
public:
 | 
			
		||||
  static const int64_t OFFSET_LEN = 4;
 | 
			
		||||
  uint32_t row_size_;
 | 
			
		||||
  union {
 | 
			
		||||
    struct {
 | 
			
		||||
      //TODO shengle support dynamic offset len, no use now, now only use int32_t
 | 
			
		||||
      uint32_t offset_len_    : 3;
 | 
			
		||||
      uint32_t has_null_      : 1;
 | 
			
		||||
      uint32_t reserved_      : 28;
 | 
			
		||||
    };
 | 
			
		||||
    uint32_t flag_;
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct RowMeta {
 | 
			
		||||
@ -190,7 +181,6 @@ struct ObCompactRow
 | 
			
		||||
 | 
			
		||||
  inline void set_null(const RowMeta &meta, const int64_t col_idx) {
 | 
			
		||||
    nulls()->set(col_idx);
 | 
			
		||||
    header_.has_null_ = true;
 | 
			
		||||
    if (meta.fixed_expr_reordered()) {
 | 
			
		||||
      const int32_t idx = meta.project_idx(col_idx);
 | 
			
		||||
      if (idx < meta.fixed_cnt_) {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user