Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
b7044266
Commit
b7044266
authored
Nov 26, 1997
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make parser functions static where possible.
parent
97ad0b1c
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
163 additions
and
165 deletions
+163
-165
src/backend/parser/parse_agg.c
src/backend/parser/parse_agg.c
+8
-4
src/backend/parser/parse_clause.c
src/backend/parser/parse_clause.c
+43
-51
src/backend/parser/parse_expr.c
src/backend/parser/parse_expr.c
+4
-3
src/backend/parser/parse_func.c
src/backend/parser/parse_func.c
+48
-17
src/backend/parser/parse_node.c
src/backend/parser/parse_node.c
+9
-3
src/backend/parser/parse_oper.c
src/backend/parser/parse_oper.c
+21
-6
src/backend/parser/parse_relation.c
src/backend/parser/parse_relation.c
+5
-2
src/backend/parser/parse_target.c
src/backend/parser/parse_target.c
+11
-4
src/backend/utils/time/tqual.c
src/backend/utils/time/tqual.c
+4
-3
src/include/parser/gramparse.h
src/include/parser/gramparse.h
+2
-1
src/include/parser/parse_agg.h
src/include/parser/parse_agg.h
+1
-4
src/include/parser/parse_clause.h
src/include/parser/parse_clause.h
+1
-4
src/include/parser/parse_expr.h
src/include/parser/parse_expr.h
+1
-2
src/include/parser/parse_func.h
src/include/parser/parse_func.h
+1
-31
src/include/parser/parse_node.h
src/include/parser/parse_node.h
+1
-6
src/include/parser/parse_oper.h
src/include/parser/parse_oper.h
+1
-14
src/include/parser/parse_relation.h
src/include/parser/parse_relation.h
+1
-3
src/include/parser/parse_target.h
src/include/parser/parse_target.h
+1
-7
No files found.
src/backend/parser/parse_agg.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_agg.c,v 1.
2 1997/11/26 01:11:14
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_agg.c,v 1.
3 1997/11/26 03:42:37
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -27,6 +27,10 @@
#include "parser/parse_target.h"
#include "utils/syscache.h"
static
bool
contain_agg_clause
(
Node
*
clause
);
static
bool
exprIsAggOrGroupCol
(
Node
*
expr
,
List
*
groupClause
);
static
bool
tleIsAggOrGroupCol
(
TargetEntry
*
tle
,
List
*
groupClause
);
/*
* AddAggToParseState -
* add the aggregate to the list of unique aggregates in pstate.
...
...
@@ -93,7 +97,7 @@ finalizeAggregates(ParseState *pstate, Query *qry)
*
* Returns true if any aggregate found.
*/
bool
static
bool
contain_agg_clause
(
Node
*
clause
)
{
if
(
clause
==
NULL
)
...
...
@@ -151,7 +155,7 @@ contain_agg_clause(Node *clause)
* exprIsAggOrGroupCol -
* returns true if the expression does not contain non-group columns.
*/
bool
static
bool
exprIsAggOrGroupCol
(
Node
*
expr
,
List
*
groupClause
)
{
List
*
gl
;
...
...
@@ -185,7 +189,7 @@ exprIsAggOrGroupCol(Node *expr, List *groupClause)
* tleIsAggOrGroupCol -
* returns true if the TargetEntry is Agg or GroupCol.
*/
bool
static
bool
tleIsAggOrGroupCol
(
TargetEntry
*
tle
,
List
*
groupClause
)
{
Node
*
expr
=
tle
->
expr
;
...
...
src/backend/parser/parse_clause.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.
2 1997/11/26 01:11:16
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.
3 1997/11/26 03:42:39
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -25,45 +25,9 @@
#include "parser/parse_relation.h"
#include "parser/parse_target.h"
/*
* parseFromClause -
* turns the table references specified in the from-clause into a
* range table. The range table may grow as we transform the expressions
* in the target list. (Note that this happens because in POSTQUEL, we
* allow references to relations not specified in the from-clause. We
* also allow that in our POST-SQL)
*
*/
void
parseFromClause
(
ParseState
*
pstate
,
List
*
frmList
)
{
List
*
fl
;
foreach
(
fl
,
frmList
)
{
RangeVar
*
r
=
lfirst
(
fl
);
RelExpr
*
baserel
=
r
->
relExpr
;
char
*
relname
=
baserel
->
relname
;
char
*
refname
=
r
->
name
;
RangeTblEntry
*
rte
;
if
(
refname
==
NULL
)
refname
=
relname
;
/*
* marks this entry to indicate it comes from the FROM clause. In
* SQL, the target list can only refer to range variables
* specified in the from clause but we follow the more powerful
* POSTQUEL semantics and automatically generate the range
* variable if not specified. However there are times we need to
* know whether the entries are legitimate.
*
* eg. select * from foo f where f.x = 1; will generate wrong answer
* if we expand * to foo.x.
*/
rte
=
addRangeTableEntry
(
pstate
,
relname
,
refname
,
baserel
->
inh
,
TRUE
);
}
}
static
TargetEntry
*
find_targetlist_entry
(
ParseState
*
pstate
,
SortGroupBy
*
sortgroupby
,
List
*
tlist
);
static
void
parseFromClause
(
ParseState
*
pstate
,
List
*
frmList
);
/*
* makeRangeTable -
...
...
@@ -92,12 +56,6 @@ makeRangeTable(ParseState *pstate, char *relname, List *frmList)
/* will close relation later */
}
/*****************************************************************************
*
* Where Clause
*
*****************************************************************************/
/*
* transformWhereClause -
* transforms the qualification and make sure it is of type Boolean
...
...
@@ -123,11 +81,45 @@ transformWhereClause(ParseState *pstate, Node *a_expr)
return
qual
;
}
/*****************************************************************************
/*
* parseFromClause -
* turns the table references specified in the from-clause into a
* range table. The range table may grow as we transform the expressions
* in the target list. (Note that this happens because in POSTQUEL, we
* allow references to relations not specified in the from-clause. We
* also allow that in our POST-SQL)
*
* Sort Clause
*/
static
void
parseFromClause
(
ParseState
*
pstate
,
List
*
frmList
)
{
List
*
fl
;
foreach
(
fl
,
frmList
)
{
RangeVar
*
r
=
lfirst
(
fl
);
RelExpr
*
baserel
=
r
->
relExpr
;
char
*
relname
=
baserel
->
relname
;
char
*
refname
=
r
->
name
;
RangeTblEntry
*
rte
;
if
(
refname
==
NULL
)
refname
=
relname
;
/*
* marks this entry to indicate it comes from the FROM clause. In
* SQL, the target list can only refer to range variables
* specified in the from clause but we follow the more powerful
* POSTQUEL semantics and automatically generate the range
* variable if not specified. However there are times we need to
* know whether the entries are legitimate.
*
*****************************************************************************/
* eg. select * from foo f where f.x = 1; will generate wrong answer
* if we expand * to foo.x.
*/
rte
=
addRangeTableEntry
(
pstate
,
relname
,
refname
,
baserel
->
inh
,
TRUE
);
}
}
/*
* find_targetlist_entry -
...
...
@@ -135,7 +127,7 @@ transformWhereClause(ParseState *pstate, Node *a_expr)
* and range
*
*/
TargetEntry
*
static
TargetEntry
*
find_targetlist_entry
(
ParseState
*
pstate
,
SortGroupBy
*
sortgroupby
,
List
*
tlist
)
{
List
*
i
;
...
...
src/backend/parser/parse_expr.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.
2 1997/11/26 01:11:17
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.
3 1997/11/26 03:42:41
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -22,6 +22,7 @@
#include "nodes/params.h"
#include "nodes/relation.h"
#include "parse.h"
#include "parser/gramparse.h"
#include "parser/parse_expr.h"
#include "parser/parse_func.h"
#include "parser/parse_node.h"
...
...
@@ -29,7 +30,7 @@
#include "parser/parse_target.h"
#include "utils/builtins.h"
Oid
param_type
(
int
t
);
/* from gram.y */
static
Node
*
parser_typecast
(
Value
*
expr
,
TypeName
*
typename
,
int
typlen
);
/*
* transformExpr -
...
...
@@ -397,7 +398,7 @@ handleNestedDots(ParseState *pstate, Attr *attr, int *curr_resno)
return
(
retval
);
}
Node
*
static
Node
*
parser_typecast
(
Value
*
expr
,
TypeName
*
typename
,
int
typlen
)
{
/* check for passing non-ints */
...
...
src/backend/parser/parse_func.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.
2 1997/11/26 01:11:21
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.
3 1997/11/26 03:42:42
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -42,6 +42,37 @@
#include "utils/lsyscache.h"
#include "utils/syscache.h"
static
Node
*
ParseComplexProjection
(
ParseState
*
pstate
,
char
*
funcname
,
Node
*
first_arg
,
bool
*
attisset
);
static
Oid
**
argtype_inherit
(
int
nargs
,
Oid
*
oid_array
);
static
bool
can_coerce
(
int
nargs
,
Oid
*
input_typeids
,
Oid
*
func_typeids
);
static
int
find_inheritors
(
Oid
relid
,
Oid
**
supervec
);
static
CandidateList
func_get_candidates
(
char
*
funcname
,
int
nargs
);
static
bool
func_get_detail
(
char
*
funcname
,
int
nargs
,
Oid
*
oid_array
,
Oid
*
funcid
,
/* return value */
Oid
*
rettype
,
/* return value */
bool
*
retset
,
/* return value */
Oid
**
true_typeids
);
static
Oid
*
func_select_candidate
(
int
nargs
,
Oid
*
input_typeids
,
CandidateList
candidates
);
static
Oid
funcid_get_rettype
(
Oid
funcid
);
static
Oid
**
gen_cross_product
(
InhPaths
*
arginh
,
int
nargs
);
static
void
make_arguments
(
int
nargs
,
List
*
fargs
,
Oid
*
input_typeids
,
Oid
*
function_typeids
);
static
int
match_argtypes
(
int
nargs
,
Oid
*
input_typeids
,
CandidateList
function_typeids
,
CandidateList
*
candidates
);
static
List
*
setup_tlist
(
char
*
attname
,
Oid
relid
);
static
List
*
setup_base_tlist
(
Oid
typeid
);
#define ISCOMPLEX(type) (typeidTypeRelid(type) ? true : false)
#define MAXFARGS 8
/* max # args to a c or postquel function */
...
...
@@ -400,7 +431,7 @@ ParseFunc(ParseState *pstate, char *funcname, List *fargs, int *curr_resno)
return
(
retval
);
}
Oid
static
Oid
funcid_get_rettype
(
Oid
funcid
)
{
HeapTuple
func_tuple
=
NULL
;
...
...
@@ -422,7 +453,7 @@ funcid_get_rettype(Oid funcid)
* get a list of all argument type vectors for which a function named
* funcname taking nargs arguments exists
*/
CandidateList
static
CandidateList
func_get_candidates
(
char
*
funcname
,
int
nargs
)
{
Relation
heapRelation
;
...
...
@@ -500,7 +531,7 @@ func_get_candidates(char *funcname, int nargs)
/*
* can input_typeids be coerced to func_typeids?
*/
bool
static
bool
can_coerce
(
int
nargs
,
Oid
*
input_typeids
,
Oid
*
func_typeids
)
{
int
i
;
...
...
@@ -539,7 +570,7 @@ can_coerce(int nargs, Oid *input_typeids, Oid *func_typeids)
* that match the input typeids (either exactly or by coercion), and
* return the number of such arrays
*/
int
static
int
match_argtypes
(
int
nargs
,
Oid
*
input_typeids
,
CandidateList
function_typeids
,
...
...
@@ -577,7 +608,7 @@ match_argtypes(int nargs,
* returns the selected argtype array if the conflict can be resolved,
* otherwise returns NULL
*/
Oid
*
static
Oid
*
func_select_candidate
(
int
nargs
,
Oid
*
input_typeids
,
CandidateList
candidates
)
...
...
@@ -586,7 +617,7 @@ func_select_candidate(int nargs,
return
(
NULL
);
}
bool
static
bool
func_get_detail
(
char
*
funcname
,
int
nargs
,
Oid
*
oid_array
,
...
...
@@ -731,7 +762,7 @@ func_get_detail(char *funcname,
* not defined. There are lots of these (mostly builtins) in the
* catalogs.
*/
Oid
**
static
Oid
**
argtype_inherit
(
int
nargs
,
Oid
*
oid_array
)
{
Oid
relid
;
...
...
@@ -745,7 +776,7 @@ argtype_inherit(int nargs, Oid *oid_array)
arginh
[
i
].
self
=
oid_array
[
i
];
if
((
relid
=
typeidTypeRelid
(
oid_array
[
i
]))
!=
InvalidOid
)
{
arginh
[
i
].
nsupers
=
find
supe
rs
(
relid
,
&
(
arginh
[
i
].
supervec
));
arginh
[
i
].
nsupers
=
find
_inherito
rs
(
relid
,
&
(
arginh
[
i
].
supervec
));
}
else
{
...
...
@@ -762,10 +793,10 @@ argtype_inherit(int nargs, Oid *oid_array)
}
/* return an ordered cross-product of the classes involved */
return
(
gen
xprod
(
arginh
,
nargs
));
return
(
gen
_cross_product
(
arginh
,
nargs
));
}
int
findsupe
rs
(
Oid
relid
,
Oid
**
supervec
)
static
int
find_inherito
rs
(
Oid
relid
,
Oid
**
supervec
)
{
Oid
*
relidvec
;
Relation
inhrel
;
...
...
@@ -885,8 +916,8 @@ int findsupers(Oid relid, Oid **supervec)
return
(
nvisited
);
}
Oid
**
gen
xprod
(
InhPaths
*
arginh
,
int
nargs
)
static
Oid
**
gen
_cross_product
(
InhPaths
*
arginh
,
int
nargs
)
{
int
nanswers
;
Oid
**
result
,
...
...
@@ -946,7 +977,7 @@ genxprod(InhPaths *arginh, int nargs)
** Given the number and types of arguments to a function, and the
** actual arguments and argument types, do the necessary typecasting.
*/
void
static
void
make_arguments
(
int
nargs
,
List
*
fargs
,
Oid
*
input_typeids
,
...
...
@@ -987,7 +1018,7 @@ make_arguments(int nargs,
** on a tuple parameter or return value. Due to a bug in 4.0,
** it's not possible to refer to system attributes in this case.
*/
List
*
static
List
*
setup_tlist
(
char
*
attname
,
Oid
relid
)
{
TargetEntry
*
tle
;
...
...
@@ -1021,7 +1052,7 @@ setup_tlist(char *attname, Oid relid)
** Build a tlist that extracts a base type from the tuple
** returned by the executor.
*/
List
*
static
List
*
setup_base_tlist
(
Oid
typeid
)
{
TargetEntry
*
tle
;
...
...
@@ -1048,7 +1079,7 @@ setup_base_tlist(Oid typeid)
* handles function calls with a single argument that is of complex type.
* This routine returns NULL if it can't handle the projection (eg. sets).
*/
Node
*
static
Node
*
ParseComplexProjection
(
ParseState
*
pstate
,
char
*
funcname
,
Node
*
first_arg
,
...
...
src/backend/parser/parse_node.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_node.c,v 1.
2 1997/11/26 01:11:22
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_node.c,v 1.
3 1997/11/26 03:42:44
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -28,6 +28,12 @@
#include "utils/builtins.h"
#include "utils/syscache.h"
static
void
disallow_setop
(
char
*
op
,
Type
optype
,
Node
*
operand
);
static
Node
*
make_operand
(
char
*
opname
,
Node
*
tree
,
Oid
orig_typeId
,
Oid
true_typeId
);
/*
* make_parsestate() --
* allocate and initialize a new ParseState.
...
...
@@ -56,7 +62,7 @@ make_parsestate(void)
return
(
pstate
);
}
Node
*
static
Node
*
make_operand
(
char
*
opname
,
Node
*
tree
,
Oid
orig_typeId
,
...
...
@@ -110,7 +116,7 @@ make_operand(char *opname,
}
void
static
void
disallow_setop
(
char
*
op
,
Type
optype
,
Node
*
operand
)
{
if
(
operand
==
NULL
)
...
...
src/backend/parser/parse_oper.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.
2 1997/11/26 01:11:24
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.
3 1997/11/26 03:42:45
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -26,6 +26,21 @@
#include "storage/bufmgr.h"
#include "utils/syscache.h"
static
int
binary_oper_get_candidates
(
char
*
opname
,
Oid
leftTypeId
,
Oid
rightTypeId
,
CandidateList
*
candidates
);
static
CandidateList
binary_oper_select_candidate
(
Oid
arg1
,
Oid
arg2
,
CandidateList
candidates
);
static
bool
equivalentOpersAfterPromotion
(
CandidateList
candidates
);
static
void
op_error
(
char
*
op
,
Oid
arg1
,
Oid
arg2
);
static
int
unary_oper_get_candidates
(
char
*
op
,
Oid
typeId
,
CandidateList
*
candidates
,
char
rightleft
);
Oid
any_ordering_op
(
int
restype
)
{
...
...
@@ -51,7 +66,7 @@ oprid(Operator op)
* opname exists, such that leftTypeId can be coerced to arg1 and
* rightTypeId can be coerced to arg2
*/
int
static
int
binary_oper_get_candidates
(
char
*
opname
,
Oid
leftTypeId
,
Oid
rightTypeId
,
...
...
@@ -149,7 +164,7 @@ binary_oper_get_candidates(char *opname,
* the all the candidates operate on the same data types after
* promotion (int2, int4, float4 -> float8).
*/
bool
static
bool
equivalentOpersAfterPromotion
(
CandidateList
candidates
)
{
CandidateList
result
;
...
...
@@ -223,7 +238,7 @@ equivalentOpersAfterPromotion(CandidateList candidates)
* given a choice of argument type pairs for a binary operator,
* try to choose a default pair
*/
CandidateList
static
CandidateList
binary_oper_select_candidate
(
Oid
arg1
,
Oid
arg2
,
CandidateList
candidates
)
...
...
@@ -366,7 +381,7 @@ oper(char *op, Oid arg1, Oid arg2, bool noWarnings)
* a right/left unary operator named opname exists,
* such that typeId can be coerced to it
*/
int
static
int
unary_oper_get_candidates
(
char
*
op
,
Oid
typeId
,
CandidateList
*
candidates
,
...
...
@@ -548,7 +563,7 @@ outstr(char *typename, /* Name of type of value */
* Give a somewhat useful error message when the operator for two types
* is not found.
*/
void
static
void
op_error
(
char
*
op
,
Oid
arg1
,
Oid
arg2
)
{
Type
tp1
=
NULL
,
...
...
src/backend/parser/parse_relation.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.
2 1997/11/26 01:11:2
8 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.
3 1997/11/26 03:42:4
8 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -24,6 +24,9 @@
#include "utils/builtins.h"
#include "utils/lsyscache.h"
static
void
checkTargetTypes
(
ParseState
*
pstate
,
char
*
target_colname
,
char
*
refname
,
char
*
colname
);
struct
{
char
*
field
;
...
...
@@ -415,7 +418,7 @@ handleTargetColname(ParseState *pstate, char **resname,
* checkTargetTypes -
* checks value and target column types
*/
void
static
void
checkTargetTypes
(
ParseState
*
pstate
,
char
*
target_colname
,
char
*
refname
,
char
*
colname
)
{
...
...
src/backend/parser/parse_target.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.
2 1997/11/26 01:11:30
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.
3 1997/11/26 03:42:49
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -25,6 +25,13 @@
#include "parser/parse_target.h"
#include "utils/builtins.h"
static
List
*
expandAllTables
(
ParseState
*
pstate
);
static
char
*
figureColname
(
Node
*
expr
,
Node
*
resval
);
static
TargetEntry
*
make_targetlist_expr
(
ParseState
*
pstate
,
char
*
colname
,
Node
*
expr
,
List
*
arrayRef
);
/*
* transformTargetList -
* turns a list of ResTarget's into a list of TargetEntry's
...
...
@@ -310,7 +317,7 @@ transformTargetList(ParseState *pstate, List *targetlist)
*
* arrayRef is a list of transformed A_Indices
*/
TargetEntry
*
static
TargetEntry
*
make_targetlist_expr
(
ParseState
*
pstate
,
char
*
colname
,
Node
*
expr
,
...
...
@@ -568,7 +575,7 @@ makeTargetNames(ParseState *pstate, List *cols)
* turns '*' (in the target list) into a list of attributes
* (of all relations in the range table)
*/
List
*
static
List
*
expandAllTables
(
ParseState
*
pstate
)
{
List
*
target
=
NIL
;
...
...
@@ -633,7 +640,7 @@ expandAllTables(ParseState *pstate)
* list, we have to guess.
*
*/
char
*
static
char
*
figureColname
(
Node
*
expr
,
Node
*
resval
)
{
switch
(
nodeTag
(
expr
))
...
...
src/backend/utils/time/tqual.c
View file @
b7044266
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.1
1 1997/11/24 05:09:24
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.1
2 1997/11/26 03:42:58
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -24,6 +24,8 @@
#include "utils/palloc.h"
#include "utils/tqual.h"
static
bool
heapisoverride
(
void
);
extern
bool
PostgresIsInitialized
;
/*
...
...
@@ -49,8 +51,7 @@ setheapoverride(bool on)
}
}
/* static */
bool
static
bool
heapisoverride
()
{
if
(
!
TransactionIdIsValid
(
HeapSpecialTransactionId
))
...
...
src/include/parser/gramparse.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: gramparse.h,v 1.
5 1997/09/08 21:53:37
momjian Exp $
* $Id: gramparse.h,v 1.
6 1997/11/26 03:43:05
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -18,6 +18,7 @@
extern
void
init_io
(
void
);
/* from gram.y */
extern
Oid
param_type
(
int
t
);
extern
void
parser_init
(
Oid
*
typev
,
int
nargs
);
extern
int
yyparse
(
void
);
...
...
src/include/parser/parse_agg.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_agg.h,v 1.
2 1997/11/26 01:13:5
8 momjian Exp $
* $Id: parse_agg.h,v 1.
3 1997/11/26 03:43:0
8 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -20,9 +20,6 @@
extern
void
AddAggToParseState
(
ParseState
*
pstate
,
Aggreg
*
aggreg
);
extern
void
finalizeAggregates
(
ParseState
*
pstate
,
Query
*
qry
);
extern
bool
contain_agg_clause
(
Node
*
clause
);
extern
bool
exprIsAggOrGroupCol
(
Node
*
expr
,
List
*
groupClause
);
extern
bool
tleIsAggOrGroupCol
(
TargetEntry
*
tle
,
List
*
groupClause
);
extern
void
parseCheckAggregates
(
ParseState
*
pstate
,
Query
*
qry
);
extern
Aggreg
*
ParseAgg
(
char
*
aggname
,
Oid
basetype
,
Node
*
target
);
extern
void
agg_error
(
char
*
caller
,
char
*
aggname
,
Oid
basetypeID
);
...
...
src/include/parser/parse_clause.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_clause.h,v 1.
2 1997/11/26 01:14:00
momjian Exp $
* $Id: parse_clause.h,v 1.
3 1997/11/26 03:43:09
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -19,11 +19,8 @@
#include <nodes/primnodes.h>
#include <parser/parse_node.h>
extern
void
parseFromClause
(
ParseState
*
pstate
,
List
*
frmList
);
extern
void
makeRangeTable
(
ParseState
*
pstate
,
char
*
relname
,
List
*
frmList
);
extern
Node
*
transformWhereClause
(
ParseState
*
pstate
,
Node
*
a_expr
);
extern
TargetEntry
*
find_targetlist_entry
(
ParseState
*
pstate
,
SortGroupBy
*
sortgroupby
,
List
*
tlist
);
extern
List
*
transformGroupClause
(
ParseState
*
pstate
,
List
*
grouplist
,
List
*
targetlist
);
extern
List
*
transformSortClause
(
ParseState
*
pstate
,
...
...
src/include/parser/parse_expr.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_expr.h,v 1.
2 1997/11/26 01:14:02
momjian Exp $
* $Id: parse_expr.h,v 1.
3 1997/11/26 03:43:11
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -22,7 +22,6 @@ extern Node *transformExpr(ParseState *pstate, Node *expr, int precedence);
extern
Node
*
transformIdent
(
ParseState
*
pstate
,
Node
*
expr
,
int
precedence
);
extern
Oid
exprType
(
Node
*
expr
);
extern
Node
*
handleNestedDots
(
ParseState
*
pstate
,
Attr
*
attr
,
int
*
curr_resno
);
extern
Node
*
parser_typecast
(
Value
*
expr
,
TypeName
*
typename
,
int
typlen
);
extern
Node
*
parser_typecast2
(
Node
*
expr
,
Oid
exprType
,
Type
tp
,
int
typlen
);
#endif
/* PARSE_EXPR_H */
...
...
src/include/parser/parse_func.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_func.h,v 1.
2 1997/11/26 01:14:04
momjian Exp $
* $Id: parse_func.h,v 1.
3 1997/11/26 03:43:12
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -44,37 +44,7 @@ typedef struct _CandidateList
extern
Node
*
ParseFunc
(
ParseState
*
pstate
,
char
*
funcname
,
List
*
fargs
,
int
*
curr_resno
);
extern
Oid
funcid_get_rettype
(
Oid
funcid
);
extern
CandidateList
func_get_candidates
(
char
*
funcname
,
int
nargs
);
extern
bool
can_coerce
(
int
nargs
,
Oid
*
input_typeids
,
Oid
*
func_typeids
);
extern
int
match_argtypes
(
int
nargs
,
Oid
*
input_typeids
,
CandidateList
function_typeids
,
CandidateList
*
candidates
);
extern
Oid
*
func_select_candidate
(
int
nargs
,
Oid
*
input_typeids
,
CandidateList
candidates
);
extern
bool
func_get_detail
(
char
*
funcname
,
int
nargs
,
Oid
*
oid_array
,
Oid
*
funcid
,
/* return value */
Oid
*
rettype
,
/* return value */
bool
*
retset
,
/* return value */
Oid
**
true_typeids
);
extern
Oid
**
argtype_inherit
(
int
nargs
,
Oid
*
oid_array
);
extern
int
findsupers
(
Oid
relid
,
Oid
**
supervec
);
extern
Oid
**
genxprod
(
InhPaths
*
arginh
,
int
nargs
);
extern
void
make_arguments
(
int
nargs
,
List
*
fargs
,
Oid
*
input_typeids
,
Oid
*
function_typeids
);
extern
List
*
setup_tlist
(
char
*
attname
,
Oid
relid
);
extern
List
*
setup_base_tlist
(
Oid
typeid
);
extern
Node
*
ParseComplexProjection
(
ParseState
*
pstate
,
char
*
funcname
,
Node
*
first_arg
,
bool
*
attisset
);
extern
void
func_error
(
char
*
caller
,
char
*
funcname
,
int
nargs
,
Oid
*
argtypes
);
#endif
/* PARSE_FUNC_H */
...
...
src/include/parser/parse_node.h
View file @
b7044266
...
...
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_node.h,v 1.
2 1997/11/26 01:14:05
momjian Exp $
* $Id: parse_node.h,v 1.
3 1997/11/26 03:43:13
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -42,11 +42,6 @@ typedef struct ParseState
}
ParseState
;
extern
ParseState
*
make_parsestate
(
void
);
extern
Node
*
make_operand
(
char
*
opname
,
Node
*
tree
,
Oid
orig_typeId
,
Oid
true_typeId
);
extern
void
disallow_setop
(
char
*
op
,
Type
optype
,
Node
*
operand
);
extern
Expr
*
make_op
(
char
*
opname
,
Node
*
ltree
,
Node
*
rtree
);
extern
Var
*
make_var
(
ParseState
*
pstate
,
char
*
refname
,
char
*
attrname
,
Oid
*
type_id
);
extern
ArrayRef
*
make_array_ref
(
Node
*
expr
,
...
...
src/include/parser/parse_oper.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_oper.h,v 1.
2 1997/11/26 01:14:07
momjian Exp $
* $Id: parse_oper.h,v 1.
3 1997/11/26 03:43:14
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -20,21 +20,8 @@ typedef HeapTuple Operator;
extern
Oid
any_ordering_op
(
int
restype
);
extern
Oid
oprid
(
Operator
op
);
extern
int
binary_oper_get_candidates
(
char
*
opname
,
Oid
leftTypeId
,
Oid
rightTypeId
,
CandidateList
*
candidates
);
extern
bool
equivalentOpersAfterPromotion
(
CandidateList
candidates
);
extern
CandidateList
binary_oper_select_candidate
(
Oid
arg1
,
Oid
arg2
,
CandidateList
candidates
);
extern
Operator
oper
(
char
*
op
,
Oid
arg1
,
Oid
arg2
,
bool
noWarnings
);
extern
int
unary_oper_get_candidates
(
char
*
op
,
Oid
typeId
,
CandidateList
*
candidates
,
char
rightleft
);
extern
Operator
right_oper
(
char
*
op
,
Oid
arg
);
extern
Operator
left_oper
(
char
*
op
,
Oid
arg
);
extern
void
op_error
(
char
*
op
,
Oid
arg1
,
Oid
arg2
);
#endif
/* PARSE_OPER_H */
src/include/parser/parse_relation.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_relation.h,v 1.
2 1997/11/26 01:14:08
momjian Exp $
* $Id: parse_relation.h,v 1.
3 1997/11/26 03:43:16
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -38,7 +38,5 @@ extern Oid attnameTypeId(Oid relid, char *attrname);
extern
Oid
attnumTypeId
(
Relation
rd
,
int
attid
);
extern
void
handleTargetColname
(
ParseState
*
pstate
,
char
**
resname
,
char
*
refname
,
char
*
colname
);
extern
void
checkTargetTypes
(
ParseState
*
pstate
,
char
*
target_colname
,
char
*
refname
,
char
*
colname
);
#endif
/* PARSE_RANGE_H */
src/include/parser/parse_target.h
View file @
b7044266
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parse_target.h,v 1.
2 1997/11/26 01:14:10
momjian Exp $
* $Id: parse_target.h,v 1.
3 1997/11/26 03:43:18
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -23,12 +23,6 @@
#define EXPR_RELATION_FIRST 2
extern
List
*
transformTargetList
(
ParseState
*
pstate
,
List
*
targetlist
);
extern
TargetEntry
*
make_targetlist_expr
(
ParseState
*
pstate
,
char
*
colname
,
Node
*
expr
,
List
*
arrayRef
);
extern
List
*
expandAllTables
(
ParseState
*
pstate
);
extern
char
*
figureColname
(
Node
*
expr
,
Node
*
resval
);
extern
List
*
makeTargetNames
(
ParseState
*
pstate
,
List
*
cols
);
#endif
/* PARSE_TARGET_H */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment