change SF_BINLOG_FILE_PREFIX to SF_BINLOG_FILE_PREFIX_STR

use_iouring
YuQing 2025-08-10 12:03:25 +08:00
parent fc689a02ba
commit 2e5258045d
4 changed files with 22 additions and 21 deletions

View File

@ -132,14 +132,14 @@ int sf_binlog_writer_init_thread_ex(SFBinlogWriterThread *thread,
#define sf_binlog_writer_init_normal(writer, data_path, \ #define sf_binlog_writer_init_normal(writer, data_path, \
subdir_name, max_record_size, buffer_size) \ subdir_name, max_record_size, buffer_size) \
sf_binlog_writer_init_normal_ex(writer, data_path, subdir_name, \ sf_binlog_writer_init_normal_ex(writer, data_path, subdir_name, \
SF_BINLOG_FILE_PREFIX, max_record_size, buffer_size, \ SF_BINLOG_FILE_PREFIX_STR, max_record_size, buffer_size, \
SF_BINLOG_DEFAULT_ROTATE_SIZE, true) SF_BINLOG_DEFAULT_ROTATE_SIZE, true)
#define sf_binlog_writer_init_by_version(writer, data_path, subdir_name, \ #define sf_binlog_writer_init_by_version(writer, data_path, subdir_name, \
max_record_size, next_version, buffer_size, ring_size) \ max_record_size, next_version, buffer_size, ring_size) \
sf_binlog_writer_init_by_version_ex(writer, data_path, subdir_name, \ sf_binlog_writer_init_by_version_ex(writer, data_path, subdir_name, \
SF_BINLOG_FILE_PREFIX, max_record_size, next_version, \ SF_BINLOG_FILE_PREFIX_STR, max_record_size, next_version, \
buffer_size, ring_size, SF_BINLOG_DEFAULT_ROTATE_SIZE, true) buffer_size, ring_size, SF_BINLOG_DEFAULT_ROTATE_SIZE, true)
#define sf_binlog_writer_init_thread(thread, name, \ #define sf_binlog_writer_init_thread(thread, name, \
@ -169,7 +169,7 @@ static inline int sf_binlog_writer_init_ex(SFBinlogWriterContext *context,
#define sf_binlog_writer_init(context, data_path, subdir_name, \ #define sf_binlog_writer_init(context, data_path, subdir_name, \
buffer_size, write_interval_ms, max_delay, max_record_size) \ buffer_size, write_interval_ms, max_delay, max_record_size) \
sf_binlog_writer_init_ex(context, data_path, subdir_name, \ sf_binlog_writer_init_ex(context, data_path, subdir_name, \
SF_BINLOG_FILE_PREFIX, buffer_size, write_interval_ms, \ SF_BINLOG_FILE_PREFIX_STR, buffer_size, write_interval_ms, \
max_delay, max_record_size, true) max_delay, max_record_size, true)
void sf_binlog_writer_finish(SFBinlogWriterInfo *writer); void sf_binlog_writer_finish(SFBinlogWriterInfo *writer);

View File

