示例#1
0
/*
 * ExecWorkFile_CreateUnique
 *   create a new work file with specified name, type and compression
 *   In addition, it adds a unique suffix
 */
ExecWorkFile *
ExecWorkFile_CreateUnique(const char *filename,
		ExecWorkFileType fileType,
		bool delOnClose,
		int compressType)
{

	StringInfo uniquename = ExecWorkFile_AddUniqueSuffix(filename);
	ExecWorkFile *ewf = ExecWorkFile_Create(uniquename->data, fileType, delOnClose, compressType);
	pfree(uniquename->data);
	pfree(uniquename);

	return ewf;
}
示例#2
0
文件: logtape.c 项目: BenjaminYu/gpdb
/*
 * Creates a LogicalTapeSet with a generated file name.
 */
LogicalTapeSet *LogicalTapeSetCreate(int ntapes, bool del_on_close)
{
	char tmpprefix[MAXPGPATH];
	int len = snprintf(tmpprefix, MAXPGPATH, "%s/slice%d_sort",
			PG_TEMP_FILES_DIR,
			currentSliceId);
	insist_log(len <= MAXPGPATH - 1, "could not generate temporary file name");
	StringInfo uniquename = ExecWorkFile_AddUniqueSuffix(tmpprefix);

	LogicalTapeSet *lts = LogicalTapeSetCreate_Named(uniquename->data, ntapes, del_on_close);

	pfree(uniquename->data);
	pfree(uniquename);

	return lts;
}