PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | file_entry_t |
struct | filemap_t |
Typedefs | |
typedef struct file_entry_t | file_entry_t |
typedef struct filemap_t | filemap_t |
Enumerations | |
enum | file_action_t { FILE_ACTION_UNDECIDED = 0 , FILE_ACTION_CREATE , FILE_ACTION_COPY , FILE_ACTION_COPY_TAIL , FILE_ACTION_NONE , FILE_ACTION_TRUNCATE , FILE_ACTION_REMOVE } |
enum | file_type_t { FILE_TYPE_UNDEFINED = 0 , FILE_TYPE_REGULAR , FILE_TYPE_DIRECTORY , FILE_TYPE_SYMLINK } |
Functions | |
void | filehash_init (void) |
void | process_source_file (const char *path, file_type_t type, size_t size, const char *link_target) |
void | process_target_file (const char *path, file_type_t type, size_t size, const char *link_target) |
void | process_target_wal_block_change (ForkNumber forknum, RelFileLocator rlocator, BlockNumber blkno) |
filemap_t * | decide_file_actions (void) |
void | calculate_totals (filemap_t *filemap) |
void | print_filemap (filemap_t *filemap) |
void | keepwal_init (void) |
void | keepwal_add_entry (const char *path) |
typedef struct file_entry_t file_entry_t |
enum file_action_t |
enum file_type_t |
void calculate_totals | ( | filemap_t * | filemap | ) |
Definition at line 499 of file filemap.c.
References file_entry_t::action, datapagemap::bitmapsize, datapagemap_iterate(), datapagemap_next(), filemap_t::entries, filemap_t::fetch_size, FILE_ACTION_COPY, FILE_ACTION_COPY_TAIL, FILE_TYPE_REGULAR, i, filemap_t::nentries, pg_free(), file_entry_t::source_size, file_entry_t::source_type, file_entry_t::target_pages_to_overwrite, file_entry_t::target_size, and filemap_t::total_size.
Referenced by main().
filemap_t* decide_file_actions | ( | void | ) |
Definition at line 861 of file filemap.c.
References file_entry_t::action, decide_file_action(), filemap_t::entries, filehash, final_filemap_cmp(), i, filemap_t::nentries, pg_malloc(), and qsort.
Referenced by main().
void filehash_init | ( | void | ) |
Definition at line 196 of file filemap.c.
References filehash, and FILEHASH_INITIAL_SIZE.
Referenced by main().
void keepwal_add_entry | ( | const char * | path | ) |
Definition at line 250 of file filemap.c.
References Assert, keepwal, keepwal_entry::path, and pg_strdup().
Referenced by findLastCheckpoint().
void keepwal_init | ( | void | ) |
Definition at line 242 of file filemap.c.
References keepwal, and KEEPWAL_INITIAL_SIZE.
Referenced by main().
void print_filemap | ( | filemap_t * | filemap | ) |
Definition at line 540 of file filemap.c.
References file_entry_t::action, action_to_str(), datapagemap::bitmapsize, datapagemap_print(), filemap_t::entries, fflush(), FILE_ACTION_NONE, i, filemap_t::nentries, file_entry_t::path, pg_log_debug, generate_unaccent_rules::stdout, and file_entry_t::target_pages_to_overwrite.
Referenced by main().
void process_source_file | ( | const char * | path, |
file_type_t | type, | ||
size_t | size, | ||
const char * | link_target | ||
) |
Definition at line 279 of file filemap.c.
References FILE_TYPE_DIRECTORY, FILE_TYPE_REGULAR, FILE_TYPE_SYMLINK, insert_filehash_entry(), isRelDataFile(), pg_fatal, pg_strdup(), size, file_entry_t::source_exists, file_entry_t::source_link_target, file_entry_t::source_size, file_entry_t::source_type, and type.
Referenced by main().
void process_target_file | ( | const char * | path, |
file_type_t | type, | ||
size_t | size, | ||
const char * | link_target | ||
) |
Definition at line 315 of file filemap.c.
References FILE_TYPE_DIRECTORY, FILE_TYPE_SYMLINK, insert_filehash_entry(), pg_fatal, pg_strdup(), size, file_entry_t::target_exists, file_entry_t::target_link_target, file_entry_t::target_size, file_entry_t::target_type, and type.
Referenced by main().
void process_target_wal_block_change | ( | ForkNumber | forknum, |
RelFileLocator | rlocator, | ||
BlockNumber | blkno | ||
) |
Definition at line 352 of file filemap.c.
References Assert, datapagemap_add(), datasegpath(), FILE_TYPE_REGULAR, file_entry_t::isrelfile, lookup_filehash_entry(), file_entry_t::path, pfree(), pg_fatal, file_entry_t::source_exists, file_entry_t::target_exists, file_entry_t::target_pages_to_overwrite, and file_entry_t::target_type.
Referenced by extractPageInfo().