PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | JsonManifestParseState |
struct | JsonManifestParseIncrementalState |
Enumerator | |
---|---|
JMFF_PATH | |
JMFF_ENCODED_PATH | |
JMFF_SIZE | |
JMFF_LAST_MODIFIED | |
JMFF_CHECKSUM_ALGORITHM | |
JMFF_CHECKSUM |
Definition at line 44 of file parse_manifest.c.
Definition at line 22 of file parse_manifest.c.
Enumerator | |
---|---|
JMWRF_TIMELINE | |
JMWRF_START_LSN | |
JMWRF_END_LSN |
Definition at line 57 of file parse_manifest.c.
|
static |
|
static |
Definition at line 918 of file parse_manifest.c.
References hexdecode_char(), i, and input.
Referenced by json_manifest_finalize_file(), and verify_manifest_checksum().
|
static |
Definition at line 378 of file parse_manifest.c.
References JM_EXPECT_FILES_NEXT, JM_EXPECT_TOPLEVEL_FIELD, JM_EXPECT_WAL_RANGES_NEXT, json_manifest_parse_failure(), JSON_SUCCESS, and parse().
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_init().
|
static |
Definition at line 351 of file parse_manifest.c.
References JM_EXPECT_FILES_NEXT, JM_EXPECT_FILES_START, JM_EXPECT_WAL_RANGES_NEXT, JM_EXPECT_WAL_RANGES_START, json_manifest_parse_failure(), JSON_SUCCESS, and parse().
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_init().
|
static |
Definition at line 649 of file parse_manifest.c.
References CHECKSUM_TYPE_NONE, context, hexdecode_string(), json_manifest_parse_failure(), palloc(), parse(), pfree(), pg_checksum_parse_type(), and size.
Referenced by json_manifest_object_end().
|
static |
Definition at line 624 of file parse_manifest.c.
References Assert, context, json_manifest_parse_failure(), and parse().
Referenced by json_manifest_scalar().
|
static |
Definition at line 596 of file parse_manifest.c.
References Assert, context, json_manifest_parse_failure(), and parse().
Referenced by json_manifest_scalar().
|
static |
Definition at line 751 of file parse_manifest.c.
References context, json_manifest_parse_failure(), parse(), parse_xlogrecptr(), and pfree().
Referenced by json_manifest_object_end().
|
static |
Definition at line 317 of file parse_manifest.c.
References JM_EXPECT_EOF, JM_EXPECT_FILES_NEXT, JM_EXPECT_THIS_FILE_FIELD, JM_EXPECT_THIS_WAL_RANGE_FIELD, JM_EXPECT_TOPLEVEL_END, JM_EXPECT_WAL_RANGES_NEXT, json_manifest_finalize_file(), json_manifest_finalize_wal_range(), json_manifest_parse_failure(), JSON_SUCCESS, and parse().
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_init().
|
static |
Definition at line 401 of file parse_manifest.c.
References JM_EXPECT_FILES_START, JM_EXPECT_MANIFEST_CHECKSUM_VALUE, JM_EXPECT_SYSTEM_IDENTIFIER_VALUE, JM_EXPECT_THIS_FILE_FIELD, JM_EXPECT_THIS_FILE_VALUE, JM_EXPECT_THIS_WAL_RANGE_FIELD, JM_EXPECT_THIS_WAL_RANGE_VALUE, JM_EXPECT_TOPLEVEL_FIELD, JM_EXPECT_VERSION_VALUE, JM_EXPECT_WAL_RANGES_START, JMFF_CHECKSUM, JMFF_CHECKSUM_ALGORITHM, JMFF_ENCODED_PATH, JMFF_LAST_MODIFIED, JMFF_PATH, JMFF_SIZE, JMWRF_END_LSN, JMWRF_START_LSN, JMWRF_TIMELINE, json_manifest_parse_failure(), JSON_SUCCESS, parse(), and pfree().
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_init().
|
static |
Definition at line 276 of file parse_manifest.c.
References JM_EXPECT_FILES_NEXT, JM_EXPECT_THIS_FILE_FIELD, JM_EXPECT_THIS_WAL_RANGE_FIELD, JM_EXPECT_TOPLEVEL_FIELD, JM_EXPECT_TOPLEVEL_START, JM_EXPECT_WAL_RANGES_NEXT, json_manifest_parse_failure(), JSON_SUCCESS, and parse().
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_init().
|
static |
Definition at line 889 of file parse_manifest.c.
References context.
Referenced by json_manifest_array_end(), json_manifest_array_start(), json_manifest_finalize_file(), json_manifest_finalize_system_identifier(), json_manifest_finalize_version(), json_manifest_finalize_wal_range(), json_manifest_object_end(), json_manifest_object_field_start(), json_manifest_object_start(), json_manifest_scalar(), json_parse_manifest(), json_parse_manifest_incremental_chunk(), and verify_manifest_checksum().
|
static |
Definition at line 517 of file parse_manifest.c.
References JM_EXPECT_MANIFEST_CHECKSUM_VALUE, JM_EXPECT_SYSTEM_IDENTIFIER_VALUE, JM_EXPECT_THIS_FILE_FIELD, JM_EXPECT_THIS_FILE_VALUE, JM_EXPECT_THIS_WAL_RANGE_FIELD, JM_EXPECT_THIS_WAL_RANGE_VALUE, JM_EXPECT_TOPLEVEL_END, JM_EXPECT_TOPLEVEL_FIELD, JM_EXPECT_VERSION_VALUE, JMFF_CHECKSUM, JMFF_CHECKSUM_ALGORITHM, JMFF_ENCODED_PATH, JMFF_LAST_MODIFIED, JMFF_PATH, JMFF_SIZE, JMWRF_END_LSN, JMWRF_START_LSN, JMWRF_TIMELINE, json_manifest_finalize_system_identifier(), json_manifest_finalize_version(), json_manifest_parse_failure(), JSON_SUCCESS, parse(), pfree(), and token.
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_init().
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().
|
static |
Definition at line 939 of file parse_manifest.c.
References input.
Referenced by json_manifest_finalize_wal_range().
|
static |
Definition at line 812 of file parse_manifest.c.
References context, hexdecode_string(), i, json_manifest_parse_failure(), parse(), pg_cryptohash_create(), pg_cryptohash_final(), pg_cryptohash_free(), pg_cryptohash_init(), pg_cryptohash_update(), PG_SHA256, PG_SHA256_DIGEST_LENGTH, and size.
Referenced by json_parse_manifest(), and json_parse_manifest_incremental_chunk().