@ -54,8 +54,9 @@ static inline void sf_file_writer_get_binlog_filename(SFFileWriterInfo *writer)
writer->file.name.str, writer->file.name.size); writer->file.name.str, writer->file.name.size);
} }
static inline void sf_file_writer_get_index_filename_ex(const char *data_path, static inline void sf_file_writer_get_index_filename_ex(
const char *subdir_name, const char *file_prefix, const char *data_path, const char *subdir_name,
const char *file_prefix, const int file_prefix_len,
char *filename, const int size) char *filename, const int size)
{ {
#define INDEX_FILENAME_AFFIX_STR "_index.dat" #define INDEX_FILENAME_AFFIX_STR "_index.dat"
@ -64,11 +65,9 @@ static inline void sf_file_writer_get_index_filename_ex(const char *data_path,
char *p; char *p;
int data_path_len; int data_path_len;
int subdir_name_len; int subdir_name_len;
int file_prefix_len;
data_path_len = strlen(data_path); data_path_len = strlen(data_path);
subdir_name_len = strlen(subdir_name); subdir_name_len = strlen(subdir_name);
file_prefix_len = strlen(file_prefix);
if (data_path_len + 1 + subdir_name_len + 1 + file_prefix_len + if (data_path_len + 1 + subdir_name_len + 1 + file_prefix_len +
INDEX_FILENAME_AFFIX_LEN >= size) INDEX_FILENAME_AFFIX_LEN >= size)
{ {
@ -96,7 +95,8 @@ const char *sf_file_writer_get_index_filename(const char *data_path,
const char *subdir_name, char *filename, const int size) const char *subdir_name, char *filename, const int size)
{ {
sf_file_writer_get_index_filename_ex(data_path, subdir_name, sf_file_writer_get_index_filename_ex(data_path, subdir_name,
SF_BINLOG_FILE_PREFIX, filename, size); SF_BINLOG_FILE_PREFIX_STR, SF_BINLOG_FILE_PREFIX_LEN,
filename, size);
return filename; return filename;
} }
@ -111,8 +111,8 @@ int sf_file_writer_write_to_binlog_index_file_ex(const char *data_path,
int result; int result;
int len; int len;
sf_file_writer_get_index_filename_ex(data_path, subdir_name, sf_file_writer_get_index_filename_ex(data_path, subdir_name, file_prefix,
file_prefix, filename, sizeof(filename)); strlen(file_prefix), filename, sizeof(filename));
p = buff; p = buff;
memcpy(p, BINLOG_INDEX_ITEM_START_INDEX_STR, memcpy(p, BINLOG_INDEX_ITEM_START_INDEX_STR,
BINLOG_INDEX_ITEM_START_INDEX_LEN); BINLOG_INDEX_ITEM_START_INDEX_LEN);
@ -161,8 +161,8 @@ static int get_binlog_info_from_file(const char *data_path,
IniContext ini_context; IniContext ini_context;
int result; int result;
sf_file_writer_get_index_filename_ex(data_path, sf_file_writer_get_index_filename_ex(data_path, subdir_name,
subdir_name, SF_BINLOG_FILE_PREFIX, SF_BINLOG_FILE_PREFIX_STR, SF_BINLOG_FILE_PREFIX_LEN,
full_filename, sizeof(full_filename)); full_filename, sizeof(full_filename));
if (access(full_filename, F_OK) != 0) { if (access(full_filename, F_OK) != 0) {
return errno != 0 ? errno : EPERM; return errno != 0 ? errno : EPERM;

View File

@ -24,12 +24,13 @@
#define SF_FILE_WRITER_FLAGS_WANT_DONE_VERSION 1 #define SF_FILE_WRITER_FLAGS_WANT_DONE_VERSION 1
#define SF_BINLOG_SUBDIR_NAME_SIZE 128 #define SF_BINLOG_SUBDIR_NAME_SIZE 128
#define SF_BINLOG_FILE_PREFIX_SIZE 64 #define SF_BINLOG_FILE_PREFIX_STR_SIZE 64
#define SF_BINLOG_DEFAULT_ROTATE_SIZE (1024 * 1024 * 1024) #define SF_BINLOG_DEFAULT_ROTATE_SIZE (1024 * 1024 * 1024)
#define SF_BINLOG_NEVER_ROTATE_FILE 0 #define SF_BINLOG_NEVER_ROTATE_FILE 0
#define SF_BINLOG_FILE_PREFIX "binlog" #define SF_BINLOG_FILE_PREFIX_STR "binlog"
#define SF_BINLOG_FILE_EXT_LEN 6 #define SF_BINLOG_FILE_PREFIX_LEN (sizeof(SF_BINLOG_FILE_PREFIX_STR) - 1)
#define SF_BINLOG_FILE_EXT_FMT ".%0"FC_MACRO_TOSTRING(SF_BINLOG_FILE_EXT_LEN)"d" #define SF_BINLOG_FILE_EXT_LEN 6
#define SF_BINLOG_FILE_EXT_FMT ".%0"FC_MACRO_TOSTRING(SF_BINLOG_FILE_EXT_LEN)"d"
struct sf_file_writer_info; struct sf_file_writer_info;
@ -40,7 +41,7 @@ typedef struct sf_file_writer_info {
struct { struct {
const char *data_path; const char *data_path;
char subdir_name[SF_BINLOG_SUBDIR_NAME_SIZE]; char subdir_name[SF_BINLOG_SUBDIR_NAME_SIZE];
char file_prefix[SF_BINLOG_FILE_PREFIX_SIZE]; char file_prefix[SF_BINLOG_FILE_PREFIX_STR_SIZE];
int64_t file_rotate_size; int64_t file_rotate_size;
int max_record_size; int max_record_size;
bool call_fsync; bool call_fsync;
@ -270,7 +271,7 @@ static inline const char *sf_file_writer_get_filename_ex(
#define sf_file_writer_get_filename(data_path, subdir_name, \ #define sf_file_writer_get_filename(data_path, subdir_name, \
binlog_index, filename, size) \ binlog_index, filename, size) \
sf_file_writer_get_filename_ex(data_path, subdir_name, \ sf_file_writer_get_filename_ex(data_path, subdir_name, \
SF_BINLOG_FILE_PREFIX, binlog_index, filename, size) SF_BINLOG_FILE_PREFIX_STR, binlog_index, filename, size)
const char *sf_file_writer_get_index_filename(const char *data_path, const char *sf_file_writer_get_index_filename(const char *data_path,
const char *subdir_name, char *filename, const int size); const char *subdir_name, char *filename, const int size);
@ -313,7 +314,7 @@ int sf_file_writer_write_to_binlog_index_file_ex(const char *data_path,
#define sf_file_writer_write_to_binlog_index_file(data_path, \ #define sf_file_writer_write_to_binlog_index_file(data_path, \
subdir_name, start_index, last_index) \ subdir_name, start_index, last_index) \
sf_file_writer_write_to_binlog_index_file_ex(data_path, subdir_name, \ sf_file_writer_write_to_binlog_index_file_ex(data_path, subdir_name, \
SF_BINLOG_FILE_PREFIX, start_index, last_index, 0) SF_BINLOG_FILE_PREFIX_STR, start_index, last_index, 0)
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -71,7 +71,7 @@ int sf_ordered_writer_init_ex(SFOrderedWriterContext *context,
#define sf_ordered_writer_init(context, data_path, \ #define sf_ordered_writer_init(context, data_path, \
subdir_name, buffer_size, max_record_size) \ subdir_name, buffer_size, max_record_size) \
sf_ordered_writer_init_ex(context, data_path, subdir_name, \ sf_ordered_writer_init_ex(context, data_path, subdir_name, \
SF_BINLOG_FILE_PREFIX, buffer_size, max_record_size, \ SF_BINLOG_FILE_PREFIX_STR, buffer_size, max_record_size, \
SF_BINLOG_DEFAULT_ROTATE_SIZE, true) SF_BINLOG_DEFAULT_ROTATE_SIZE, true)
#define sf_ordered_writer_set_flags(ctx, flags) \ #define sf_ordered_writer_set_flags(ctx, flags) \