greenplumn CGPOptimizer 源码

2022-08-18 浏览 (396)

greenplumn CGPOptimizer 代码

文件路径:/src/include/gpopt/CGPOptimizer.h

/---------------------------------------------------------------------------
/	Greenplum Database
/	Copyright (C) 2012 Greenplum, Inc.
/
/	@filename:
/		CGPOptimizer.h
/
/	@doc:
/		Entry point to GP optimizer
/
/	@test:
/
/
/---------------------------------------------------------------------------
#ifndef CGPOptimizer_H
#define CGPOptimizer_H

extern "C" {
#include "postgres.h"

#include "nodes/params.h"
#include "nodes/parsenodes.h"
#include "nodes/plannodes.h"
}

class CGPOptimizer
{
public:
	/ optimize given query using GP optimizer
	static PlannedStmt *GPOPTOptimizedPlan(
		Query *query,
		bool *
			had_unexpected_failure	/ output : set to true if optimizer unexpectedly failed to produce plan
	);

	/ serialize planned statement into DXL
	static char *SerializeDXLPlan(Query *query);

	/ gpopt initialize and terminate
	static void InitGPOPT();

	static void TerminateGPOPT();
};

extern "C" {

extern PlannedStmt *GPOPTOptimizedPlan(Query *query,
									   bool *had_unexpected_failure);
extern char *SerializeDXLPlan(Query *query);
extern void InitGPOPT();
extern void TerminateGPOPT();
}

#endif	/ CGPOptimizer_H

相关信息

greenplumn 源码目录

相关文章

greenplumn gpdbwrappers 源码

^