PostgreSQL Source Code git master
Functions
compress_none.c File Reference
#include "postgres_fe.h"
#include <unistd.h>
#include "compress_none.h"
#include "pg_backup_utils.h"
Include dependency graph for compress_none.c:

Go to the source code of this file.

Functions

 
static void  WriteDataToArchiveNone (ArchiveHandle *AH, CompressorState *cs, const void *data, size_t dLen)
 
 
void  InitCompressorNone (CompressorState *cs, const pg_compress_specification compression_spec)
 
static size_t  read_none (void *ptr, size_t size, CompressFileHandle *CFH)
 
static void  write_none (const void *ptr, size_t size, CompressFileHandle *CFH)
 
static const char *  get_error_none (CompressFileHandle *CFH)
 
static char *  gets_none (char *ptr, int size, CompressFileHandle *CFH)
 
static int  getc_none (CompressFileHandle *CFH)
 
static bool  close_none (CompressFileHandle *CFH)
 
static bool  eof_none (CompressFileHandle *CFH)
 
static bool  open_none (const char *path, int fd, const char *mode, CompressFileHandle *CFH)
 
static bool  open_write_none (const char *path, const char *mode, CompressFileHandle *CFH)
 
 

Function Documentation

close_none()

static bool close_none ( CompressFileHandleCFH )
static

Definition at line 144 of file compress_none.c.

145{
146 FILE *fp = (FILE *) CFH->private_data;
147 int ret = 0;
148
149 CFH->private_data = NULL;
150
151 if (fp)
152 {
153 errno = 0;
154 ret = fclose(fp);
155 if (ret != 0)
156 pg_log_error("could not close file: %m");
157 }
158
159 return ret == 0;
160}
if(TABLE==NULL||TABLE_index==NULL)
Definition: isn.c:81
#define pg_log_error(...)
Definition: logging.h:106
void * private_data
Definition: compress_io.h:192

References if(), pg_log_error, and CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

EndCompressorNone()

static void EndCompressorNone ( ArchiveHandleAH,
CompressorStatecs 
)
static

Definition at line 56 of file compress_none.c.

57{
58 /* no op */
59}

Referenced by InitCompressorNone().

eof_none()

static bool eof_none ( CompressFileHandleCFH )
static

Definition at line 163 of file compress_none.c.

164{
165 return feof((FILE *) CFH->private_data) != 0;
166}

References CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

get_error_none()

static const char * get_error_none ( CompressFileHandleCFH )
static

Definition at line 114 of file compress_none.c.

115{
116 return strerror(errno);
117}
#define strerror
Definition: port.h:252

References strerror.

Referenced by InitCompressFileHandleNone().

getc_none()

static int getc_none ( CompressFileHandleCFH )
static

Definition at line 126 of file compress_none.c.

127{
128 FILE *fp = (FILE *) CFH->private_data;
129 int ret;
130
131 ret = fgetc(fp);
132 if (ret == EOF)
133 {
134 if (!feof(fp))
135 pg_fatal("could not read from input file: %m");
136 else
137 pg_fatal("could not read from input file: end of file");
138 }
139
140 return ret;
141}
#define pg_fatal(...)

References pg_fatal, and CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

gets_none()

static char * gets_none ( char *  ptr,
int  size,
CompressFileHandleCFH 
)
static

Definition at line 120 of file compress_none.c.

121{
122 return fgets(ptr, size, (FILE *) CFH->private_data);
123}

References CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

InitCompressFileHandleNone()

void InitCompressFileHandleNone ( CompressFileHandleCFH,
const pg_compress_specification  compression_spec 
)

Definition at line 201 of file compress_none.c.

203{
204 CFH->open_func = open_none;
206 CFH->read_func = read_none;
207 CFH->write_func = write_none;
208 CFH->gets_func = gets_none;
209 CFH->getc_func = getc_none;
210 CFH->close_func = close_none;
211 CFH->eof_func = eof_none;
213
214 CFH->private_data = NULL;
215}
static bool close_none(CompressFileHandle *CFH)
Definition: compress_none.c:144
static void write_none(const void *ptr, size_t size, CompressFileHandle *CFH)
Definition: compress_none.c:100
static int getc_none(CompressFileHandle *CFH)
Definition: compress_none.c:126
static bool eof_none(CompressFileHandle *CFH)
Definition: compress_none.c:163
static char * gets_none(char *ptr, int size, CompressFileHandle *CFH)
Definition: compress_none.c:120
static bool open_write_none(const char *path, const char *mode, CompressFileHandle *CFH)
Definition: compress_none.c:185
static size_t read_none(void *ptr, size_t size, CompressFileHandle *CFH)
Definition: compress_none.c:87
static bool open_none(const char *path, int fd, const char *mode, CompressFileHandle *CFH)
Definition: compress_none.c:169
static const char * get_error_none(CompressFileHandle *CFH)
Definition: compress_none.c:114
char *(* gets_func)(char *s, int size, CompressFileHandle *CFH)
Definition: compress_io.h:153
bool(* open_write_func)(const char *path, const char *mode, CompressFileHandle *CFH)
Definition: compress_io.h:122
int(* getc_func)(CompressFileHandle *CFH)
Definition: compress_io.h:162
const char *(* get_error_func)(CompressFileHandle *CFH)
Definition: compress_io.h:182
bool(* eof_func)(CompressFileHandle *CFH)
Definition: compress_io.h:169
size_t(* read_func)(void *ptr, size_t size, CompressFileHandle *CFH)
Definition: compress_io.h:132
bool(* open_func)(const char *path, int fd, const char *mode, CompressFileHandle *CFH)
Definition: compress_io.h:111
bool(* close_func)(CompressFileHandle *CFH)
Definition: compress_io.h:176
void(* write_func)(const void *ptr, size_t size, CompressFileHandle *CFH)
Definition: compress_io.h:140

References CompressFileHandle::close_func, close_none(), CompressFileHandle::eof_func, eof_none(), CompressFileHandle::get_error_func, get_error_none(), CompressFileHandle::getc_func, getc_none(), CompressFileHandle::gets_func, gets_none(), CompressFileHandle::open_func, open_none(), CompressFileHandle::open_write_func, open_write_none(), CompressFileHandle::private_data, CompressFileHandle::read_func, read_none(), CompressFileHandle::write_func, and write_none().

Referenced by InitCompressFileHandle().

InitCompressorNone()

void InitCompressorNone ( CompressorStatecs,
const pg_compress_specification  compression_spec 
)

Definition at line 66 of file compress_none.c.

68{
72
73 cs->compression_spec = compression_spec;
74}
static void EndCompressorNone(ArchiveHandle *AH, CompressorState *cs)
Definition: compress_none.c:56
static void WriteDataToArchiveNone(ArchiveHandle *AH, CompressorState *cs, const void *data, size_t dLen)
Definition: compress_none.c:49
static void ReadDataFromArchiveNone(ArchiveHandle *AH, CompressorState *cs)
Definition: compress_none.c:30
void(* readData)(ArchiveHandle *AH, CompressorState *cs)
Definition: compress_io.h:56
pg_compress_specification compression_spec
Definition: compress_io.h:82
void(* end)(ArchiveHandle *AH, CompressorState *cs)
Definition: compress_io.h:67
void(* writeData)(ArchiveHandle *AH, CompressorState *cs, const void *data, size_t dLen)
Definition: compress_io.h:61

References CompressorState::compression_spec, CompressorState::end, EndCompressorNone(), CompressorState::readData, ReadDataFromArchiveNone(), CompressorState::writeData, and WriteDataToArchiveNone().

Referenced by AllocateCompressor().

open_none()

static bool open_none ( const char *  path,
int  fd,
const char *  mode,
CompressFileHandleCFH 
)
static

Definition at line 169 of file compress_none.c.

170{
171 Assert(CFH->private_data == NULL);
172
173 if (fd >= 0)
174 CFH->private_data = fdopen(dup(fd), mode);
175 else
176 CFH->private_data = fopen(path, mode);
177
178 if (CFH->private_data == NULL)
179 return false;
180
181 return true;
182}
Assert(PointerIsAligned(start, uint64))
static PgChecksumMode mode
Definition: pg_checksums.c:55
static int fd(const char *x, int i)
Definition: preproc-init.c:105

References Assert(), fd(), mode, and CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

open_write_none()

static bool open_write_none ( const char *  path,
const char *  mode,
CompressFileHandleCFH 
)
static

Definition at line 185 of file compress_none.c.

186{
187 Assert(CFH->private_data == NULL);
188
189 CFH->private_data = fopen(path, mode);
190 if (CFH->private_data == NULL)
191 return false;
192
193 return true;
194}

References Assert(), mode, and CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

read_none()

static size_t read_none ( void *  ptr,
size_t  size,
CompressFileHandleCFH 
)
static

Definition at line 87 of file compress_none.c.

88{
89 FILE *fp = (FILE *) CFH->private_data;
90 size_t ret;
91
92 ret = fread(ptr, 1, size, fp);
93 if (ferror(fp))
94 pg_fatal("could not read from input file: %m");
95
96 return ret;
97}

References pg_fatal, and CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

ReadDataFromArchiveNone()

static void ReadDataFromArchiveNone ( ArchiveHandleAH,
CompressorStatecs 
)
static

Definition at line 30 of file compress_none.c.

31{
32 size_t cnt;
33 char *buf;
34 size_t buflen;
35
37 buf = pg_malloc(buflen);
38
39 while ((cnt = cs->readF(AH, &buf, &buflen)))
40 {
41 ahwrite(buf, 1, cnt, AH);
42 }
43
44 free(buf);
45}
#define DEFAULT_IO_BUFFER_SIZE
Definition: compress_io.h:27
void * pg_malloc(size_t size)
Definition: fe_memutils.c:47
#define free(a)
Definition: header.h:65
void ahwrite(const void *ptr, size_t size, size_t nmemb, ArchiveHandle *AH)
static char * buf
Definition: pg_test_fsync.c:72
ReadFunc readF
Definition: compress_io.h:72

References ahwrite(), buf, DEFAULT_IO_BUFFER_SIZE, free, pg_malloc(), and CompressorState::readF.

Referenced by InitCompressorNone().

write_none()

static void write_none ( const void *  ptr,
size_t  size,
CompressFileHandleCFH 
)
static

Definition at line 100 of file compress_none.c.

101{
102 size_t ret;
103
104 errno = 0;
105 ret = fwrite(ptr, 1, size, (FILE *) CFH->private_data);
106 if (ret != size)
107 {
108 errno = (errno) ? errno : ENOSPC;
109 pg_fatal("could not write to file: %m");
110 }
111}

References pg_fatal, and CompressFileHandle::private_data.

Referenced by InitCompressFileHandleNone().

WriteDataToArchiveNone()

static void WriteDataToArchiveNone ( ArchiveHandleAH,
CompressorStatecs,
const void *  data,
size_t  dLen 
)
static

Definition at line 49 of file compress_none.c.

51{
52 cs->writeF(AH, data, dLen);
53}
const void * data
WriteFunc writeF
Definition: compress_io.h:77

References data, and CompressorState::writeF.

Referenced by InitCompressorNone().

AltStyle によって変換されたページ (->オリジナル) /