From 13e0d7a603852b8b05c03b45228daabffa0cced2 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 23 Dec 2022 09:15:01 +0900 Subject: [PATCH] Rename pg_dissect_walfile_name() to pg_split_walfile_name() The former name was discussed as being confusing, so use "split", as per a suggestion from Magnus Hagander. While on it, one of the output arguments is renamed from "segno" to "segment_number", as per a suggestion from Kyotaro Horiguchi. The documentation is updated to reflect all these changes. Bump catalog version. Author: Bharath Rupireddy, Michael Paquier Discussion: https://postgr.es/m/CABUevEytQVaOOhGdoh0D7hGwe3fuKcRF6NthsSW7ww04EmtFgQ@mail.gmail.com --- doc/src/sgml/func.sgml | 14 ++++---- src/backend/access/transam/xlogfuncs.c | 10 +++--- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_proc.dat | 6 ++-- src/test/regress/expected/misc_functions.out | 36 ++++++++++---------- src/test/regress/sql/misc_functions.sql | 14 ++++---- 6 files changed, 41 insertions(+), 41 deletions(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 1f63dc6dba..836b9254fb 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -26101,15 +26101,15 @@ LOG: Grand total: 1651920 bytes in 201 blocks; 622360 free (88 chunks); 1029560 - pg_dissect_walfile_name + pg_split_walfile_name - pg_dissect_walfile_name ( file_name text ) + pg_split_walfile_name ( file_name text ) record - ( segno numeric, + ( segment_number numeric, timeline_id bigint ) - Extracts the file sequence number and timeline ID from a WAL file + Extracts the sequence number and timeline ID from a WAL file name. @@ -26172,13 +26172,13 @@ postgres=# SELECT * FROM pg_walfile_name_offset((pg_backup_stop()).lsn); - pg_dissect_walfile_name is useful to compute a + pg_split_walfile_name is useful to compute a LSN from a file offset and WAL file name, for example: postgres=# \set file_name '000000010000000100C000AB' postgres=# \set offset 256 -postgres=# SELECT '0/0'::pg_lsn + pd.segno * ps.setting::int + :offset AS lsn - FROM pg_dissect_walfile_name(:'file_name') pd, +postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset AS lsn + FROM pg_split_walfile_name(:'file_name') pd, pg_show_all_settings() ps WHERE ps.name = 'wal_segment_size'; lsn diff --git a/src/backend/access/transam/xlogfuncs.c b/src/backend/access/transam/xlogfuncs.c index 0a31837ef1..5c0ec0b662 100644 --- a/src/backend/access/transam/xlogfuncs.c +++ b/src/backend/access/transam/xlogfuncs.c @@ -437,16 +437,16 @@ pg_walfile_name(PG_FUNCTION_ARGS) * name. */ Datum -pg_dissect_walfile_name(PG_FUNCTION_ARGS) +pg_split_walfile_name(PG_FUNCTION_ARGS) { -#define PG_DISSECT_WALFILE_NAME_COLS 2 +#define PG_SPLIT_WALFILE_NAME_COLS 2 char *fname = text_to_cstring(PG_GETARG_TEXT_PP(0)); char *fname_upper; char *p; TimeLineID tli; XLogSegNo segno; - Datum values[PG_DISSECT_WALFILE_NAME_COLS] = {0}; - bool isnull[PG_DISSECT_WALFILE_NAME_COLS] = {0}; + Datum values[PG_SPLIT_WALFILE_NAME_COLS] = {0}; + bool isnull[PG_SPLIT_WALFILE_NAME_COLS] = {0}; TupleDesc tupdesc; HeapTuple tuple; char buf[256]; @@ -482,7 +482,7 @@ pg_dissect_walfile_name(PG_FUNCTION_ARGS) PG_RETURN_DATUM(result); -#undef PG_DISSECT_WALFILE_NAME_COLS +#undef PG_SPLIT_WALFILE_NAME_COLS } /* diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index eba0146390..1adf1403c8 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -57,6 +57,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202212231 +#define CATALOG_VERSION_NO 202212232 #endif diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index 9e9de75a43..88bd472ecd 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -6374,11 +6374,11 @@ prosrc => 'pg_walfile_name' }, { oid => '8205', descr => 'sequence number and timeline ID given a wal filename', - proname => 'pg_dissect_walfile_name', provolatile => 's', + proname => 'pg_split_walfile_name', provolatile => 's', prorettype => 'record', proargtypes => 'text', proallargtypes => '{text,numeric,int8}', proargmodes => '{i,o,o}', - proargnames => '{file_name,segno,timeline_id}', - prosrc => 'pg_dissect_walfile_name' }, + proargnames => '{file_name,segment_number,timeline_id}', + prosrc => 'pg_split_walfile_name' }, { oid => '3165', descr => 'difference in bytes, given two wal locations', proname => 'pg_wal_lsn_diff', prorettype => 'numeric', diff --git a/src/test/regress/expected/misc_functions.out b/src/test/regress/expected/misc_functions.out index 2907f779a7..c669948370 100644 --- a/src/test/regress/expected/misc_functions.out +++ b/src/test/regress/expected/misc_functions.out @@ -619,26 +619,26 @@ SELECT count(*) > 0 AS ok FROM pg_control_system(); t (1 row) --- pg_dissect_walfile_name -SELECT * FROM pg_dissect_walfile_name(NULL); - segno | timeline_id --------+------------- - | +-- pg_split_walfile_name +SELECT * FROM pg_split_walfile_name(NULL); + segment_number | timeline_id +----------------+------------- + | (1 row) -SELECT * FROM pg_dissect_walfile_name('invalid'); +SELECT * FROM pg_split_walfile_name('invalid'); ERROR: invalid WAL file name "invalid" -SELECT segno > 0 AS ok_segno, timeline_id - FROM pg_dissect_walfile_name('000000010000000100000000'); - ok_segno | timeline_id -----------+------------- - t | 1 -(1 row) - -SELECT segno > 0 AS ok_segno, timeline_id - FROM pg_dissect_walfile_name('ffffffFF00000001000000af'); - ok_segno | timeline_id -----------+------------- - t | 4294967295 +SELECT segment_number > 0 AS ok_segment_number, timeline_id + FROM pg_split_walfile_name('000000010000000100000000'); + ok_segment_number | timeline_id +-------------------+------------- + t | 1 +(1 row) + +SELECT segment_number > 0 AS ok_segment_number, timeline_id + FROM pg_split_walfile_name('ffffffFF00000001000000af'); + ok_segment_number | timeline_id +-------------------+------------- + t | 4294967295 (1 row) diff --git a/src/test/regress/sql/misc_functions.sql b/src/test/regress/sql/misc_functions.sql index 0c3d75fd1a..b57f01f3e9 100644 --- a/src/test/regress/sql/misc_functions.sql +++ b/src/test/regress/sql/misc_functions.sql @@ -230,10 +230,10 @@ SELECT count(*) > 0 AS ok FROM pg_control_init(); SELECT count(*) > 0 AS ok FROM pg_control_recovery(); SELECT count(*) > 0 AS ok FROM pg_control_system(); --- pg_dissect_walfile_name -SELECT * FROM pg_dissect_walfile_name(NULL); -SELECT * FROM pg_dissect_walfile_name('invalid'); -SELECT segno > 0 AS ok_segno, timeline_id - FROM pg_dissect_walfile_name('000000010000000100000000'); -SELECT segno > 0 AS ok_segno, timeline_id - FROM pg_dissect_walfile_name('ffffffFF00000001000000af'); +-- pg_split_walfile_name +SELECT * FROM pg_split_walfile_name(NULL); +SELECT * FROM pg_split_walfile_name('invalid'); +SELECT segment_number > 0 AS ok_segment_number, timeline_id + FROM pg_split_walfile_name('000000010000000100000000'); +SELECT segment_number > 0 AS ok_segment_number, timeline_id + FROM pg_split_walfile_name('ffffffFF00000001000000af'); -- 2.39.5