head	1.15;
access;
symbols
	release_4_2:1.15
	aix_ok:1.14
	Version_2_1:1.8
	Version_2:1.8
	C_Demo_1:1.5
	Retrieve_x_qual:1.3;
locks; strict;
comment	@ * @;


1.15
date	93.11.03.04.12.05;	author aoki;	state Exp;
branches;
next	1.14;

1.14
date	92.07.13.03.33.04;	author hong;	state Exp;
branches;
next	1.13;

1.13
date	92.07.02.20.21.40;	author hong;	state Exp;
branches;
next	1.12;

1.12
date	92.06.25.19.32.17;	author mer;	state Exp;
branches;
next	1.11;

1.11
date	91.11.15.16.22.26;	author hong;	state Exp;
branches;
next	1.10;

1.10
date	91.11.02.21.46.25;	author hong;	state Exp;
branches;
next	1.9;

1.9
date	91.08.15.17.50.47;	author caetta;	state Exp;
branches;
next	1.8;

1.8
date	90.03.12.13.07.54;	author ong;	state Version_2;
branches;
next	1.7;

1.7
date	89.10.17.13.45.16;	author cimarron;	state Exp;
branches;
next	1.6;

1.6
date	89.10.13.17.52.04;	author hong;	state Exp;
branches;
next	1.5;

1.5
date	89.09.05.17.30.49;	author mao;	state C_Demo_1;
branches;
next	1.4;

1.4
date	89.08.23.16.06.53;	author ong;	state Exp;
branches;
next	1.3;

1.3
date	89.08.04.17.10.40;	author goh;	state Exp;
branches;
next	1.2;

1.2
date	89.07.25.12.31.55;	author goh;	state Exp;
branches;
next	1.1;

1.1
date	89.07.20.08.48.38;	author ong;	state Exp;
branches;
next	;


desc
@@


1.15
log
@planner proto update
@
text
@/* ----------------------------------------------------------------
 *   FILE
 *	createplan.h
 *
 *   DESCRIPTION
 *	prototypes for createplan.c.
 *
 *   NOTES
 *	Automatically generated using mkproto
 *
 *   IDENTIFICATION
 *	$Header$
 * ----------------------------------------------------------------
 */

#ifndef createplanIncluded		/* include this file only once */
#define createplanIncluded	1

extern Plan create_plan ARGS((Path best_path));
extern Scan create_scan_node ARGS((Path best_path, List tlist));
extern Join create_join_node ARGS((JoinPath best_path, List tlist));
extern SeqScan create_seqscan_node ARGS((Path best_path, List tlist, LispValue scan_clauses));
extern IndexScan create_indexscan_node ARGS((IndexPath best_path, List tlist, List scan_clauses));
extern LispValue fix_indxqual_references ARGS((LispValue clause, Path index_path));
extern NestLoop create_nestloop_node ARGS((JoinPath best_path, List tlist, List clauses, Plan outer_node, List outer_tlist, Plan inner_node, List inner_tlist));
extern MergeJoin create_mergejoin_node ARGS((MergePath best_path, List tlist, List clauses, Plan outer_node, List outer_tlist, Plan inner_node, List inner_tlist));
extern LispValue switch_outer ARGS((LispValue clauses));
extern HashJoin create_hashjoin_node ARGS((HashPath best_path, List tlist, List clauses, Plan outer_node, List outer_tlist, Plan inner_node, List inner_tlist));
extern Temp make_temp ARGS((List tlist, List keys, List operators, Plan plan_node, int temptype));
extern List set_temp_tlist_operators ARGS((List tlist, List pathkeys, List operators));
extern SeqScan make_seqscan ARGS((List qptlist, List qpqual, Index scanrelid, Plan lefttree));
extern IndexScan make_indexscan ARGS((List qptlist, List qpqual, Index scanrelid, List indxid, List indxqual));
extern NestLoop make_nestloop ARGS((List qptlist, List qpqual, Plan lefttree, Plan righttree));
extern HashJoin make_hashjoin ARGS((LispValue tlist, LispValue qpqual, LispValue hashclauses, Plan lefttree, Plan righttree));
extern Hash make_hash ARGS((LispValue tlist, Var hashkey, Plan lefttree));
extern MergeJoin make_mergesort ARGS((LispValue tlist, LispValue qpqual, LispValue mergeclauses, ObjectId opcode, LispValue rightorder, LispValue leftorder, Plan righttree, Plan lefttree));
extern Sort make_sort ARGS((LispValue tlist, ObjectId tempid, Plan lefttree, Count keycount));
extern Material make_material ARGS((LispValue tlist, ObjectId tempid, Plan lefttree, Count keycount));
extern Agg make_agg ARGS((List arglist, ObjectId aggidnum));
extern Unique make_unique ARGS((List tlist, Plan lefttree));
extern List generate_fjoin ARGS((List tlist));

