citus/src/backend/distributed/test/file_utils.c

31 lines
789 B
C

#include "postgres.h"
#include "distributed/worker_protocol.h"
#include "distributed/transmit.h"
#include "distributed/metadata_utility.h"
#include "fmgr.h"
#include "lib/stringinfo.h"
PG_FUNCTION_INFO_V1(citus_rm_job_directory);
/*
* citus_rm_job_directory removes the job directory for the given job id.
* Used before beginning multi_query_directory_cleanup.
*/
Datum
citus_rm_job_directory(PG_FUNCTION_ARGS)
{
uint64 jobId = PG_GETARG_INT64(0);
StringInfo jobCacheDirectory = makeStringInfo();
EnsureSuperUser();
appendStringInfo(jobCacheDirectory, "base/%s/%s%0*" INT64_MODIFIER "u",
PG_JOB_CACHE_DIR, JOB_DIRECTORY_PREFIX,
MIN_JOB_DIRNAME_WIDTH, jobId);
CitusRemoveDirectory(jobCacheDirectory->data);
FreeStringInfo(jobCacheDirectory);
PG_RETURN_VOID();
}