支持文件接口用户自定义信息;

This commit is contained in:
linuxrc@163.com
2021-07-27 16:25:13 +08:00
parent 5217e9188e
commit b32381f7f5
11 changed files with 76 additions and 40 deletions

View File

@@ -201,7 +201,7 @@ int cm_read_cfg_index_file(const char* path, struct cfg_table_info* idx/*OUT*/,
{
memset(line, 0, sizeof(line));
fgets(line, sizeof(line), fp);
ret=sscanf(line,"%s\t%d\t%s\t%s", idx[i].table_name, &(idx[i].cfg_num), idx[i].cfg_path, idx[i].encryp_algorithm);
ret=sscanf(line,"%[^ \t]%*[ \t]%d%*[ \t]%s%*[ \t]%s", idx[i].table_name, &(idx[i].cfg_num), idx[i].cfg_path, idx[i].user_region);
if((ret!=3 && ret!=4) || idx[i].cfg_num==0)//jump over empty line
{
continue;
@@ -231,7 +231,7 @@ bool doris_read_table_file(struct doris_idxfile_scanner *scanner, struct cfg_tab
FILE *fp;
size_t readlen, remainlen, oncesize;
MD5_CTX md5ctx;
char md5buffer[64];
char md5buffer[64], *user_region=NULL;
if((fp = fopen(table->cfg_path, "r")) == NULL)
{
@@ -240,7 +240,11 @@ bool doris_read_table_file(struct doris_idxfile_scanner *scanner, struct cfg_tab
}
MD5_Init(&md5ctx);
doris_cbs->cfgfile_start(NULL, table->table_name, table->filesize, table->cfg_num, doris_cbs->userdata);
if(table->user_region[0] != '\0')
{
user_region = table->user_region;
}
doris_cbs->cfgfile_start(NULL, table->table_name, table->filesize, table->cfg_num, user_region, doris_cbs->userdata);
remainlen = table->filesize;
while(remainlen > 0)
{
@@ -273,6 +277,10 @@ cJSON *doris_index_version_start(int64_t version, struct cfg_table_info *table_a
cJSON_AddStringToObject(tmp, "tablename", table_array[i].table_name);
cJSON_AddNumberToObject(tmp, "size", table_array[i].filesize);
cJSON_AddNumberToObject(tmp, "cfg_num", table_array[i].cfg_num);
if(table_array->user_region[0] != '\0')
{
cJSON_AddStringToObject(tmp, "user_region", table_array[i].user_region);
}
cJSON_AddItemToArray(array, tmp);
}
cJSON_AddItemToObject(meta, "configs", array);