mirror of https://github.com/citusdata/citus.git
31 lines
789 B
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();
|
|
}
|