parent
25ca590416
commit
d129c6151e
|
|
@ -191,6 +191,11 @@ static inline SFBinlogWriterBuffer *sf_binlog_writer_alloc_versioned_buffer_ex(
|
|||
sf_file_writer_get_filename(data_path, subdir_name, \
|
||||
binlog_index, filename, size)
|
||||
|
||||
#define sf_binlog_writer_get_index_filename(data_path, \
|
||||
subdir_name, filename, size) \
|
||||
sf_file_writer_get_index_filename(data_path, \
|
||||
subdir_name, filename, size)
|
||||
|
||||
#define sf_binlog_writer_set_binlog_index(writer, binlog_index) \
|
||||
sf_file_writer_set_binlog_index(&(writer)->fw, binlog_index)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,29 +44,39 @@
|
|||
writer->cfg.data_path, writer->cfg.subdir_name, \
|
||||
SF_BINLOG_FILE_PREFIX, writer->binlog.index)
|
||||
|
||||
#define GET_BINLOG_INDEX_FILENAME_EX(data_path, subdir_name, filename, size) \
|
||||
snprintf(filename, size, "%s/%s/%s", data_path, \
|
||||
subdir_name, BINLOG_INDEX_FILENAME)
|
||||
|
||||
#define GET_BINLOG_INDEX_FILENAME(writer, filename, size) \
|
||||
GET_BINLOG_INDEX_FILENAME_EX(writer->cfg.data_path, \
|
||||
writer->cfg.subdir_name, filename, size)
|
||||
|
||||
const char *sf_file_writer_get_index_filename(const char *data_path,
|
||||
const char *subdir_name, char *filename, const int size)
|
||||
{
|
||||
GET_BINLOG_INDEX_FILENAME_EX(data_path, subdir_name, filename, size);
|
||||
return filename;
|
||||
}
|
||||
|
||||
static int write_to_binlog_index_file(SFFileWriterInfo *writer)
|
||||
{
|
||||
char full_filename[PATH_MAX];
|
||||
char filename[PATH_MAX];
|
||||
char buff[256];
|
||||
int result;
|
||||
int len;
|
||||
|
||||
snprintf(full_filename, sizeof(full_filename), "%s/%s/%s",
|
||||
writer->cfg.data_path, writer->cfg.subdir_name,
|
||||
BINLOG_INDEX_FILENAME);
|
||||
|
||||
GET_BINLOG_INDEX_FILENAME(writer, filename, sizeof(filename));
|
||||
len = sprintf(buff, "%s=%d\n"
|
||||
"%s=%d\n",
|
||||
BINLOG_INDEX_ITEM_CURRENT_WRITE,
|
||||
writer->binlog.index,
|
||||
BINLOG_INDEX_ITEM_CURRENT_COMPRESS,
|
||||
writer->binlog.compress_index);
|
||||
if ((result=safeWriteToFile(full_filename, buff, len)) != 0) {
|
||||
if ((result=safeWriteToFile(filename, buff, len)) != 0) {
|
||||
logError("file: "__FILE__", line: %d, "
|
||||
"write to file \"%s\" fail, "
|
||||
"errno: %d, error info: %s",
|
||||
__LINE__, full_filename,
|
||||
result, STRERROR(result));
|
||||
"write to file \"%s\" fail, errno: %d, error info: %s",
|
||||
__LINE__, filename, result, STRERROR(result));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -117,6 +117,9 @@ static inline const char *sf_file_writer_get_filename(
|
|||
return filename;
|
||||
}
|
||||
|
||||
const char *sf_file_writer_get_index_filename(const char *data_path,
|
||||
const char *subdir_name, char *filename, const int size);
|
||||
|
||||
int sf_file_writer_set_binlog_index(SFFileWriterInfo *writer,
|
||||
const int binlog_index);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue