PostgreSQL Source Code git master
Loading...
Searching...
No Matches
rewind_source.h File Reference
#include "access/xlogdefs.h"
#include "file_ops.h"
#include "filemap.h"
#include "libpq-fe.h"
Include dependency graph for rewind_source.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rewind_source
 

Typedefs

typedef struct rewind_source rewind_source
 

Functions

rewind_sourceinit_libpq_source (PGconn *conn)
 
rewind_sourceinit_local_source (const char *datadir)
 

Typedef Documentation

◆ rewind_source

Function Documentation

◆ init_libpq_source()

rewind_source * init_libpq_source ( PGconn conn)
extern

Definition at line 81 of file libpq_source.c.

82{
83 libpq_source *src;
84
86
87 src = pg_malloc0(sizeof(libpq_source));
88
96
97 src->conn = conn;
98
99 initStringInfo(&src->paths);
100 initStringInfo(&src->offsets);
101 initStringInfo(&src->lengths);
102
103 return &src->common;
104}
void * pg_malloc0(size_t size)
Definition fe_memutils.c:53
static void init_libpq_conn(PGconn *conn)
static char * libpq_fetch_file(rewind_source *source, const char *path, size_t *filesize)
static XLogRecPtr libpq_get_current_wal_insert_lsn(rewind_source *source)
static void libpq_traverse_files(rewind_source *source, process_file_callback_t callback)
static void libpq_destroy(rewind_source *source)
static void libpq_queue_fetch_range(rewind_source *source, const char *path, off_t off, size_t len)
static void libpq_queue_fetch_file(rewind_source *source, const char *path, size_t len)
static void libpq_finish_fetch(rewind_source *source)
PGconn * conn
Definition streamutil.c:52
void initStringInfo(StringInfo str)
Definition stringinfo.c:97
StringInfoData paths
StringInfoData lengths
PGconn * conn
StringInfoData offsets
rewind_source common
void(* queue_fetch_file)(struct rewind_source *, const char *path, size_t len)
void(* traverse_files)(struct rewind_source *, process_file_callback_t callback)
void(* finish_fetch)(struct rewind_source *)
XLogRecPtr(* get_current_wal_insert_lsn)(struct rewind_source *)
void(* queue_fetch_range)(struct rewind_source *, const char *path, off_t offset, size_t len)
char *(* fetch_file)(struct rewind_source *, const char *path, size_t *filesize)
void(* destroy)(struct rewind_source *)

References libpq_source::common, conn, libpq_source::conn, rewind_source::destroy, rewind_source::fetch_file, rewind_source::finish_fetch, rewind_source::get_current_wal_insert_lsn, init_libpq_conn(), initStringInfo(), libpq_source::lengths, libpq_destroy(), libpq_fetch_file(), libpq_finish_fetch(), libpq_get_current_wal_insert_lsn(), libpq_queue_fetch_file(), libpq_queue_fetch_range(), libpq_traverse_files(), libpq_source::offsets, libpq_source::paths, pg_malloc0(), rewind_source::queue_fetch_file, rewind_source::queue_fetch_range, and rewind_source::traverse_files.

Referenced by main().

◆ init_local_source()

rewind_source * init_local_source ( const char datadir)
extern

Definition at line 38 of file local_source.c.

39{
40 local_source *src;
41
42 src = pg_malloc0(sizeof(local_source));
43
51
52 src->datadir = datadir;
53
54 return &src->common;
55}
static void local_queue_fetch_file(rewind_source *source, const char *path, size_t len)
static void local_destroy(rewind_source *source)
static void local_traverse_files(rewind_source *source, process_file_callback_t callback)
static char * local_fetch_file(rewind_source *source, const char *path, size_t *filesize)
static void local_finish_fetch(rewind_source *source)
static void local_queue_fetch_range(rewind_source *source, const char *path, off_t off, size_t len)
char * datadir
static int fb(int x)
rewind_source common
const char * datadir

References local_source::common, local_source::datadir, datadir, rewind_source::destroy, fb(), rewind_source::fetch_file, rewind_source::finish_fetch, rewind_source::get_current_wal_insert_lsn, local_destroy(), local_fetch_file(), local_finish_fetch(), local_queue_fetch_file(), local_queue_fetch_range(), local_traverse_files(), pg_malloc0(), rewind_source::queue_fetch_file, rewind_source::queue_fetch_range, and rewind_source::traverse_files.

Referenced by main().