This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
doris-doris-dispatch/server/doris_server_scandir.h

59 lines
1.3 KiB
C
Raw Normal View History

2021-07-16 16:06:59 +08:00
#ifndef __DORIS_SERVER_SCANDIR_H__
#define __DORIS_SERVER_SCANDIR_H__
#include "doris_consumer_client.h"
2021-07-16 16:06:59 +08:00
#define CM_MAX_TABLE_NUM 256
#define MAX_CONFIG_FN_LEN 256
#define MAX_CONFIG_LINE (1024*16)
#define MAX_USERREGION_LEN 4096
2021-07-16 16:06:59 +08:00
#define ONCE_BUF_SIZE 1048576
enum DORIS_UPDATE_TYPE
{
CFG_UPDATE_TYPE_NONE=0,
CFG_UPDATE_TYPE_FULL=1,
CFG_UPDATE_TYPE_INC=2,
CFG_UPDATE_TYPE_ERR=-1,
};
struct index_version_array
{
int32_t file_inx;
int64_t version;
};
struct index_path_array
{
char path[MAX_CONFIG_FN_LEN];
int64_t version;
};
struct cfg_table_info
{
char table_name[MAX_CONFIG_FN_LEN];
char cfg_path[MAX_CONFIG_FN_LEN];
int cfg_num;
size_t filesize;
char user_region[MAX_USERREGION_LEN];
2021-07-16 16:06:59 +08:00
};
struct doris_idxfile_scanner
{
int64_t cur_version;
char oncebuf[ONCE_BUF_SIZE];
};
int scandir_md5_final_string(MD5_CTX *c, char *result, unsigned int size);
2021-07-16 16:06:59 +08:00
struct doris_idxfile_scanner *doris_index_file_scanner(int64_t start_version);
enum DORIS_UPDATE_TYPE doris_index_file_traverse(struct doris_idxfile_scanner *scanner, const char*idx_dir,
struct doris_callbacks *doris_cbs, const char* dec_key, void* logger);
u_int32_t get_full_topN_max_versions(const char *file_dir, int64_t *ver_array, int32_t maxsize);
void remove_configs_version_smaller(const char *file_dir, int64_t version_higher, int recursively, void *logger);
2021-07-16 16:06:59 +08:00
#endif