1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-01 21:31:19 +03:00

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
This commit is contained in:
Michael Paquier
2022-12-23 09:15:01 +09:00
parent ed1a88ddac
commit 13e0d7a603
6 changed files with 39 additions and 39 deletions

View File

@@ -26101,15 +26101,15 @@ LOG: Grand total: 1651920 bytes in 201 blocks; 622360 free (88 chunks); 1029560
<row> <row>
<entry role="func_table_entry"><para role="func_signature"> <entry role="func_table_entry"><para role="func_signature">
<indexterm> <indexterm>
<primary>pg_dissect_walfile_name</primary> <primary>pg_split_walfile_name</primary>
</indexterm> </indexterm>
<function>pg_dissect_walfile_name</function> ( <parameter>file_name</parameter> <type>text</type> ) <function>pg_split_walfile_name</function> ( <parameter>file_name</parameter> <type>text</type> )
<returnvalue>record</returnvalue> <returnvalue>record</returnvalue>
( <parameter>segno</parameter> <type>numeric</type>, ( <parameter>segment_number</parameter> <type>numeric</type>,
<parameter>timeline_id</parameter> <type>bigint</type> ) <parameter>timeline_id</parameter> <type>bigint</type> )
</para> </para>
<para> <para>
Extracts the file sequence number and timeline ID from a WAL file Extracts the sequence number and timeline ID from a WAL file
name. name.
</para></entry> </para></entry>
</row> </row>
@@ -26172,13 +26172,13 @@ postgres=# SELECT * FROM pg_walfile_name_offset((pg_backup_stop()).lsn);
</para> </para>
<para> <para>
<function>pg_dissect_walfile_name</function> is useful to compute a <function>pg_split_walfile_name</function> is useful to compute a
<acronym>LSN</acronym> from a file offset and WAL file name, for example: <acronym>LSN</acronym> from a file offset and WAL file name, for example:
<programlisting> <programlisting>
postgres=# \set file_name '000000010000000100C000AB' postgres=# \set file_name '000000010000000100C000AB'
postgres=# \set offset 256 postgres=# \set offset 256
postgres=# SELECT '0/0'::pg_lsn + pd.segno * ps.setting::int + :offset AS lsn postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset AS lsn
FROM pg_dissect_walfile_name(:'file_name') pd, FROM pg_split_walfile_name(:'file_name') pd,
pg_show_all_settings() ps pg_show_all_settings() ps
WHERE ps.name = 'wal_segment_size'; WHERE ps.name = 'wal_segment_size';
lsn lsn

View File

@@ -437,16 +437,16 @@ pg_walfile_name(PG_FUNCTION_ARGS)
* name. * name.
*/ */
Datum 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 = text_to_cstring(PG_GETARG_TEXT_PP(0));
char *fname_upper; char *fname_upper;
char *p; char *p;
TimeLineID tli; TimeLineID tli;
XLogSegNo segno; XLogSegNo segno;
Datum values[PG_DISSECT_WALFILE_NAME_COLS] = {0}; Datum values[PG_SPLIT_WALFILE_NAME_COLS] = {0};
bool isnull[PG_DISSECT_WALFILE_NAME_COLS] = {0}; bool isnull[PG_SPLIT_WALFILE_NAME_COLS] = {0};
TupleDesc tupdesc; TupleDesc tupdesc;
HeapTuple tuple; HeapTuple tuple;
char buf[256]; char buf[256];
@@ -482,7 +482,7 @@ pg_dissect_walfile_name(PG_FUNCTION_ARGS)
PG_RETURN_DATUM(result); PG_RETURN_DATUM(result);
#undef PG_DISSECT_WALFILE_NAME_COLS #undef PG_SPLIT_WALFILE_NAME_COLS
} }
/* /*

View File

@@ -57,6 +57,6 @@
*/ */
/* yyyymmddN */ /* yyyymmddN */
#define CATALOG_VERSION_NO 202212231 #define CATALOG_VERSION_NO 202212232
#endif #endif

View File

@@ -6374,11 +6374,11 @@
prosrc => 'pg_walfile_name' }, prosrc => 'pg_walfile_name' },
{ oid => '8205', { oid => '8205',
descr => 'sequence number and timeline ID given a wal filename', 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', prorettype => 'record', proargtypes => 'text',
proallargtypes => '{text,numeric,int8}', proargmodes => '{i,o,o}', proallargtypes => '{text,numeric,int8}', proargmodes => '{i,o,o}',
proargnames => '{file_name,segno,timeline_id}', proargnames => '{file_name,segment_number,timeline_id}',
prosrc => 'pg_dissect_walfile_name' }, prosrc => 'pg_split_walfile_name' },
{ oid => '3165', descr => 'difference in bytes, given two wal locations', { oid => '3165', descr => 'difference in bytes, given two wal locations',
proname => 'pg_wal_lsn_diff', prorettype => 'numeric', proname => 'pg_wal_lsn_diff', prorettype => 'numeric',

View File

@@ -619,26 +619,26 @@ SELECT count(*) > 0 AS ok FROM pg_control_system();
t t
(1 row) (1 row)
-- pg_dissect_walfile_name -- pg_split_walfile_name
SELECT * FROM pg_dissect_walfile_name(NULL); SELECT * FROM pg_split_walfile_name(NULL);
segno | timeline_id segment_number | timeline_id
-------+------------- ----------------+-------------
| |
(1 row) (1 row)
SELECT * FROM pg_dissect_walfile_name('invalid'); SELECT * FROM pg_split_walfile_name('invalid');
ERROR: invalid WAL file name "invalid" ERROR: invalid WAL file name "invalid"
SELECT segno > 0 AS ok_segno, timeline_id SELECT segment_number > 0 AS ok_segment_number, timeline_id
FROM pg_dissect_walfile_name('000000010000000100000000'); FROM pg_split_walfile_name('000000010000000100000000');
ok_segno | timeline_id ok_segment_number | timeline_id
----------+------------- -------------------+-------------
t | 1 t | 1
(1 row) (1 row)
SELECT segno > 0 AS ok_segno, timeline_id SELECT segment_number > 0 AS ok_segment_number, timeline_id
FROM pg_dissect_walfile_name('ffffffFF00000001000000af'); FROM pg_split_walfile_name('ffffffFF00000001000000af');
ok_segno | timeline_id ok_segment_number | timeline_id
----------+------------- -------------------+-------------
t | 4294967295 t | 4294967295
(1 row) (1 row)

View File

@@ -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_recovery();
SELECT count(*) > 0 AS ok FROM pg_control_system(); SELECT count(*) > 0 AS ok FROM pg_control_system();
-- pg_dissect_walfile_name -- pg_split_walfile_name
SELECT * FROM pg_dissect_walfile_name(NULL); SELECT * FROM pg_split_walfile_name(NULL);
SELECT * FROM pg_dissect_walfile_name('invalid'); SELECT * FROM pg_split_walfile_name('invalid');
SELECT segno > 0 AS ok_segno, timeline_id SELECT segment_number > 0 AS ok_segment_number, timeline_id
FROM pg_dissect_walfile_name('000000010000000100000000'); FROM pg_split_walfile_name('000000010000000100000000');
SELECT segno > 0 AS ok_segno, timeline_id SELECT segment_number > 0 AS ok_segment_number, timeline_id
FROM pg_dissect_walfile_name('ffffffFF00000001000000af'); FROM pg_split_walfile_name('ffffffFF00000001000000af');