head	1.19;
access
	werner
	shectman;
symbols;
locks; strict;
comment	@ * @;


1.19
date	91.11.15.16.20.42;	author hong;	state Exp;
branches;
next	;


desc
@Initial Ported Version
@


1.19
log
@checked in with -k by werner at 1992/01/09 16:58:55
@
text
@/* $Header: RCS/relation.a.h,v 1.19 91/11/15 16:20:42 hong Exp $ */

#include "nodes/pg_lisp.h"


/* relation.c */
void set_relids ARGS((Rel node , Relid value ));
Relid get_relids ARGS((Rel node ));
void set_indexed ARGS((Rel node , bool value ));
bool get_indexed ARGS((Rel node ));
void set_pages ARGS((Rel node , Count value ));
Count get_pages ARGS((Rel node ));
void set_tuples ARGS((Rel node , Count value ));
Count get_tuples ARGS((Rel node ));
void set_size ARGS((Rel node , Count value ));
Count get_size ARGS((Rel node ));
void set_width ARGS((Rel node , Count value ));
Count get_width ARGS((Rel node ));
void set_targetlist ARGS((Rel node , List value ));
List get_targetlist ARGS((Rel node ));
void set_pathlist ARGS((Rel node , List value ));
List get_pathlist ARGS((Rel node ));
void set_unorderedpath ARGS((Rel node , Path value ));
Path get_unorderedpath ARGS((Rel node ));
void set_cheapestpath ARGS((Rel node , Path value ));
Path get_cheapestpath ARGS((Rel node ));
void set_classlist ARGS((Rel node , List value ));
List get_classlist ARGS((Rel node ));
void set_indexkeys ARGS((Rel node , List value ));
List get_indexkeys ARGS((Rel node ));
void set_indproc ARGS((Rel node , oid value ));
oid get_indproc ARGS((Rel node ));
void set_ordering ARGS((Rel node , List value ));
List get_ordering ARGS((Rel node ));
void set_clauseinfo ARGS((Rel node , List value ));
List get_clauseinfo ARGS((Rel node ));
void set_joininfo ARGS((Rel node , List value ));
List get_joininfo ARGS((Rel node ));
void set_innerjoin ARGS((Rel node , List value ));
List get_innerjoin ARGS((Rel node ));
void set_superrels ARGS((Rel node , List value ));
List get_superrels ARGS((Rel node ));
void set_varkeys ARGS((SortKey node , List value ));
List get_varkeys ARGS((SortKey node ));
void set_sortkeys ARGS((SortKey node , List value ));
List get_sortkeys ARGS((SortKey node ));
void set_relid ARGS((SortKey node , Relid value ));
Relid get_relid ARGS((SortKey node ));
void set_sortorder ARGS((SortKey node , List value ));
List get_sortorder ARGS((SortKey node ));
void set_pathtype ARGS((Path node , int32 value ));
int32 get_pathtype ARGS((Path node ));
void set_parent ARGS((Path node , Rel value ));
Rel get_parent ARGS((Path node ));
void set_path_cost ARGS((Path node , Cost value ));
Cost get_path_cost ARGS((Path node ));
void set_p_ordering ARGS((Path node , List value ));
List get_p_ordering ARGS((Path node ));
void set_keys ARGS((Path node , List value ));
List get_keys ARGS((Path node ));
void set_pathsortkey ARGS((Path node , SortKey value ));
SortKey get_pathsortkey ARGS((Path node ));
void set_outerjoincost ARGS((Path node , Cost value ));
Cost get_outerjoincost ARGS((Path node ));
void set_joinid ARGS((Path node , Relid value ));
Relid get_joinid ARGS((Path node ));
void set_indexid ARGS((IndexPath node , List value ));
List get_indexid ARGS((IndexPath node ));
void set_indexqual ARGS((IndexPath node , List value ));
List get_indexqual ARGS((IndexPath node ));
void set_pathclauseinfo ARGS((JoinPath node , List value ));
List get_pathclauseinfo ARGS((JoinPath node ));
void set_outerjoinpath ARGS((JoinPath node , Path value ));
Path get_outerjoinpath ARGS((JoinPath node ));
void set_innerjoinpath ARGS((JoinPath node , Path value ));
Path get_innerjoinpath ARGS((JoinPath node ));
void set_path_mergeclauses ARGS((MergePath node , List value ));
List get_path_mergeclauses ARGS((MergePath node ));
void set_outersortkeys ARGS((MergePath node , List value ));
List get_outersortkeys ARGS((MergePath node ));
void set_innersortkeys ARGS((MergePath node , List value ));
List get_innersortkeys ARGS((MergePath node ));
void set_path_hashclauses ARGS((HashPath node , List value ));
List get_path_hashclauses ARGS((HashPath node ));
void set_outerhashkeys ARGS((HashPath node , List value ));
List get_outerhashkeys ARGS((HashPath node ));
void set_innerhashkeys ARGS((HashPath node , List value ));
List get_innerhashkeys ARGS((HashPath node ));
void set_attribute_number ARGS((OrderKey node , int value ));
int get_attribute_number ARGS((OrderKey node ));
void set_array_index ARGS((OrderKey node , Index value ));
Index get_array_index ARGS((OrderKey node ));
void set_outer ARGS((JoinKey node , LispValue value ));
LispValue get_outer ARGS((JoinKey node ));
void set_inner ARGS((JoinKey node , LispValue value ));
LispValue get_inner ARGS((JoinKey node ));
void set_join_operator ARGS((MergeOrder node , ObjectId value ));
ObjectId get_join_operator ARGS((MergeOrder node ));
void set_left_operator ARGS((MergeOrder node , ObjectId value ));
ObjectId get_left_operator ARGS((MergeOrder node ));
void set_right_operator ARGS((MergeOrder node , ObjectId value ));
ObjectId get_right_operator ARGS((MergeOrder node ));
void set_left_type ARGS((MergeOrder node , ObjectId value ));
ObjectId get_left_type ARGS((MergeOrder node ));
void set_right_type ARGS((MergeOrder node , ObjectId value ));
ObjectId get_right_type ARGS((MergeOrder node ));
void set_clause ARGS((CInfo node , Expr value ));
Expr get_clause ARGS((CInfo node ));
void set_selectivity ARGS((CInfo node , Cost value ));
Cost get_selectivity ARGS((CInfo node ));
void set_notclause ARGS((CInfo node , bool value ));
bool get_notclause ARGS((CInfo node ));
void set_indexids ARGS((CInfo node , List value ));
List get_indexids ARGS((CInfo node ));
void set_mergesortorder ARGS((CInfo node , MergeOrder value ));
MergeOrder get_mergesortorder ARGS((CInfo node ));
void set_hashjoinoperator ARGS((CInfo node , ObjectId value ));
ObjectId get_hashjoinoperator ARGS((CInfo node ));
void set_cinfojoinid ARGS((CInfo node , Relid value ));
Relid get_cinfojoinid ARGS((CInfo node ));
void set_jmkeys ARGS((JoinMethod node , List value ));
List get_jmkeys ARGS((JoinMethod node ));
void set_clauses ARGS((JoinMethod node , List value ));
List get_clauses ARGS((JoinMethod node ));
void set_hashop ARGS((HInfo node , ObjectId value ));
ObjectId get_hashop ARGS((HInfo node ));
void set_m_ordering ARGS((MInfo node , MergeOrder value ));
MergeOrder get_m_ordering ARGS((MInfo node ));
void set_otherrels ARGS((JInfo node , List value ));
List get_otherrels ARGS((JInfo node ));
void set_jinfoclauseinfo ARGS((JInfo node , List value ));
List get_jinfoclauseinfo ARGS((JInfo node ));
void set_mergesortable ARGS((JInfo node , bool value ));
bool get_mergesortable ARGS((JInfo node ));
void set_hashjoinable ARGS((JInfo node , bool value ));
bool get_hashjoinable ARGS((JInfo node ));
void set_inactive ARGS((JInfo node , bool value ));
bool get_inactive ARGS((JInfo node ));
void RInitRel ARGS((Pointer p ));
Rel MakeRel ARGS((Relid relids , bool indexed , Count pages , Count tuples , Count size , Count width , List targetlist , List pathlist , Path unorderedpath , Path cheapestpath , List classlist , List indexkeys , oid indproc , List ordering , List clauseinfo , List joininfo , List innerjoin , List superrels ));
void OutRel ARGS((StringInfo str , Rel node ));
bool EqualRel ARGS((Rel a , Rel b ));
bool CopyRel ARGS((Rel from , Rel *to , char *(*alloc )()));
Rel IMakeRel ARGS((Relid relids , bool indexed , Count pages , Count tuples , Count size , Count width , List targetlist , List pathlist , Path unorderedpath , Path cheapestpath , List classlist , List indexkeys , oid indproc , List ordering , List clauseinfo , List joininfo , List innerjoin , List superrels ));
Rel RMakeRel ARGS((void ));
void RInitSortKey ARGS((Pointer p ));
SortKey MakeSortKey ARGS((List varkeys , List sortkeys , Relid relid , List sortorder ));
void OutSortKey ARGS((StringInfo str , SortKey node ));
bool EqualSortKey ARGS((SortKey a , SortKey b ));
bool CopySortKey ARGS((SortKey from , SortKey *to , char *(*alloc )()));
SortKey IMakeSortKey ARGS((List varkeys , List sortkeys , Relid relid , List sortorder ));
SortKey RMakeSortKey ARGS((void ));
void RInitPath ARGS((Pointer p ));
Path MakePath ARGS((int32 pathtype , Rel parent , Cost path_cost , List p_ordering , List keys , SortKey pathsortkey , Cost outerjoincost , Relid joinid ));
void OutPath ARGS((StringInfo str , Path node ));
bool EqualPath ARGS((Path a , Path b ));
bool CopyPath ARGS((Path from , Path *to , char *(*alloc )()));
Path IMakePath ARGS((int32 pathtype , Rel parent , Cost path_cost , List p_ordering , List keys , SortKey pathsortkey , Cost outerjoincost , Relid joinid ));
Path RMakePath ARGS((void ));
void RInitIndexPath ARGS((Pointer p ));
IndexPath MakeIndexPath ARGS((List indexid , List indexqual ));
void OutIndexPath ARGS((StringInfo str , IndexPath node ));
bool EqualIndexPath ARGS((IndexPath a , IndexPath b ));
bool CopyIndexPath ARGS((IndexPath from , IndexPath *to , char *(*alloc )()));
IndexPath IMakeIndexPath ARGS((List indexid , List indexqual ));
IndexPath RMakeIndexPath ARGS((void ));
void RInitJoinPath ARGS((Pointer p ));
JoinPath MakeJoinPath ARGS((List pathclauseinfo , Path outerjoinpath , Path innerjoinpath ));
void OutJoinPath ARGS((StringInfo str , JoinPath node ));
bool EqualJoinPath ARGS((JoinPath a , JoinPath b ));
bool CopyJoinPath ARGS((JoinPath from , JoinPath *to , char *(*alloc )()));
JoinPath IMakeJoinPath ARGS((List pathclauseinfo , Path outerjoinpath , Path innerjoinpath ));
JoinPath RMakeJoinPath ARGS((void ));
void RInitMergePath ARGS((Pointer p ));
MergePath MakeMergePath ARGS((List path_mergeclauses , List outersortkeys , List innersortkeys ));
void OutMergePath ARGS((StringInfo str , MergePath node ));
bool EqualMergePath ARGS((MergePath a , MergePath b ));
bool CopyMergePath ARGS((MergePath from , MergePath *to , char *(*alloc )()));
MergePath IMakeMergePath ARGS((List path_mergeclauses , List outersortkeys , List innersortkeys ));
MergePath RMakeMergePath ARGS((void ));
void RInitHashPath ARGS((Pointer p ));
HashPath MakeHashPath ARGS((List path_hashclauses , List outerhashkeys , List innerhashkeys ));
void OutHashPath ARGS((StringInfo str , HashPath node ));
bool EqualHashPath ARGS((HashPath a , HashPath b ));
bool CopyHashPath ARGS((HashPath from , HashPath *to , char *(*alloc )()));
HashPath IMakeHashPath ARGS((List path_hashclauses , List outerhashkeys , List innerhashkeys ));
HashPath RMakeHashPath ARGS((void ));
void RInitOrderKey ARGS((Pointer p ));
OrderKey MakeOrderKey ARGS((int attribute_number , Index array_index ));
void OutOrderKey ARGS((StringInfo str , OrderKey node ));
bool EqualOrderKey ARGS((OrderKey a , OrderKey b ));
bool CopyOrderKey ARGS((OrderKey from , OrderKey *to , char *(*alloc )()));
OrderKey IMakeOrderKey ARGS((int attribute_number , Index array_index ));
OrderKey RMakeOrderKey ARGS((void ));
void RInitJoinKey ARGS((Pointer p ));
JoinKey MakeJoinKey ARGS((LispValue outer , LispValue inner ));
void OutJoinKey ARGS((StringInfo str , JoinKey node ));
bool EqualJoinKey ARGS((JoinKey a , JoinKey b ));
bool CopyJoinKey ARGS((JoinKey from , JoinKey *to , char *(*alloc )()));
JoinKey IMakeJoinKey ARGS((LispValue outer , LispValue inner ));
JoinKey RMakeJoinKey ARGS((void ));
void RInitMergeOrder ARGS((Pointer p ));
MergeOrder MakeMergeOrder ARGS((ObjectId join_operator , ObjectId left_operator , ObjectId right_operator , ObjectId left_type , ObjectId right_type ));
void OutMergeOrder ARGS((StringInfo str , MergeOrder node ));
bool EqualMergeOrder ARGS((MergeOrder a , MergeOrder b ));
bool CopyMergeOrder ARGS((MergeOrder from , MergeOrder *to , char *(*alloc )()));
MergeOrder IMakeMergeOrder ARGS((ObjectId join_operator , ObjectId left_operator , ObjectId right_operator , ObjectId left_type , ObjectId right_type ));
MergeOrder RMakeMergeOrder ARGS((void ));
void RInitCInfo ARGS((Pointer p ));
CInfo MakeCInfo ARGS((Expr clause , Cost selectivity , bool notclause , List indexids , MergeOrder mergesortorder , ObjectId hashjoinoperator , Relid cinfojoinid ));
void OutCInfo ARGS((StringInfo str , CInfo node ));
bool EqualCInfo ARGS((CInfo a , CInfo b ));
bool CopyCInfo ARGS((CInfo from , CInfo *to , char *(*alloc )()));
CInfo IMakeCInfo ARGS((Expr clause , Cost selectivity , bool notclause , List indexids , MergeOrder mergesortorder , ObjectId hashjoinoperator , Relid cinfojoinid ));
CInfo RMakeCInfo ARGS((void ));
void RInitJoinMethod ARGS((Pointer p ));
JoinMethod MakeJoinMethod ARGS((List jmkeys , List clauses ));
void OutJoinMethod ARGS((StringInfo str , JoinMethod node ));
bool EqualJoinMethod ARGS((JoinMethod a , JoinMethod b ));
bool CopyJoinMethod ARGS((JoinMethod from , JoinMethod *to , char *(*alloc )()));
JoinMethod IMakeJoinMethod ARGS((List jmkeys , List clauses ));
JoinMethod RMakeJoinMethod ARGS((void ));
void RInitHInfo ARGS((Pointer p ));
HInfo MakeHInfo ARGS((ObjectId hashop ));
void OutHInfo ARGS((StringInfo str , HInfo node ));
bool EqualHInfo ARGS((HInfo a , HInfo b ));
bool CopyHInfo ARGS((HInfo from , HInfo *to , char *(*alloc )()));
HInfo IMakeHInfo ARGS((ObjectId hashop ));
HInfo RMakeHInfo ARGS((void ));
void RInitMInfo ARGS((Pointer p ));
MInfo MakeMInfo ARGS((MergeOrder m_ordering ));
void OutMInfo ARGS((StringInfo str , MInfo node ));
bool EqualMInfo ARGS((MInfo a , MInfo b ));
bool CopyMInfo ARGS((MInfo from , MInfo *to , char *(*alloc )()));
MInfo IMakeMInfo ARGS((MergeOrder m_ordering ));
MInfo RMakeMInfo ARGS((void ));
void RInitJInfo ARGS((Pointer p ));
JInfo MakeJInfo ARGS((List otherrels , List jinfoclauseinfo , bool mergesortable , bool hashjoinable , bool inactive ));
void OutJInfo ARGS((StringInfo str , JInfo node ));
bool EqualJInfo ARGS((JInfo a , JInfo b ));
bool CopyJInfo ARGS((JInfo from , JInfo *to , char *(*alloc )()));
JInfo IMakeJInfo ARGS((List otherrels , List jinfoclauseinfo , bool mergesortable , bool hashjoinable , bool inactive ));
JInfo RMakeJInfo ARGS((void ));


@
