mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting.
This commit is contained in:
@@ -6,21 +6,21 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: clauseinfo.h,v 1.2 1997/09/07 04:58:52 momjian Exp $
|
||||
* $Id: clauseinfo.h,v 1.3 1997/09/08 02:37:32 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef CLAUSEINFO_H
|
||||
#define CLAUSEINFO_H
|
||||
|
||||
extern bool valid_or_clause(CInfo * clauseinfo);
|
||||
extern List *get_actual_clauses(List * clauseinfo_list);
|
||||
extern bool valid_or_clause(CInfo * clauseinfo);
|
||||
extern List *get_actual_clauses(List * clauseinfo_list);
|
||||
extern void
|
||||
get_relattvals(List * clauseinfo_list, List ** attnos,
|
||||
List ** values, List ** flags);
|
||||
extern void
|
||||
get_joinvars(Oid relid, List * clauseinfo_list,
|
||||
List ** attnos, List ** values, List ** flags);
|
||||
extern List *get_opnos(List * clauseinfo_list);
|
||||
extern List *get_opnos(List * clauseinfo_list);
|
||||
|
||||
#endif /* CLAUSEINFO_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: clauses.h,v 1.4 1997/09/07 04:58:54 momjian Exp $
|
||||
* $Id: clauses.h,v 1.5 1997/09/08 02:37:34 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -15,39 +15,39 @@
|
||||
|
||||
#include <nodes/primnodes.h>
|
||||
|
||||
extern Expr *make_clause(int type, Node * oper, List * args);
|
||||
extern bool is_opclause(Node * clause);
|
||||
extern Expr *make_opclause(Oper * op, Var * leftop, Var * rightop);
|
||||
extern Var *get_leftop(Expr * clause);
|
||||
extern Var *get_rightop(Expr * clause);
|
||||
extern Expr *make_clause(int type, Node * oper, List * args);
|
||||
extern bool is_opclause(Node * clause);
|
||||
extern Expr *make_opclause(Oper * op, Var * leftop, Var * rightop);
|
||||
extern Var *get_leftop(Expr * clause);
|
||||
extern Var *get_rightop(Expr * clause);
|
||||
|
||||
extern bool is_funcclause(Node * clause);
|
||||
extern Expr *make_funcclause(Func * func, List * funcargs);
|
||||
extern bool is_funcclause(Node * clause);
|
||||
extern Expr *make_funcclause(Func * func, List * funcargs);
|
||||
|
||||
extern bool or_clause(Node * clause);
|
||||
extern Expr *make_orclause(List * orclauses);
|
||||
extern bool or_clause(Node * clause);
|
||||
extern Expr *make_orclause(List * orclauses);
|
||||
|
||||
extern bool not_clause(Node * clause);
|
||||
extern Expr *make_notclause(Expr * notclause);
|
||||
extern Expr *get_notclausearg(Expr * notclause);
|
||||
extern bool not_clause(Node * clause);
|
||||
extern Expr *make_notclause(Expr * notclause);
|
||||
extern Expr *get_notclausearg(Expr * notclause);
|
||||
|
||||
extern bool and_clause(Node * clause);
|
||||
extern Expr *make_andclause(List * andclauses);
|
||||
extern bool and_clause(Node * clause);
|
||||
extern Expr *make_andclause(List * andclauses);
|
||||
|
||||
extern List *pull_constant_clauses(List * quals, List ** constantQual);
|
||||
extern void clause_relids_vars(Node * clause, List ** relids, List ** vars);
|
||||
extern int NumRelids(Node * clause);
|
||||
extern bool contains_not(Node * clause);
|
||||
extern bool join_clause_p(Node * clause);
|
||||
extern bool qual_clause_p(Node * clause);
|
||||
extern void fix_opid(Node * clause);
|
||||
extern List *fix_opids(List * clauses);
|
||||
extern List *pull_constant_clauses(List * quals, List ** constantQual);
|
||||
extern void clause_relids_vars(Node * clause, List ** relids, List ** vars);
|
||||
extern int NumRelids(Node * clause);
|
||||
extern bool contains_not(Node * clause);
|
||||
extern bool join_clause_p(Node * clause);
|
||||
extern bool qual_clause_p(Node * clause);
|
||||
extern void fix_opid(Node * clause);
|
||||
extern List *fix_opids(List * clauses);
|
||||
extern void
|
||||
get_relattval(Node * clause, int *relid,
|
||||
AttrNumber * attno, Datum * constval, int *flag);
|
||||
extern void
|
||||
get_rels_atts(Node * clause, int *relid1,
|
||||
AttrNumber * attno1, int *relid2, AttrNumber * attno2);
|
||||
extern void CommuteClause(Node * clause);
|
||||
extern void CommuteClause(Node * clause);
|
||||
|
||||
#endif /* CLAUSES_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: cost.h,v 1.3 1997/09/07 04:58:56 momjian Exp $
|
||||
* $Id: cost.h,v 1.4 1997/09/08 02:37:40 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,45 +17,45 @@
|
||||
* prototypes for costsize.c--
|
||||
* routines to compute costs and sizes
|
||||
*/
|
||||
extern bool _enable_seqscan_;
|
||||
extern bool _enable_indexscan_;
|
||||
extern bool _enable_sort_;
|
||||
extern bool _enable_hash_;
|
||||
extern bool _enable_nestloop_;
|
||||
extern bool _enable_mergesort_;
|
||||
extern bool _enable_hashjoin_;
|
||||
extern bool _enable_seqscan_;
|
||||
extern bool _enable_indexscan_;
|
||||
extern bool _enable_sort_;
|
||||
extern bool _enable_hash_;
|
||||
extern bool _enable_nestloop_;
|
||||
extern bool _enable_mergesort_;
|
||||
extern bool _enable_hashjoin_;
|
||||
|
||||
extern Cost cost_seqscan(int relid, int relpages, int reltuples);
|
||||
extern Cost
|
||||
extern Cost cost_seqscan(int relid, int relpages, int reltuples);
|
||||
extern Cost
|
||||
cost_index(Oid indexid, int expected_indexpages, Cost selec,
|
||||
int relpages, int reltuples, int indexpages,
|
||||
int indextuples, bool is_injoin);
|
||||
extern Cost cost_sort(List * keys, int tuples, int width, bool noread);
|
||||
extern Cost
|
||||
extern Cost cost_sort(List * keys, int tuples, int width, bool noread);
|
||||
extern Cost
|
||||
cost_nestloop(Cost outercost, Cost innercost, int outertuples,
|
||||
int innertuples, int outerpages, bool is_indexjoin);
|
||||
extern Cost
|
||||
extern Cost
|
||||
cost_mergesort(Cost outercost, Cost innercost,
|
||||
List * outersortkeys, List * innersortkeys,
|
||||
int outersize, int innersize, int outerwidth, int innerwidth);
|
||||
extern Cost
|
||||
extern Cost
|
||||
cost_hashjoin(Cost outercost, Cost innercost, List * outerkeys,
|
||||
List * innerkeys, int outersize, int innersize,
|
||||
int outerwidth, int innerwidth);
|
||||
extern int compute_rel_size(Rel * rel);
|
||||
extern int compute_rel_width(Rel * rel);
|
||||
extern int compute_joinrel_size(JoinPath * joinpath);
|
||||
extern int page_size(int tuples, int width);
|
||||
extern int compute_rel_size(Rel * rel);
|
||||
extern int compute_rel_width(Rel * rel);
|
||||
extern int compute_joinrel_size(JoinPath * joinpath);
|
||||
extern int page_size(int tuples, int width);
|
||||
|
||||
/*
|
||||
* prototypes for fuctions in clausesel.h--
|
||||
* routines to compute clause selectivities
|
||||
*/
|
||||
extern void set_clause_selectivities(List * clauseinfo_list, Cost new_selectivity);
|
||||
extern Cost product_selec(List * clauseinfo_list);
|
||||
extern void set_rest_relselec(Query * root, List * rel_list);
|
||||
extern void set_rest_selec(Query * root, List * clauseinfo_list);
|
||||
extern Cost
|
||||
extern void set_clause_selectivities(List * clauseinfo_list, Cost new_selectivity);
|
||||
extern Cost product_selec(List * clauseinfo_list);
|
||||
extern void set_rest_relselec(Query * root, List * rel_list);
|
||||
extern void set_rest_selec(Query * root, List * clauseinfo_list);
|
||||
extern Cost
|
||||
compute_clause_selec(Query * root,
|
||||
Node * clause, List * or_selectivities);
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo.h,v 1.4 1997/09/07 04:58:57 momjian Exp $
|
||||
* $Id: geqo.h,v 1.5 1997/09/08 02:37:42 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -52,12 +52,12 @@
|
||||
#define SELECTION_BIAS 2.0 /* selective pressure within population */
|
||||
/* should be 1.5 <= SELECTION_BIAS <= 2.0 */
|
||||
|
||||
int PoolSize;
|
||||
int Generations;
|
||||
int PoolSize;
|
||||
int Generations;
|
||||
|
||||
long RandomSeed; /* defaults to (long) time(NULL) in
|
||||
long RandomSeed; /* defaults to (long) time(NULL) in
|
||||
* geqo_params.c */
|
||||
double SelectionBias;
|
||||
double SelectionBias;
|
||||
|
||||
/* logarithmic base for rel->size decrease in case of long
|
||||
queries that cause an integer overflow; used in geqo_eval.c */
|
||||
@@ -66,13 +66,13 @@ double SelectionBias;
|
||||
/* ^^^ */
|
||||
|
||||
/* geqo prototypes */
|
||||
extern Rel *geqo(Query * root);
|
||||
extern Rel *geqo(Query * root);
|
||||
|
||||
extern void geqo_params(int string_length);
|
||||
extern void geqo_params(int string_length);
|
||||
|
||||
extern Cost geqo_eval(Query * root, Gene * tour, int num_gene);
|
||||
double geqo_log(double x, double b);
|
||||
extern Rel *gimme_tree(Query * root, Gene * tour, int rel_count, int num_gene, Rel * outer_rel);
|
||||
extern Cost geqo_eval(Query * root, Gene * tour, int num_gene);
|
||||
double geqo_log(double x, double b);
|
||||
extern Rel *gimme_tree(Query * root, Gene * tour, int rel_count, int num_gene, Rel * outer_rel);
|
||||
|
||||
|
||||
#endif /* GEQO_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_copy.h,v 1.2 1997/09/07 04:58:58 momjian Exp $
|
||||
* $Id: geqo_copy.h,v 1.3 1997/09/08 02:37:43 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,6 +22,6 @@
|
||||
#define GEQO_COPY_H
|
||||
|
||||
|
||||
extern void geqo_copy(Chromosome * chromo1, Chromosome * chromo2, int string_length);
|
||||
extern void geqo_copy(Chromosome * chromo1, Chromosome * chromo2, int string_length);
|
||||
|
||||
#endif /* GEQO_COPY_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_gene.h,v 1.2 1997/09/07 04:58:59 momjian Exp $
|
||||
* $Id: geqo_gene.h,v 1.3 1997/09/08 02:37:44 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -26,19 +26,19 @@
|
||||
/* we presume that int instead of Relid
|
||||
is o.k. for Gene; so don't change it! */
|
||||
typedef
|
||||
int Gene;
|
||||
int Gene;
|
||||
|
||||
typedef struct Chromosome
|
||||
{
|
||||
Gene *string;
|
||||
Cost worth;
|
||||
} Chromosome;
|
||||
Gene *string;
|
||||
Cost worth;
|
||||
} Chromosome;
|
||||
|
||||
typedef struct Pool
|
||||
{
|
||||
Chromosome *data;
|
||||
int size;
|
||||
int string_length;
|
||||
} Pool;
|
||||
Chromosome *data;
|
||||
int size;
|
||||
int string_length;
|
||||
} Pool;
|
||||
|
||||
#endif /* GEQO_GENE_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_misc.h,v 1.2 1997/09/07 04:59:00 momjian Exp $
|
||||
* $Id: geqo_misc.h,v 1.3 1997/09/08 02:37:46 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -23,12 +23,12 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
extern void print_pool(FILE * fp, Pool * pool, int start, int stop);
|
||||
extern void print_gen(FILE * fp, Pool * pool, int generation);
|
||||
extern void print_edge_table(FILE * fp, Edge * edge_table, int num_gene);
|
||||
extern void print_pool(FILE * fp, Pool * pool, int start, int stop);
|
||||
extern void print_gen(FILE * fp, Pool * pool, int generation);
|
||||
extern void print_edge_table(FILE * fp, Edge * edge_table, int num_gene);
|
||||
|
||||
extern void geqo_print_rel(Query * root, Rel * rel);
|
||||
extern void geqo_print_path(Query * root, Path * path, int indent);
|
||||
extern void geqo_print_joinclauses(Query * root, List * clauses);
|
||||
extern void geqo_print_rel(Query * root, Rel * rel);
|
||||
extern void geqo_print_path(Query * root, Path * path, int indent);
|
||||
extern void geqo_print_joinclauses(Query * root, List * clauses);
|
||||
|
||||
#endif /* GEQO_MISC_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_mutation.h,v 1.2 1997/09/07 04:59:01 momjian Exp $
|
||||
* $Id: geqo_mutation.h,v 1.3 1997/09/08 02:37:46 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,6 +22,6 @@
|
||||
#define GEQO_MUTATION_H
|
||||
|
||||
|
||||
extern void geqo_mutation(Gene * tour, int num_gene);
|
||||
extern void geqo_mutation(Gene * tour, int num_gene);
|
||||
|
||||
#endif /* GEQO_MUTATION_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_paths.h,v 1.2 1997/09/07 04:59:02 momjian Exp $
|
||||
* $Id: geqo_paths.h,v 1.3 1997/09/08 02:37:47 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,7 +22,7 @@
|
||||
#define GEQO_PATHS_H
|
||||
|
||||
|
||||
extern List *geqo_prune_rels(List * rel_list);
|
||||
extern void geqo_rel_paths(Rel * rel);
|
||||
extern List *geqo_prune_rels(List * rel_list);
|
||||
extern void geqo_rel_paths(Rel * rel);
|
||||
|
||||
#endif /* GEQO_PATHS_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_pool.h,v 1.2 1997/09/07 04:59:03 momjian Exp $
|
||||
* $Id: geqo_pool.h,v 1.3 1997/09/08 02:37:47 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -23,15 +23,15 @@
|
||||
#define GEQO_POOL_H
|
||||
|
||||
|
||||
extern Pool *alloc_pool(int pool_size, int string_length);
|
||||
extern void free_pool(Pool * pool);
|
||||
extern Pool *alloc_pool(int pool_size, int string_length);
|
||||
extern void free_pool(Pool * pool);
|
||||
|
||||
extern void random_init_pool(Query * root, Pool * pool, int strt, int stop);
|
||||
extern void random_init_pool(Query * root, Pool * pool, int strt, int stop);
|
||||
extern Chromosome *alloc_chromo(int string_length);
|
||||
extern void free_chromo(Chromosome * chromo);
|
||||
extern void free_chromo(Chromosome * chromo);
|
||||
|
||||
extern void spread_chromo(Chromosome * chromo, Pool * pool);
|
||||
extern void spread_chromo(Chromosome * chromo, Pool * pool);
|
||||
|
||||
extern void sort_pool(Pool * pool);
|
||||
extern void sort_pool(Pool * pool);
|
||||
|
||||
#endif /* GEQO_POOL_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_recombination.h,v 1.2 1997/09/07 04:59:04 momjian Exp $
|
||||
* $Id: geqo_recombination.h,v 1.3 1997/09/08 02:37:48 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -24,24 +24,24 @@
|
||||
#define GEQO_RECOMBINATION_H
|
||||
|
||||
|
||||
extern void init_tour(Gene * tour, int num_gene);
|
||||
extern void init_tour(Gene * tour, int num_gene);
|
||||
|
||||
|
||||
/* edge recombination crossover [ERX] */
|
||||
|
||||
typedef struct Edge
|
||||
{
|
||||
Gene edge_list[4]; /* list of edges */
|
||||
int total_edges;
|
||||
int unused_edges;
|
||||
} Edge;
|
||||
Gene edge_list[4]; /* list of edges */
|
||||
int total_edges;
|
||||
int unused_edges;
|
||||
} Edge;
|
||||
|
||||
extern Edge *alloc_edge_table(int num_gene);
|
||||
extern void free_edge_table(Edge * edge_table);
|
||||
extern Edge *alloc_edge_table(int num_gene);
|
||||
extern void free_edge_table(Edge * edge_table);
|
||||
|
||||
extern float gimme_edge_table(Gene * tour1, Gene * tour2, int num_gene, Edge * edge_table);
|
||||
extern float gimme_edge_table(Gene * tour1, Gene * tour2, int num_gene, Edge * edge_table);
|
||||
|
||||
extern int gimme_tour(Edge * edge_table, Gene * new_gene, int num_gene);
|
||||
extern int gimme_tour(Edge * edge_table, Gene * new_gene, int num_gene);
|
||||
|
||||
|
||||
/* partially matched crossover [PMX] */
|
||||
@@ -49,31 +49,31 @@ extern int gimme_tour(Edge * edge_table, Gene * new_gene, int num_gene);
|
||||
#define DAD 1 /* indicator for gene from dad */
|
||||
#define MOM 0 /* indicator for gene from mom */
|
||||
|
||||
extern void pmx(Gene * tour1, Gene * tour2, Gene * offspring, int num_gene);
|
||||
extern void pmx(Gene * tour1, Gene * tour2, Gene * offspring, int num_gene);
|
||||
|
||||
|
||||
typedef struct City
|
||||
{
|
||||
int tour2_position;
|
||||
int tour1_position;
|
||||
int used;
|
||||
int select_list;
|
||||
} City;
|
||||
int tour2_position;
|
||||
int tour1_position;
|
||||
int used;
|
||||
int select_list;
|
||||
} City;
|
||||
|
||||
extern City *alloc_city_table(int num_gene);
|
||||
extern void free_city_table(City * city_table);
|
||||
extern City *alloc_city_table(int num_gene);
|
||||
extern void free_city_table(City * city_table);
|
||||
|
||||
/* cycle crossover [CX] */
|
||||
extern int cx(Gene * tour1, Gene * tour2, Gene * offspring, int num_gene, City * city_table);
|
||||
extern int cx(Gene * tour1, Gene * tour2, Gene * offspring, int num_gene, City * city_table);
|
||||
|
||||
/* position crossover [PX] */
|
||||
extern void px(Gene * tour1, Gene * tour2, Gene * offspring, int num_gene, City * city_table);
|
||||
extern void px(Gene * tour1, Gene * tour2, Gene * offspring, int num_gene, City * city_table);
|
||||
|
||||
/* order crossover [OX1] according to Davis */
|
||||
extern void ox1(Gene * mom, Gene * dad, Gene * offspring, int num_gene, City * city_table);
|
||||
extern void ox1(Gene * mom, Gene * dad, Gene * offspring, int num_gene, City * city_table);
|
||||
|
||||
/* order crossover [OX2] according to Syswerda */
|
||||
extern void ox2(Gene * mom, Gene * dad, Gene * offspring, int num_gene, City * city_table);
|
||||
extern void ox2(Gene * mom, Gene * dad, Gene * offspring, int num_gene, City * city_table);
|
||||
|
||||
|
||||
#endif /* GEQO_RECOMBINATION_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geqo_selection.h,v 1.2 1997/09/07 04:59:05 momjian Exp $
|
||||
* $Id: geqo_selection.h,v 1.3 1997/09/08 02:37:49 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -23,6 +23,6 @@
|
||||
#define GEQO_SELECTION_H
|
||||
|
||||
|
||||
extern void geqo_selection(Chromosome * momma, Chromosome * daddy, Pool * pool, double bias);
|
||||
extern void geqo_selection(Chromosome * momma, Chromosome * daddy, Pool * pool, double bias);
|
||||
|
||||
#endif /* GEQO_SELECTION_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: internal.h,v 1.8 1997/09/07 04:59:06 momjian Exp $
|
||||
* $Id: internal.h,v 1.9 1997/09/08 02:37:50 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -80,7 +80,7 @@
|
||||
#define FLOAT_EQUAL(X,Y) ((X) - (Y) < TOLERANCE)
|
||||
#define FLOAT_IS_ZERO(X) (FLOAT_EQUAL(X,0.0))
|
||||
|
||||
extern int BushyPlanFlag;
|
||||
extern int BushyPlanFlag;
|
||||
|
||||
/* #define deactivate_joininfo(joininfo) joininfo->inactive=true*/
|
||||
/*#define joininfo_inactive(joininfo) joininfo->inactive */
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: joininfo.h,v 1.2 1997/09/07 04:59:07 momjian Exp $
|
||||
* $Id: joininfo.h,v 1.3 1997/09/08 02:37:50 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef JOININFO_H
|
||||
#define JOININFO_H
|
||||
|
||||
extern JInfo *joininfo_member(List * join_relids, List * joininfo_list);
|
||||
extern JInfo *find_joininfo_node(Rel * this_rel, List * join_relids);
|
||||
extern Var *other_join_clause_var(Var * var, Expr * clause);
|
||||
extern JInfo *joininfo_member(List * join_relids, List * joininfo_list);
|
||||
extern JInfo *find_joininfo_node(Rel * this_rel, List * join_relids);
|
||||
extern Var *other_join_clause_var(Var * var, Expr * clause);
|
||||
|
||||
#endif /* JOININFO_H */
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: keys.h,v 1.3 1997/09/07 04:59:08 momjian Exp $
|
||||
* $Id: keys.h,v 1.4 1997/09/08 02:37:51 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef KEYS_H
|
||||
#define KEYS_H
|
||||
|
||||
extern bool match_indexkey_operand(int indexkey, Var * operand, Rel * rel);
|
||||
extern Var *extract_subkey(JoinKey * jk, int which_subkey);
|
||||
extern bool samekeys(List * keys1, List * keys2);
|
||||
extern List *collect_index_pathkeys(int *index_keys, List * tlist);
|
||||
extern bool match_indexkey_operand(int indexkey, Var * operand, Rel * rel);
|
||||
extern Var *extract_subkey(JoinKey * jk, int which_subkey);
|
||||
extern bool samekeys(List * keys1, List * keys2);
|
||||
extern List *collect_index_pathkeys(int *index_keys, List * tlist);
|
||||
|
||||
#endif /* KEYS_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: ordering.h,v 1.4 1997/09/07 04:59:09 momjian Exp $
|
||||
* $Id: ordering.h,v 1.5 1997/09/08 02:37:52 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
#include <nodes/relation.h>
|
||||
|
||||
extern bool
|
||||
extern bool
|
||||
equal_path_path_ordering(PathOrder * path_ordering1,
|
||||
PathOrder * path_ordering2);
|
||||
extern bool
|
||||
extern bool
|
||||
equal_path_merge_ordering(Oid * path_ordering,
|
||||
MergeOrder * merge_ordering);
|
||||
extern bool
|
||||
extern bool
|
||||
equal_merge_merge_ordering(MergeOrder * merge_ordering1,
|
||||
MergeOrder * merge_ordering2);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pathnode.h,v 1.2 1997/09/07 04:59:11 momjian Exp $
|
||||
* $Id: pathnode.h,v 1.3 1997/09/08 02:37:52 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,12 +16,12 @@
|
||||
/*
|
||||
* prototypes for pathnode.c
|
||||
*/
|
||||
extern bool path_is_cheaper(Path * path1, Path * path2);
|
||||
extern Path *set_cheapest(Rel * parent_rel, List * pathlist);
|
||||
extern List *
|
||||
extern bool path_is_cheaper(Path * path1, Path * path2);
|
||||
extern Path *set_cheapest(Rel * parent_rel, List * pathlist);
|
||||
extern List *
|
||||
add_pathlist(Rel * parent_rel, List * unique_paths,
|
||||
List * new_paths);
|
||||
extern Path *create_seqscan_path(Rel * rel);
|
||||
extern Path *create_seqscan_path(Rel * rel);
|
||||
extern IndexPath *
|
||||
create_index_path(Query * root, Rel * rel, Rel * index,
|
||||
List * restriction_clauses, bool is_join_scan);
|
||||
@@ -43,13 +43,13 @@ create_hashjoin_path(Rel * joinrel, int outersize,
|
||||
/*
|
||||
* prototypes for rel.c
|
||||
*/
|
||||
extern Rel *rel_member(List * relid, List * rels);
|
||||
extern Rel *get_base_rel(Query * root, int relid);
|
||||
extern Rel *get_join_rel(Query * root, List * relid);
|
||||
extern Rel *rel_member(List * relid, List * rels);
|
||||
extern Rel *get_base_rel(Query * root, int relid);
|
||||
extern Rel *get_join_rel(Query * root, List * relid);
|
||||
|
||||
/*
|
||||
* prototypes for indexnode.h
|
||||
*/
|
||||
extern List *find_relation_indices(Query * root, Rel * rel);
|
||||
extern List *find_relation_indices(Query * root, Rel * rel);
|
||||
|
||||
#endif /* PATHNODE_H */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: paths.h,v 1.2 1997/09/07 04:59:13 momjian Exp $
|
||||
* $Id: paths.h,v 1.3 1997/09/08 02:37:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,13 +17,13 @@
|
||||
/*
|
||||
* allpaths.h
|
||||
*/
|
||||
extern List *find_paths(Query * root, List * rels);
|
||||
extern List *find_paths(Query * root, List * rels);
|
||||
|
||||
/*
|
||||
* indxpath.h
|
||||
* routines to generate index paths
|
||||
*/
|
||||
extern List *
|
||||
extern List *
|
||||
find_index_paths(Query * root, Rel * rel, List * indices,
|
||||
List * clauseinfo_list,
|
||||
List * joininfo_list);
|
||||
@@ -32,19 +32,19 @@ find_index_paths(Query * root, Rel * rel, List * indices,
|
||||
* joinpath.h
|
||||
* routines to create join paths
|
||||
*/
|
||||
extern void find_all_join_paths(Query * root, List * joinrels);
|
||||
extern void find_all_join_paths(Query * root, List * joinrels);
|
||||
|
||||
|
||||
/*
|
||||
* orindxpath.h
|
||||
*/
|
||||
extern List *create_or_index_paths(Query * root, Rel * rel, List * clauses);
|
||||
extern List *create_or_index_paths(Query * root, Rel * rel, List * clauses);
|
||||
|
||||
/*
|
||||
* hashutils.h
|
||||
* routines to deal with hash keys and clauses
|
||||
*/
|
||||
extern List *
|
||||
extern List *
|
||||
group_clauses_by_hashop(List * clauseinfo_list,
|
||||
int inner_relid);
|
||||
|
||||
@@ -52,17 +52,17 @@ group_clauses_by_hashop(List * clauseinfo_list,
|
||||
* joinutils.h
|
||||
* generic join method key/clause routines
|
||||
*/
|
||||
extern List *
|
||||
extern List *
|
||||
match_pathkeys_joinkeys(List * pathkeys,
|
||||
List * joinkeys, List * joinclauses, int which_subkey,
|
||||
List ** matchedJoinClausesPtr);
|
||||
extern List *
|
||||
extern List *
|
||||
extract_path_keys(List * joinkeys, List * tlist,
|
||||
int which_subkey);
|
||||
extern Path *
|
||||
extern Path *
|
||||
match_paths_joinkeys(List * joinkeys, PathOrder * ordering,
|
||||
List * paths, int which_subkey);
|
||||
extern List *
|
||||
extern List *
|
||||
new_join_pathkeys(List * outer_pathkeys,
|
||||
List * join_rel_tlist, List * joinclauses);
|
||||
|
||||
@@ -70,10 +70,10 @@ new_join_pathkeys(List * outer_pathkeys,
|
||||
* mergeutils.h
|
||||
* routines to deal with merge keys and clauses
|
||||
*/
|
||||
extern List *
|
||||
extern List *
|
||||
group_clauses_by_order(List * clauseinfo_list,
|
||||
int inner_relid);
|
||||
extern MInfo *
|
||||
extern MInfo *
|
||||
match_order_mergeinfo(PathOrder * ordering,
|
||||
List * mergeinfo_list);
|
||||
|
||||
@@ -81,17 +81,17 @@ match_order_mergeinfo(PathOrder * ordering,
|
||||
* joinrels.h
|
||||
* routines to determine which relations to join
|
||||
*/
|
||||
extern List *find_join_rels(Query * root, List * outer_rels);
|
||||
extern void add_new_joininfos(Query * root, List * joinrels, List * outerrels);
|
||||
extern List *final_join_rels(List * join_rel_list);
|
||||
extern List *find_join_rels(Query * root, List * outer_rels);
|
||||
extern void add_new_joininfos(Query * root, List * joinrels, List * outerrels);
|
||||
extern List *final_join_rels(List * join_rel_list);
|
||||
|
||||
/*
|
||||
* prototypes for path/prune.c
|
||||
*/
|
||||
extern List *prune_joinrels(List * rel_list);
|
||||
extern void prune_rel_paths(List * rel_list);
|
||||
extern Path *prune_rel_path(Rel * rel, Path * unorderedpath);
|
||||
extern List *merge_joinrels(List * rel_list1, List * rel_list2);
|
||||
extern List *prune_oldrels(List * old_rels);
|
||||
extern List *prune_joinrels(List * rel_list);
|
||||
extern void prune_rel_paths(List * rel_list);
|
||||
extern Path *prune_rel_path(Rel * rel, Path * unorderedpath);
|
||||
extern List *merge_joinrels(List * rel_list1, List * rel_list2);
|
||||
extern List *prune_oldrels(List * old_rels);
|
||||
|
||||
#endif /* PATHS_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: plancat.h,v 1.4 1997/09/07 04:59:15 momjian Exp $
|
||||
* $Id: plancat.h,v 1.5 1997/09/08 02:37:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -21,17 +21,17 @@
|
||||
*/
|
||||
typedef struct IdxInfoRetval
|
||||
{
|
||||
Oid relid; /* OID of the index relation (not the OID
|
||||
Oid relid; /* OID of the index relation (not the OID
|
||||
* of the relation being indexed) */
|
||||
Oid relam; /* OID of the pg_am of this index */
|
||||
int pages; /* number of pages in the index relation */
|
||||
int tuples; /* number of tuples in the index relation */
|
||||
int *indexkeys; /* keys over which we're indexing */
|
||||
Oid *orderOprs; /* operators used for ordering purposes */
|
||||
Oid *classlist; /* classes of AM operators */
|
||||
Oid indproc;
|
||||
Node *indpred;
|
||||
} IdxInfoRetval;
|
||||
Oid relam; /* OID of the pg_am of this index */
|
||||
int pages; /* number of pages in the index relation */
|
||||
int tuples; /* number of tuples in the index relation */
|
||||
int *indexkeys; /* keys over which we're indexing */
|
||||
Oid *orderOprs; /* operators used for ordering purposes */
|
||||
Oid *classlist; /* classes of AM operators */
|
||||
Oid indproc;
|
||||
Node *indpred;
|
||||
} IdxInfoRetval;
|
||||
|
||||
|
||||
extern void
|
||||
@@ -40,11 +40,11 @@ relation_info(Query * root,
|
||||
bool * hashindex, int *pages,
|
||||
int *tuples);
|
||||
|
||||
extern bool
|
||||
extern bool
|
||||
index_info(Query * root,
|
||||
bool first, int relid, IdxInfoRetval * info);
|
||||
|
||||
extern Cost
|
||||
extern Cost
|
||||
restriction_selectivity(Oid functionObjectId,
|
||||
Oid operatorObjectId,
|
||||
Oid relationObjectId,
|
||||
@@ -57,12 +57,12 @@ index_selectivity(Oid indid, Oid * classes, List * opnos,
|
||||
Oid relid, List * attnos, List * values, List * flags,
|
||||
int32 nkeys, float *idxPages, float *idxSelec);
|
||||
|
||||
extern Cost
|
||||
extern Cost
|
||||
join_selectivity(Oid functionObjectId, Oid operatorObjectId,
|
||||
Oid relationObjectId1, AttrNumber attributeNumber1,
|
||||
Oid relationObjectId2, AttrNumber attributeNumber2);
|
||||
|
||||
extern List *find_inheritance_children(Oid inhparent);
|
||||
extern List *VersionGetParents(Oid verrelid);
|
||||
extern List *find_inheritance_children(Oid inhparent);
|
||||
extern List *VersionGetParents(Oid verrelid);
|
||||
|
||||
#endif /* PLANCAT_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: planmain.h,v 1.2 1997/09/07 04:59:17 momjian Exp $
|
||||
* $Id: planmain.h,v 1.3 1997/09/08 02:37:55 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,7 +17,7 @@
|
||||
/*
|
||||
* prototypes for plan/planmain.c
|
||||
*/
|
||||
extern Plan *
|
||||
extern Plan *
|
||||
query_planner(Query * root,
|
||||
int command_type, List * tlist, List * qual);
|
||||
|
||||
@@ -25,42 +25,42 @@ query_planner(Query * root,
|
||||
/*
|
||||
* prototypes for plan/createplan.c
|
||||
*/
|
||||
extern Plan *create_plan(Path * best_path);
|
||||
extern Plan *create_plan(Path * best_path);
|
||||
extern SeqScan *
|
||||
make_seqscan(List * qptlist, List * qpqual, Index scanrelid,
|
||||
Plan * lefttree);
|
||||
extern Sort *
|
||||
extern Sort *
|
||||
make_sort(List * tlist, Oid tempid, Plan * lefttree,
|
||||
int keycount);
|
||||
extern Agg *make_agg(List * tlist, int nagg, Aggreg ** aggs);
|
||||
extern Group *
|
||||
extern Agg *make_agg(List * tlist, int nagg, Aggreg ** aggs);
|
||||
extern Group *
|
||||
make_group(List * tlist, bool tuplePerGroup, int ngrp,
|
||||
AttrNumber * grpColIdx, Sort * lefttree);
|
||||
extern Unique *make_unique(List * tlist, Plan * lefttree, char *uniqueAttr);
|
||||
extern List *generate_fjoin(List * tlist);
|
||||
extern Unique *make_unique(List * tlist, Plan * lefttree, char *uniqueAttr);
|
||||
extern List *generate_fjoin(List * tlist);
|
||||
|
||||
|
||||
/*
|
||||
* prototypes for plan/initsplan.c
|
||||
*/
|
||||
extern void initialize_base_rels_list(Query * root, List * tlist);
|
||||
extern void initialize_base_rels_jinfo(Query * root, List * clauses);
|
||||
extern void initialize_join_clause_info(List * rel_list);
|
||||
extern void add_missing_vars_to_base_rels(Query * root, List * tlist);
|
||||
extern void initialize_base_rels_list(Query * root, List * tlist);
|
||||
extern void initialize_base_rels_jinfo(Query * root, List * clauses);
|
||||
extern void initialize_join_clause_info(List * rel_list);
|
||||
extern void add_missing_vars_to_base_rels(Query * root, List * tlist);
|
||||
|
||||
/*
|
||||
* prototypes for plan/setrefs.c
|
||||
*/
|
||||
extern void set_tlist_references(Plan * plan);
|
||||
extern List *
|
||||
extern void set_tlist_references(Plan * plan);
|
||||
extern List *
|
||||
join_references(List * clauses, List * outer_tlist,
|
||||
List * inner_tlist);
|
||||
extern List *
|
||||
extern List *
|
||||
index_outerjoin_references(List * inner_indxqual,
|
||||
List * outer_tlist, Index inner_relid);
|
||||
extern void set_result_tlist_references(Result * resultNode);
|
||||
extern void set_agg_tlist_references(Agg * aggNode);
|
||||
extern void set_agg_agglist_references(Agg * aggNode);
|
||||
extern void set_result_tlist_references(Result * resultNode);
|
||||
extern void set_agg_tlist_references(Agg * aggNode);
|
||||
extern void set_agg_agglist_references(Agg * aggNode);
|
||||
|
||||
|
||||
#endif /* PLANMAIN_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: planner.h,v 1.3 1997/09/07 04:59:18 momjian Exp $
|
||||
* $Id: planner.h,v 1.4 1997/09/08 02:37:56 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,7 +16,7 @@
|
||||
/*
|
||||
*/
|
||||
|
||||
extern Plan *planner(Query * parse);
|
||||
extern void pg_checkretval(Oid rettype, QueryTreeList * querytree_list);
|
||||
extern Plan *planner(Query * parse);
|
||||
extern void pg_checkretval(Oid rettype, QueryTreeList * querytree_list);
|
||||
|
||||
#endif /* PLANNER_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: prep.h,v 1.3 1997/09/07 04:59:18 momjian Exp $
|
||||
* $Id: prep.h,v 1.4 1997/09/08 02:37:57 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -19,21 +19,21 @@
|
||||
/*
|
||||
* prototypes for archive.h
|
||||
*/
|
||||
extern void plan_archive(List * rt);
|
||||
extern List *find_archive_rels(Oid relid);
|
||||
extern void plan_archive(List * rt);
|
||||
extern List *find_archive_rels(Oid relid);
|
||||
|
||||
/*
|
||||
* prototypes for prepqual.h
|
||||
*/
|
||||
extern List *
|
||||
extern List *
|
||||
preprocess_qualification(Expr * qual, List * tlist,
|
||||
List ** existentialQualPtr);
|
||||
extern List *cnfify(Expr * qual, bool removeAndFlag);
|
||||
extern List *cnfify(Expr * qual, bool removeAndFlag);
|
||||
|
||||
/*
|
||||
* prototypes for preptlist.h
|
||||
*/
|
||||
extern List *
|
||||
extern List *
|
||||
preprocess_targetlist(List * tlist, int command_type,
|
||||
Index result_relation, List * range_table);
|
||||
|
||||
@@ -43,13 +43,13 @@ preprocess_targetlist(List * tlist, int command_type,
|
||||
typedef enum UnionFlag
|
||||
{
|
||||
INHERITS_FLAG, ARCHIVE_FLAG, VERSION_FLAG
|
||||
} UnionFlag;
|
||||
} UnionFlag;
|
||||
|
||||
extern List *
|
||||
extern List *
|
||||
find_all_inheritors(List * unexamined_relids,
|
||||
List * examined_relids);
|
||||
extern int first_matching_rt_entry(List * rangetable, UnionFlag flag);
|
||||
extern Append *
|
||||
extern int first_matching_rt_entry(List * rangetable, UnionFlag flag);
|
||||
extern Append *
|
||||
plan_union_queries(Index rt_index, Query * parse,
|
||||
UnionFlag flag);
|
||||
|
||||
|
||||
@@ -6,30 +6,30 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: tlist.h,v 1.3 1997/09/07 04:59:19 momjian Exp $
|
||||
* $Id: tlist.h,v 1.4 1997/09/08 02:37:57 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef TLIST_H
|
||||
#define TLIST_H
|
||||
|
||||
extern int exec_tlist_length(List * targelist);
|
||||
extern int exec_tlist_length(List * targelist);
|
||||
extern TargetEntry *tlistentry_member(Var * var, List * targetlist);
|
||||
extern Expr *matching_tlvar(Var * var, List * targetlist);
|
||||
extern void add_tl_element(Rel * rel, Var * var);
|
||||
extern Expr *matching_tlvar(Var * var, List * targetlist);
|
||||
extern void add_tl_element(Rel * rel, Var * var);
|
||||
extern TargetEntry *create_tl_element(Var * var, int resdomno);
|
||||
extern List *get_actual_tlist(List * tlist);
|
||||
extern Resdom *tlist_member(Var * var, List * tlist);
|
||||
extern Resdom *tlist_resdom(List * tlist, Resdom * resnode);
|
||||
extern List *get_actual_tlist(List * tlist);
|
||||
extern Resdom *tlist_member(Var * var, List * tlist);
|
||||
extern Resdom *tlist_resdom(List * tlist, Resdom * resnode);
|
||||
|
||||
extern TargetEntry *MakeTLE(Resdom * resdom, Node * expr);
|
||||
extern Var *get_expr(TargetEntry * tle);
|
||||
extern Var *get_expr(TargetEntry * tle);
|
||||
|
||||
extern TargetEntry *match_varid(Var * test_var, List * tlist);
|
||||
extern List *new_unsorted_tlist(List * targetlist);
|
||||
extern List *copy_vars(List * target, List * source);
|
||||
extern List *flatten_tlist(List * tlist);
|
||||
extern List *
|
||||
extern List *new_unsorted_tlist(List * targetlist);
|
||||
extern List *copy_vars(List * target, List * source);
|
||||
extern List *flatten_tlist(List * tlist);
|
||||
extern List *
|
||||
flatten_tlist_vars(List * full_tlist,
|
||||
List * flat_tlist);
|
||||
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: var.h,v 1.2 1997/09/07 04:59:23 momjian Exp $
|
||||
* $Id: var.h,v 1.3 1997/09/08 02:37:58 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef VAR_H
|
||||
#define VAR_H
|
||||
|
||||
extern List *pull_varnos(Node * me);
|
||||
extern bool contain_var_clause(Node * clause);
|
||||
extern List *pull_var_clause(Node * clause);
|
||||
extern bool var_equal(Var * var1, Var * var2);
|
||||
extern List *pull_varnos(Node * me);
|
||||
extern bool contain_var_clause(Node * clause);
|
||||
extern List *pull_var_clause(Node * clause);
|
||||
extern bool var_equal(Var * var1, Var * var2);
|
||||
|
||||
#endif /* VAR_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: xfunc.h,v 1.3 1997/09/07 04:59:26 momjian Exp $
|
||||
* $Id: xfunc.h,v 1.4 1997/09/08 02:37:59 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -31,7 +31,7 @@
|
||||
#define XFUNC_JOINPRD 2
|
||||
#define XFUNC_UNKNOWN 0
|
||||
|
||||
extern int XfuncMode; /* defined in tcop/postgres.c */
|
||||
extern int XfuncMode; /* defined in tcop/postgres.c */
|
||||
|
||||
/* defaults for function attributes used for expensive function calculations */
|
||||
#define BYTE_PCT 100
|
||||
@@ -49,42 +49,42 @@ extern int XfuncMode; /* defined in tcop/postgres.c */
|
||||
#define is_join(pathnode) (length(get_relids(get_parent(pathnode))) > 1 ? 1 : 0)
|
||||
|
||||
/* function prototypes from planner/path/xfunc.c */
|
||||
extern void xfunc_trypullup(Rel * rel);
|
||||
extern void xfunc_trypullup(Rel * rel);
|
||||
extern int
|
||||
xfunc_shouldpull(Path * childpath, JoinPath * parentpath,
|
||||
int whichchild, CInfo * maxcinfopt);
|
||||
extern CInfo *
|
||||
extern CInfo *
|
||||
xfunc_pullup(Path * childpath, JoinPath * parentpath, CInfo * cinfo,
|
||||
int whichchild, int clausetype);
|
||||
extern Cost xfunc_rank(Expr * clause);
|
||||
extern Cost xfunc_expense(Query * queryInfo, Expr * clause);
|
||||
extern Cost xfunc_join_expense(JoinPath * path, int whichchild);
|
||||
extern Cost xfunc_local_expense(Expr * clause);
|
||||
extern Cost xfunc_func_expense(Expr * node, List * args);
|
||||
extern int xfunc_width(Expr * clause);
|
||||
extern Cost xfunc_rank(Expr * clause);
|
||||
extern Cost xfunc_expense(Query * queryInfo, Expr * clause);
|
||||
extern Cost xfunc_join_expense(JoinPath * path, int whichchild);
|
||||
extern Cost xfunc_local_expense(Expr * clause);
|
||||
extern Cost xfunc_func_expense(Expr * node, List * args);
|
||||
extern int xfunc_width(Expr * clause);
|
||||
|
||||
/* static, moved to xfunc.c */
|
||||
/* extern int xfunc_card_unreferenced(Expr *clause, Relid referenced); */
|
||||
extern int xfunc_card_product(Relid relids);
|
||||
extern List *xfunc_find_references(List * clause);
|
||||
extern List *xfunc_primary_join(JoinPath * pathnode);
|
||||
extern Cost xfunc_get_path_cost(Path * pathnode);
|
||||
extern Cost xfunc_total_path_cost(JoinPath * pathnode);
|
||||
extern Cost xfunc_expense_per_tuple(JoinPath * joinnode, int whichchild);
|
||||
extern void xfunc_fixvars(Expr * clause, Rel * rel, int varno);
|
||||
extern int xfunc_cinfo_compare(void *arg1, void *arg2);
|
||||
extern int xfunc_clause_compare(void *arg1, void *arg2);
|
||||
extern void xfunc_disjunct_sort(List * clause_list);
|
||||
extern int xfunc_disjunct_compare(void *arg1, void *arg2);
|
||||
extern int xfunc_func_width(RegProcedure funcid, List * args);
|
||||
extern int xfunc_tuple_width(Relation rd);
|
||||
extern int xfunc_num_join_clauses(JoinPath * path);
|
||||
extern List *xfunc_LispRemove(List * foo, List * bar);
|
||||
extern bool xfunc_copyrel(Rel * from, Rel ** to);
|
||||
extern int xfunc_card_product(Relid relids);
|
||||
extern List *xfunc_find_references(List * clause);
|
||||
extern List *xfunc_primary_join(JoinPath * pathnode);
|
||||
extern Cost xfunc_get_path_cost(Path * pathnode);
|
||||
extern Cost xfunc_total_path_cost(JoinPath * pathnode);
|
||||
extern Cost xfunc_expense_per_tuple(JoinPath * joinnode, int whichchild);
|
||||
extern void xfunc_fixvars(Expr * clause, Rel * rel, int varno);
|
||||
extern int xfunc_cinfo_compare(void *arg1, void *arg2);
|
||||
extern int xfunc_clause_compare(void *arg1, void *arg2);
|
||||
extern void xfunc_disjunct_sort(List * clause_list);
|
||||
extern int xfunc_disjunct_compare(void *arg1, void *arg2);
|
||||
extern int xfunc_func_width(RegProcedure funcid, List * args);
|
||||
extern int xfunc_tuple_width(Relation rd);
|
||||
extern int xfunc_num_join_clauses(JoinPath * path);
|
||||
extern List *xfunc_LispRemove(List * foo, List * bar);
|
||||
extern bool xfunc_copyrel(Rel * from, Rel ** to);
|
||||
|
||||
/*
|
||||
* function prototypes for path/predmig.c
|
||||
*/
|
||||
extern bool xfunc_do_predmig(Path root);
|
||||
extern bool xfunc_do_predmig(Path root);
|
||||
|
||||
#endif /* XFUNC_H */
|
||||
|
||||
Reference in New Issue
Block a user