diff --git a/src/entry/Maat_command.cpp b/src/entry/Maat_command.cpp index 3496ef8..51d407d 100644 --- a/src/entry/Maat_command.cpp +++ b/src/entry/Maat_command.cpp @@ -1607,10 +1607,9 @@ void rewrite_table_line_with_foreign(struct serial_rule_t*p) } void _get_foregin_keys(struct serial_rule_t* p_rule, int* foreign_columns, int n_foreign, const char* dir, void* logger) { - int ret=0, i=0; + int i=0; const char* p_foreign=NULL; int foreign_key_size=0; - struct stat file_info; p_rule->n_foreign=n_foreign; p_rule->f_keys=ALLOC(struct foreign_key, n_foreign); for(i=0; if_keys[i].key=(char*)calloc(sizeof(char),foreign_key_size+1); memcpy(p_rule->f_keys[i].key, p_foreign, foreign_key_size); - p_rule->f_keys[i].filename=get_foreign_cont_filename(p_rule->table_name, p_rule->rule_id, p_rule->f_keys[i].key, dir); - ret=stat(p_rule->f_keys[i].filename, &file_info); - if(ret==0) - { - p_rule->f_keys[i].is_existed=1; - } } if(i!=n_foreign) { @@ -1729,6 +1722,8 @@ void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int redisReply* reply=NULL; struct serial_rule_t*p=NULL; FILE* fp=NULL; + struct stat file_info; + for(i=0;in_foreign; j++) { - if(p->f_keys[j].is_existed==1) + ret=stat(p->f_keys[i].filename, &file_info); + if(ret==0) { continue; } diff --git a/src/inc_internal/Maat_rule_internal.h b/src/inc_internal/Maat_rule_internal.h index ecef3d2..8ccdb81 100644 --- a/src/inc_internal/Maat_rule_internal.h +++ b/src/inc_internal/Maat_rule_internal.h @@ -396,7 +396,6 @@ struct _maat_garbage_t struct foreign_key { int column; - int is_existed; char* key; char* filename; };