PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | JsonManifestParseContext |
Typedefs | |
typedef struct JsonManifestParseContext | JsonManifestParseContext |
typedef struct JsonManifestParseIncrementalState | JsonManifestParseIncrementalState |
typedef void(* | json_manifest_version_callback) (JsonManifestParseContext *, int manifest_version) |
typedef void(* | json_manifest_system_identifier_callback) (JsonManifestParseContext *, uint64 manifest_system_identifier) |
typedef void(* | json_manifest_per_file_callback) (JsonManifestParseContext *, const char *pathname, uint64 size, pg_checksum_type checksum_type, int checksum_length, uint8 *checksum_payload) |
typedef void(* | json_manifest_per_wal_range_callback) (JsonManifestParseContext *, TimeLineID tli, XLogRecPtr start_lsn, XLogRecPtr end_lsn) |
typedef void(* | json_manifest_error_callback) (JsonManifestParseContext *, const char *fmt,...) pg_attribute_printf(2 |
typedef void(* | pg_attribute_noreturn) () |
Functions | |
void | json_parse_manifest (JsonManifestParseContext *context, const char *buffer, size_t size) |
JsonManifestParseIncrementalState * | json_parse_manifest_incremental_init (JsonManifestParseContext *context) |
void | json_parse_manifest_incremental_chunk (JsonManifestParseIncrementalState *incstate, const char *chunk, size_t size, bool is_last) |
void | json_parse_manifest_incremental_shutdown (JsonManifestParseIncrementalState *incstate) |
typedef void(* json_manifest_error_callback) (JsonManifestParseContext *, const char *fmt,...) pg_attribute_printf(2 |
Definition at line 36 of file parse_manifest.h.
typedef void(* json_manifest_per_file_callback) (JsonManifestParseContext *, const char *pathname, uint64 size, pg_checksum_type checksum_type, int checksum_length, uint8 *checksum_payload) |
Definition at line 29 of file parse_manifest.h.
typedef void(* json_manifest_per_wal_range_callback) (JsonManifestParseContext *, TimeLineID tli, XLogRecPtr start_lsn, XLogRecPtr end_lsn) |
Definition at line 33 of file parse_manifest.h.
typedef void(* json_manifest_system_identifier_callback) (JsonManifestParseContext *, uint64 manifest_system_identifier) |
Definition at line 27 of file parse_manifest.h.
typedef void(* json_manifest_version_callback) (JsonManifestParseContext *, int manifest_version) |
Definition at line 25 of file parse_manifest.h.
typedef struct JsonManifestParseContext JsonManifestParseContext |
Definition at line 1 of file parse_manifest.h.
Definition at line 1 of file parse_manifest.h.
typedef void(* pg_attribute_noreturn) () |
Definition at line 38 of file parse_manifest.h.
void json_parse_manifest | ( | JsonManifestParseContext * | context, |
const char * | buffer, | ||
size_t | size | ||
) |
Definition at line 227 of file parse_manifest.c.
References JsonSemAction::array_element_end, JsonSemAction::array_element_start, JsonSemAction::array_end, JsonSemAction::array_start, context, freeJsonLexContext(), JM_EXPECT_EOF, JM_EXPECT_TOPLEVEL_START, json_errdetail(), json_manifest_array_end(), json_manifest_array_start(), json_manifest_object_end(), json_manifest_object_field_start(), json_manifest_object_start(), json_manifest_parse_failure(), json_manifest_scalar(), JSON_SUCCESS, makeJsonLexContextCstringLen(), JsonSemAction::object_end, JsonSemAction::object_field_end, JsonSemAction::object_field_start, JsonSemAction::object_start, parse(), pg_parse_json(), PG_UTF8, JsonSemAction::scalar, sem, JsonSemAction::semstate, size, and verify_manifest_checksum().
Referenced by load_backup_manifest(), and parse_manifest_file().
void json_parse_manifest_incremental_chunk | ( | JsonManifestParseIncrementalState * | incstate, |
const char * | chunk, | ||
size_t | size, | ||
bool | is_last | ||
) |
Definition at line 185 of file parse_manifest.c.
References chunk, context, JM_EXPECT_EOF, json_errdetail(), JSON_INCOMPLETE, json_manifest_parse_failure(), JSON_SUCCESS, JsonManifestParseIncrementalState::lex, JsonManifestParseIncrementalState::manifest_ctx, parse(), pg_cryptohash_update(), pg_parse_json_incremental(), res, JsonManifestParseIncrementalState::sem, JsonSemAction::semstate, size, and verify_manifest_checksum().
Referenced by AppendIncrementalManifestData(), FinalizeIncrementalManifest(), load_backup_manifest(), and parse_manifest_file().
JsonManifestParseIncrementalState* json_parse_manifest_incremental_init | ( | JsonManifestParseContext * | context | ) |
Definition at line 129 of file parse_manifest.c.
References JsonSemAction::array_element_end, JsonSemAction::array_element_start, JsonSemAction::array_end, JsonSemAction::array_start, context, JM_EXPECT_TOPLEVEL_START, json_manifest_array_end(), json_manifest_array_start(), json_manifest_object_end(), json_manifest_object_field_start(), json_manifest_object_start(), json_manifest_scalar(), JsonManifestParseIncrementalState::lex, makeJsonLexContextIncremental(), JsonManifestParseIncrementalState::manifest_ctx, JsonSemAction::object_end, JsonSemAction::object_field_end, JsonSemAction::object_field_start, JsonSemAction::object_start, palloc(), parse(), pg_cryptohash_create(), pg_cryptohash_init(), PG_SHA256, PG_UTF8, JsonSemAction::scalar, JsonManifestParseIncrementalState::sem, and JsonSemAction::semstate.
Referenced by CreateIncrementalBackupInfo(), load_backup_manifest(), and parse_manifest_file().
void json_parse_manifest_incremental_shutdown | ( | JsonManifestParseIncrementalState * | incstate | ) |
Definition at line 169 of file parse_manifest.c.
References freeJsonLexContext(), JsonManifestParseIncrementalState::lex, pfree(), JsonManifestParseIncrementalState::sem, and JsonSemAction::semstate.
Referenced by FinalizeIncrementalManifest(), load_backup_manifest(), and parse_manifest_file().