0 Star 0 Fork 18

wangjie/IvorySQL

forked from IvorySQL/IvorySQL 
Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
archive.c 1.55 KB
Copy Edit Raw Blame History
Bruce Momjian authored 2024-01-04 09:49 +08:00 . Update copyright for 2024
/*-------------------------------------------------------------------------
*
* archive.c
* Common WAL archive routines
*
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* src/common/archive.c
*
*-------------------------------------------------------------------------
*/
#ifndef FRONTEND
#include "postgres.h"
#else
#include "postgres_fe.h"
#endif
#include "common/archive.h"
#include "common/percentrepl.h"
/*
* BuildRestoreCommand
*
* Builds a restore command to retrieve a file from WAL archives, replacing
* the supported aliases with values supplied by the caller as defined by
* the GUC parameter restore_command: xlogpath for %p, xlogfname for %f and
* lastRestartPointFname for %r.
*
* The result is a palloc'd string for the restore command built. The
* caller is responsible for freeing it. If any of the required arguments
* is NULL and that the corresponding alias is found in the command given
* by the caller, then an error is thrown.
*/
char *
BuildRestoreCommand(const char *restoreCommand,
const char *xlogpath,
const char *xlogfname,
const char *lastRestartPointFname)
{
char *nativePath = NULL;
char *result;
if (xlogpath)
{
nativePath = pstrdup(xlogpath);
make_native_path(nativePath);
}
result = replace_percent_placeholders(restoreCommand, "restore_command", "frp",
xlogfname, lastRestartPointFname, nativePath);
if (nativePath)
pfree(nativePath);
return result;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/Jugier/IvorySQL.git
git@gitee.com:Jugier/IvorySQL.git
Jugier
IvorySQL
IvorySQL
master

Search