rulescan移除了quick模式,对此进行适配。

This commit is contained in:
zhengchao
2019-04-01 10:39:42 +06:00
parent 047eec538f
commit d83fdcb0df
3 changed files with 2 additions and 37 deletions

View File

@@ -1700,11 +1700,6 @@ stream_para_t Maat_stream_scan_string_start(Maat_feather_t feather,int table_id,
} }
struct expr_table_desc* expr_desc=&(p_table->expr); struct expr_table_desc* expr_desc=&(p_table->expr);
if(expr_desc->quick_expr_switch==1)
{
_feather->scan_err_cnt++;
return NULL;
}
struct _stream_para_t* sp=ALLOC(struct _stream_para_t ,1); struct _stream_para_t* sp=ALLOC(struct _stream_para_t ,1);
scanner=_feather->scanner; scanner=_feather->scanner;
sp->feather=_feather; sp->feather=_feather;

View File

@@ -1294,9 +1294,7 @@ struct Maat_scanner_t* create_maat_scanner(unsigned int version,_Maat_feather_t
// int rs_scan_type=feather->rule_scan_type; // int rs_scan_type=feather->rule_scan_type;
struct Maat_table_desc ** pp_table_desc=feather->p_table_info; struct Maat_table_desc ** pp_table_desc=feather->p_table_info;
struct Maat_table_runtime* table_rt=NULL; struct Maat_table_runtime* table_rt=NULL;
const struct expr_table_desc* expr_desc=NULL; int i=0;
int i=0,j=0;
unsigned int sub_type=0;
UNUSED int ret=0; UNUSED int ret=0;
MESA_htable_create_args_t hargs; MESA_htable_create_args_t hargs;
@@ -1363,23 +1361,6 @@ struct Maat_scanner_t* create_maat_scanner(unsigned int version,_Maat_feather_t
continue; continue;
} }
table_rt=table_runtime_new(pp_table_desc[i], feather->scan_thread_num); table_rt=table_runtime_new(pp_table_desc[i], feather->scan_thread_num);
if(pp_table_desc[i]->table_type==TABLE_TYPE_EXPR||pp_table_desc[i]->table_type==TABLE_TYPE_EXPR_PLUS)
{
expr_desc=&(pp_table_desc[i]->expr);
if(expr_desc->quick_expr_switch==1)
{
for(j=0;j<MAX_CHARSET_NUM&& pp_table_desc[i]->expr.dst_charset[j]!=CHARSET_NONE;j++)
{
sub_type=make_sub_type(pp_table_desc[i]->table_id, expr_desc->dst_charset[j], expr_desc->do_charset_merge);
ret=rulescan_set_param(scanner->region,RULESCAN_QUICK_SCAN,&sub_type,sizeof(sub_type));
assert(ret==1);
if(expr_desc->do_charset_merge==1)
{
break;
}
}
}
}
scanner->table_rt[i]=table_rt; scanner->table_rt[i]=table_rt;
} }
return scanner; return scanner;
@@ -2538,7 +2519,6 @@ void update_expr_rule(struct Maat_table_desc* table,const char* table_line,struc
{ {
struct db_str_rule_t* maat_str_rule=ALLOC(struct db_str_rule_t, 1); struct db_str_rule_t* maat_str_rule=ALLOC(struct db_str_rule_t, 1);
int ret=0,db_hexbin=0,rule_type=0; int ret=0,db_hexbin=0,rule_type=0;
const struct expr_table_desc* expr_desc=&(table->expr);
struct Maat_table_runtime* table_rt=scanner->table_rt[table->table_id]; struct Maat_table_runtime* table_rt=scanner->table_rt[table->table_id];
switch(table->table_type) switch(table->table_type)
{ {
@@ -2678,16 +2658,6 @@ void update_expr_rule(struct Maat_table_desc* table,const char* table_line,struc
maat_str_rule->match_method=MATCH_METHOD_SUB; maat_str_rule->match_method=MATCH_METHOD_SUB;
} }
if(maat_str_rule->expr_type==EXPR_TYPE_STRING
&&expr_desc->quick_expr_switch==1
&&maat_str_rule->match_method!=MATCH_METHOD_SUB)
{
MESA_handle_runtime_log(logger,RLOG_LV_FATAL,maat_module ,
"abandon config: table %s scan mode is quickon, only support MATCH_METHOD_SUB, conflict with match method of region %d.",
table->table_name[table->updating_name],maat_str_rule->region_id);
table->udpate_err_cnt++;
goto error_out;
}
ret=add_expr_rule(table, maat_str_rule,scanner, logger); ret=add_expr_rule(table, maat_str_rule,scanner, logger);
if(ret<0) if(ret<0)
{ {

View File

@@ -81,7 +81,7 @@ struct expr_table_desc
int src_charset_in_dst; int src_charset_in_dst;
int do_charset_merge; int do_charset_merge;
int cross_cache_size; int cross_cache_size;
int quick_expr_switch; int quick_expr_switch;//obsolete since 20190401
long long iconv_err_cnt; long long iconv_err_cnt;
}; };
struct ip_table_desc struct ip_table_desc