PostgreSQL Source Code
git master
|
#include "postgres_fe.h"
#include <unistd.h>
#include "bbstreamer.h"
#include "common/logging.h"
#include "common/file_perm.h"
#include "common/string.h"
Go to the source code of this file.
Data Structures | |
struct | bbstreamer_plain_writer |
struct | bbstreamer_extractor |
Typedefs | |
typedef struct bbstreamer_plain_writer | bbstreamer_plain_writer |
typedef struct bbstreamer_extractor | bbstreamer_extractor |
Functions | |
static void | bbstreamer_plain_writer_content (bbstreamer *streamer, bbstreamer_member *member, const char *data, int len, bbstreamer_archive_context context) |
static void | bbstreamer_plain_writer_finalize (bbstreamer *streamer) |
static void | bbstreamer_plain_writer_free (bbstreamer *streamer) |
static void | bbstreamer_extractor_content (bbstreamer *streamer, bbstreamer_member *member, const char *data, int len, bbstreamer_archive_context context) |
static void | bbstreamer_extractor_finalize (bbstreamer *streamer) |
static void | bbstreamer_extractor_free (bbstreamer *streamer) |
static void | extract_directory (const char *filename, mode_t mode) |
static void | extract_link (const char *filename, const char *linktarget) |
static FILE * | create_file_for_extract (const char *filename, mode_t mode) |
bbstreamer * | bbstreamer_plain_writer_new (char *pathname, FILE *file) |
bbstreamer * | bbstreamer_extractor_new (const char *basepath, const char *(*link_map)(const char *), void(*report_output_file)(const char *)) |
static bool | should_allow_existing_directory (const char *pathname) |
Variables | |
const bbstreamer_ops | bbstreamer_plain_writer_ops |
const bbstreamer_ops | bbstreamer_extractor_ops |
typedef struct bbstreamer_extractor bbstreamer_extractor |
typedef struct bbstreamer_plain_writer bbstreamer_plain_writer |
|
static |
Definition at line 203 of file bbstreamer_file.c.
References Assert(), bbstreamer_extractor::basepath, BBSTREAMER_ARCHIVE_TRAILER, BBSTREAMER_MEMBER_CONTENTS, BBSTREAMER_MEMBER_HEADER, BBSTREAMER_MEMBER_TRAILER, BBSTREAMER_UNKNOWN, create_file_for_extract(), data, extract_directory(), extract_link(), bbstreamer_extractor::file, bbstreamer_extractor::filename, bbstreamer_member::is_directory, bbstreamer_member::is_link, len, bbstreamer_extractor::link_map, bbstreamer_member::linktarget, bbstreamer_member::mode, bbstreamer_member::pathname, pg_fatal, bbstreamer_extractor::report_output_file, and snprintf.
|
static |
Definition at line 377 of file bbstreamer_file.c.
References Assert(), and PG_USED_FOR_ASSERTS_ONLY.
|
static |
Definition at line 389 of file bbstreamer_file.c.
References bbstreamer_extractor::basepath, and pfree().
bbstreamer* bbstreamer_extractor_new | ( | const char * | basepath, |
const char *(*)(const char *) | link_map, | ||
void(*)(const char *) | report_output_file | ||
) |
Definition at line 183 of file bbstreamer_file.c.
References bbstreamer_extractor::base, bbstreamer_extractor::basepath, bbstreamer::bbs_ops, bbstreamer_extractor_ops, bbstreamer_extractor::link_map, palloc0(), pstrdup(), and bbstreamer_extractor::report_output_file.
Referenced by CreateBackupStreamer().
|
static |
Definition at line 104 of file bbstreamer_file.c.
References data, bbstreamer_plain_writer::file, len, bbstreamer_plain_writer::pathname, and pg_fatal.
|
static |
Definition at line 131 of file bbstreamer_file.c.
References bbstreamer_plain_writer::file, bbstreamer_plain_writer::pathname, pg_fatal, and bbstreamer_plain_writer::should_close_file.
|
static |
Definition at line 149 of file bbstreamer_file.c.
References Assert(), bbstreamer_plain_writer::base, bbstreamer::bbs_next, bbstreamer_plain_writer::pathname, pfree(), and bbstreamer_plain_writer::should_close_file.
bbstreamer* bbstreamer_plain_writer_new | ( | char * | pathname, |
FILE * | file | ||
) |
Definition at line 78 of file bbstreamer_file.c.
References bbstreamer_plain_writer::base, bbstreamer::bbs_ops, bbstreamer_plain_writer_ops, bbstreamer_plain_writer::file, palloc0(), bbstreamer_plain_writer::pathname, pg_fatal, pstrdup(), and bbstreamer_plain_writer::should_close_file.
Referenced by CreateBackupStreamer().
|
static |
Definition at line 354 of file bbstreamer_file.c.
References filename, mode, and pg_fatal.
Referenced by bbstreamer_extractor_content().
|
static |
Definition at line 316 of file bbstreamer_file.c.
References filename, mkdir, mode, pg_dir_create_mode, pg_fatal, and should_allow_existing_directory().
Referenced by bbstreamer_extractor_content().
|
static |
Definition at line 341 of file bbstreamer_file.c.
References filename, pg_fatal, and symlink.
Referenced by bbstreamer_extractor_content().
|
static |
Definition at line 292 of file bbstreamer_file.c.
References filename, and last_dir_separator().
Referenced by extract_directory().
const bbstreamer_ops bbstreamer_extractor_ops |
Definition at line 62 of file bbstreamer_file.c.
Referenced by bbstreamer_extractor_new().
const bbstreamer_ops bbstreamer_plain_writer_ops |
Definition at line 46 of file bbstreamer_file.c.
Referenced by bbstreamer_plain_writer_new().