/* * Copyright (c) 2020 Huawei Technologies Co.,Ltd. * * openGauss is licensed under Mulan PSL v2. * You can use this software according to the terms and conditions of the Mulan PSL v2. * You may obtain a copy of Mulan PSL v2 at: * * http://license.coscl.org.cn/MulanPSL2 * * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. * See the Mulan PSL v2 for more details. * --------------------------------------------------------------------------------------- * * randomplan.h * prototypes for randomplan.c * * * IDENTIFICATION * src/include/optimizer/randomplan.h * * --------------------------------------------------------------------------------------- */ #ifndef RANDOMPLAN_H #define RANDOMPLAN_H #include "nodes/relation.h" #define OPTIMIZE_PLAN 0 #define RANDOM_PLAN_DEFAULT -1 extern int choose_random_option(int optionnum); extern void set_inital_plan_seed(); extern uint32 get_inital_plan_seed(); extern List* get_random_path(RelOptInfo* parent_rel, Path** cheapest_startup_path, Path** cheapest_total_path); extern char* get_random_plan_string(); #endif /* RANDOMPLAN_H */