#endif /* createplanIncluded */
@


1.14
log
@prototyping
@
text
@d1 18
a18 1
/* $Header: RCS/createplan.h,v 1.13 92/07/02 20:21:40 hong Exp Locker: hong $ */
d22 1
a22 1
extern SeqScan create_seqscan_node ARGS((Path best_path, LispValue tlist, LispValue scan_clauses));
d31 1
a31 8
extern SeqScan make_seqscan ARGS((List qptlist, List qpqual, Index scanrelid, Plan lefttree ));
extern NestLoop make_nestloop ARGS((List qptlist, List qpqual, Plan lefttree, Plan righttree ));
extern HashJoin make_hashjoin ARGS((LispValue tlist, LispValue qpqual, List hashclauses, Plan outer_node, Plan inner_node));
extern MergeJoin make_mergesort ARGS((LispValue tlist, LispValue qpqual, List mergeclauses, ObjectId opcode, LispValue rightorder, LispValue leftorder, Plan outer_node, Plan inner_node));
extern Hash make_hash ARGS((List tlist, Var hashkey, Plan inner_node));
extern Agg make_agg ARGS((List tlist, ObjectId tempid));
extern Sort make_sort ARGS((List tlist, ObjectId tempid, Plan inner_node, Count keycount));
extern Material make_material ARGS((List tlist, ObjectId tempid, Plan inner_node, Count keycount));
d33 11
a43 2
extern Unique make_unique ARGS ((List tlist, Plan plannode));
extern List generate_fjoin ARGS ((List tlist));
@


1.13
log
@cleaned up create_plan
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.12 92/06/25 19:32:17 mer Exp Locker: hong $ */
d4 1
a4 1
extern Join create_join_node ARGS((JoinPath best_path, List origtlist, List tlist));
@


1.12
log
@prototype for the new fjoin generation function
@
text
@d1 2
a2 2
/* $Header: /private/mer/pg/src/lib/H/planner/RCS/createplan.h,v 1.11 1991/11/15 16:22:26 hong Exp mer $ */
extern Plan create_plan ARGS((Path best_path, List origtlist));
@


1.11
log
@planner prototyping
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.10 91/11/02 21:46:25 hong Exp $ */
d24 1
@


1.10
log
@code cleaning up for bushy tree plan generation code
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.9 91/08/15 17:50:47 caetta Exp $ */
d4 6
a9 6
extern Join create_join_node ARGS((Path best_path, List origtlist, List tlist));
extern SeqScan create_seqscan_node ARGS((LispValue best_path, LispValue tlist, LispValue scan_clauses));
extern IndexScan create_indexscan_node ARGS((Path best_path, List tlist, List scan_clauses));
extern LispValue fix_indxqual_references ARGS((LispValue clause, LispValue index_path));
extern NestLoop create_nestloop_node ARGS((Path best_path, List inner_ tlist, List clauses, Node outer_node, List outer_tlist, Node inner_node, int inner_tlist));
extern MergeJoin create_mergejoin_node ARGS((Path best_path, List inner_ tlist, List clauses, Node outer_node, List outer_tlist, Node inner_node, int inner_tlist));
d11 1
a11 1
extern HashJoin create_hashjoin_node ARGS((Path best_path, List inner_ tlist, List clauses, Node outer_node, List outer_tlist, int inner_node, int inner_tlist));
d14 1
a14 1
extern SeqScan make_seqscan ARGS((List qptlist,List qpqual, Index scanrelid Plan lefttree ));
d16 4
a19 4
extern HashJoin make_hashjoin ARGS((LispValue tlist, LispValue qpqual, List hashclauses, ObjectId opcode, Plan outer_node, Plan inner_node));
extern MergeJoin make_mergesort ARGS((LispValue tlist, LispValue qpqual, List mergeclauses, ObjectId opcode, Plan outer_node, Plan inner_node));
extern Hash make_hash ARGS((List tlist, ObjectId tempid, Plan inner_node, Count keycount));
extern Agg make_agg ARGS((List tlist, ObjectId tempid, Plan lefttree, Name aggname));
a23 2


