1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Rename contrib module basic_archive to basic_wal_module

This rename is in preparation for the introduction of recovery modules,
where basic_wal_module will be used as a base template for the set of
callbacks introduced.  The former name did not really reflect all that.

Author: Nathan Bossart
Discussion: https://postgr.es/m/20221227192449.GA3672473@nathanxps13
This commit is contained in:
Michael Paquier
2023-01-25 14:36:51 +09:00
parent 239b175342
commit 0ad3c60caf
17 changed files with 105 additions and 78 deletions

View File

@ -9,7 +9,7 @@ SUBDIRS = \
amcheck \
auth_delay \
auto_explain \
basic_archive \
basic_wal_module \
basebackup_to_shell \
bloom \
btree_gin \

View File

@ -1,4 +0,0 @@
archive_mode = on
archive_library = 'basic_archive'
basic_archive.archive_directory = '.'
wal_level = replica

View File

@ -1,34 +0,0 @@
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
basic_archive_sources = files(
'basic_archive.c',
)
if host_system == 'windows'
basic_archive_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'basic_archive',
'--FILEDESC', 'basic_archive - basic archive module',])
endif
basic_archive = shared_module('basic_archive',
basic_archive_sources,
kwargs: contrib_mod_args,
)
contrib_targets += basic_archive
tests += {
'name': 'basic_archive',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
'basic_archive',
],
'regress_args': [
'--temp-config', files('basic_archive.conf'),
],
# Disabled because these tests require "shared_preload_libraries=basic_archive",
# which typical runningcheck users do not have (e.g. buildfarm clients).
'runningcheck': false,
},
}

View File

@ -1,11 +1,11 @@
# contrib/basic_archive/Makefile
# contrib/basic_wal_module/Makefile
MODULES = basic_archive
PGFILEDESC = "basic_archive - basic archive module"
MODULES = basic_wal_module
PGFILEDESC = "basic_wal_module - basic write-ahead log module"
REGRESS = basic_archive
REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/basic_archive/basic_archive.conf
# Disabled because these tests require "shared_preload_libraries=basic_archive",
REGRESS = basic_wal_module
REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/basic_wal_module/basic_wal_module.conf
# Disabled because these tests require "shared_preload_libraries=basic_wal_module",
# which typical installcheck users do not have (e.g. buildfarm clients).
NO_INSTALLCHECK = 1
@ -14,7 +14,7 @@ PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
else
subdir = contrib/basic_archive
subdir = contrib/basic_wal_module
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk

View File

@ -1,6 +1,6 @@
/*-------------------------------------------------------------------------
*
* basic_archive.c
* basic_wal_module.c
*
* This file demonstrates a basic archive library implementation that is
* roughly equivalent to the following shell command:
@ -20,7 +20,7 @@
* Copyright (c) 2022-2023, PostgreSQL Global Development Group
*
* IDENTIFICATION
* contrib/basic_archive/basic_archive.c
* contrib/basic_wal_module/basic_wal_module.c
*
*-------------------------------------------------------------------------
*/
@ -41,7 +41,7 @@
PG_MODULE_MAGIC;
static char *archive_directory = NULL;
static MemoryContext basic_archive_context;
static MemoryContext basic_wal_module_context;
static bool basic_archive_configured(void);
static bool basic_archive_file(const char *file, const char *path);
@ -57,7 +57,7 @@ static bool compare_files(const char *file1, const char *file2);
void
_PG_init(void)
{
DefineCustomStringVariable("basic_archive.archive_directory",
DefineCustomStringVariable("basic_wal_module.archive_directory",
gettext_noop("Archive file destination directory."),
NULL,
&archive_directory,
@ -66,11 +66,11 @@ _PG_init(void)
0,
check_archive_directory, NULL, NULL);
MarkGUCPrefixReserved("basic_archive");
MarkGUCPrefixReserved("basic_wal_module");
basic_archive_context = AllocSetContextCreate(TopMemoryContext,
"basic_archive",
ALLOCSET_DEFAULT_SIZES);
basic_wal_module_context = AllocSetContextCreate(TopMemoryContext,
"basic_wal_module",
ALLOCSET_DEFAULT_SIZES);
}
/*
@ -156,7 +156,7 @@ basic_archive_file(const char *file, const char *path)
* we can easily reset it during error recovery (thus avoiding memory
* leaks).
*/
oldcontext = MemoryContextSwitchTo(basic_archive_context);
oldcontext = MemoryContextSwitchTo(basic_wal_module_context);
/*
* Since the archiver operates at the bottom of the exception stack,
@ -183,7 +183,7 @@ basic_archive_file(const char *file, const char *path)
/* Reset our memory context and switch back to the original one */
MemoryContextSwitchTo(oldcontext);
MemoryContextReset(basic_archive_context);
MemoryContextReset(basic_wal_module_context);
/* Remove our exception handler */
PG_exception_stack = NULL;
@ -206,7 +206,7 @@ basic_archive_file(const char *file, const char *path)
/* Reset our memory context and switch back to the original one */
MemoryContextSwitchTo(oldcontext);
MemoryContextReset(basic_archive_context);
MemoryContextReset(basic_wal_module_context);
return true;
}
@ -221,7 +221,7 @@ basic_archive_file_internal(const char *file, const char *path)
uint64 epoch; /* milliseconds */
ereport(DEBUG3,
(errmsg("archiving \"%s\" via basic_archive", file)));
(errmsg("archiving \"%s\" via basic_wal_module", file)));
snprintf(destination, MAXPGPATH, "%s/%s", archive_directory, file);
@ -285,7 +285,7 @@ basic_archive_file_internal(const char *file, const char *path)
(void) durable_rename(temp, destination, ERROR);
ereport(DEBUG1,
(errmsg("archived \"%s\" via basic_archive", file)));
(errmsg("archived \"%s\" via basic_wal_module", file)));
}
/*

View File

@ -0,0 +1,4 @@
archive_mode = on
archive_library = 'basic_wal_module'
basic_wal_module.archive_directory = '.'
wal_level = replica

View File

@ -0,0 +1,34 @@
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
basic_wal_module_sources = files(
'basic_wal_module.c',
)
if host_system == 'windows'
basic_wal_module_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'basic_wal_module',
'--FILEDESC', 'basic_wal_module - basic write-ahead log module',])
endif
basic_wal_module = shared_module('basic_wal_module',
basic_wal_module_sources,
kwargs: contrib_mod_args,
)
contrib_targets += basic_wal_module
tests += {
'name': 'basic_wal_module',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
'basic_wal_module',
],
'regress_args': [
'--temp-config', files('basic_wal_module.conf'),
],
# Disabled because these tests require "shared_preload_libraries=basic_wal_module",
# which typical runningcheck users do not have (e.g. buildfarm clients).
'runningcheck': false,
},
}

View File

@ -11,7 +11,7 @@ subdir('adminpack')
subdir('amcheck')
subdir('auth_delay')
subdir('auto_explain')
subdir('basic_archive')
subdir('basic_wal_module')
subdir('bloom')
subdir('basebackup_to_shell')
subdir('bool_plperl')