@


1.9
log
@to make our Agg nodes...
@
text
@d1 1
a1 1
/* $Header: lib/H/planner/RCS/createplan.h,v 1.8 90/03/12 13:07:54 ong Version_2 Locker: caetta $ */
d21 1
@


1.8
log
@added make_unique()
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.7 89/10/17 13:45:16 cimarron Exp Locker: ong $ */
d19 1
@


1.7
log
@changes to support MergeJoins in the executor.
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.6 89/10/13 17:52:04 hong Exp $ */
d21 2
@


1.6
log
@fixes for mergejoins
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.5 89/09/05 17:30:49 mao C_Demo_1 Locker: hong $ */
d9 1
a9 1
extern MergeSort create_mergejoin_node ARGS((Path best_path, List inner_ tlist, List clauses, Node outer_node, List outer_tlist, Node inner_node, int inner_tlist));
d17 1
a17 1
extern MergeSort make_mergesort ARGS((LispValue tlist, LispValue qpqual, List mergeclauses, ObjectId opcode, Plan outer_node, Plan inner_node));
@


1.5
log
@Working version of C-only demo
@
text
@d1 1
a1 1
/* $Header: RCS/createplan.h,v 1.4 89/08/23 16:06:53 ong Exp Locker: ong $ */
d17 1
d19 1
@


1.4
log
@added externs to make the various join/scan nodes
@
text
@d1 1
a1 1
/* $Header: /n/postgres/a/postgres/ong/postgres/src/lib/H/planner/RCS/createplan.h,v 1.3 89/08/04 17:10:40 goh Exp $ */
@


1.3
log
@qualifications now work
@
text
@d1 1
a1 1
/* $Header:$ */
d15 4
@


1.2
log
@*** empty log message ***
@
text
@d1 1
d14 2
@


1.1
log
@Initial revision
@
text
@d1 5
a5 5
extern LispValue create_plan ARGS((LispValue best_path, LispValue origtlist));
extern LispValue create_scan_node ARGS((LispValue best_path, LispValue tlist));
extern LispValue create_join_node ARGS((LispValue best_path, LispValue origtlist, LispValue tlist));
extern LispValue create_seqscan_node ARGS((LispValue best_path, LispValue tlist, LispValue scan_clauses));
extern LispValue create_indexscan_node ARGS((LispValue best_path, LispValue tlist, LispValue scan_clauses));
d7 2
a8 2
extern LispValue create_nestloop_node ARGS((LispValue best_path, LispValue tlist, LispValue clauses, LispValue outer_node, LispValue outer_tlist, LispValue inner_node, LispValue inner_tlist));
extern LispValue create_mergejoin_node ARGS((LispValue best_path, LispValue tlist, LispValue clauses, LispValue outer_node, LispValue outer_tlist, LispValue inner_node, LispValue inner_tlist));
d10 3
a12 3
extern LispValue create_hashjoin_node ARGS((LispValue best_path, LispValue tlist, LispValue clauses, LispValue outer_node, LispValue outer_tlist, LispValue inner_node, LispValue inner_tlist));
extern LispValue make_temp ARGS((LispValue tlist, LispValue keys, LispValue operators, LispValue plan_node, LispValue temptype));
extern LispValue set_temp_tlist_operators ARGS((LispValue tlist, LispValue pathkeys, LispValue operators));
@
