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
ad494886
Commit
ad494886
authored
Jul 13, 1999
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove S*I comments from Stephan.
parent
050371fc
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
12 additions
and
58 deletions
+12
-58
src/backend/executor/execAmi.c
src/backend/executor/execAmi.c
+1
-2
src/backend/nodes/readfuncs.c
src/backend/nodes/readfuncs.c
+1
-2
src/backend/parser/analyze.c
src/backend/parser/analyze.c
+1
-7
src/backend/parser/gram.y
src/backend/parser/gram.y
+1
-10
src/backend/parser/keywords.c
src/backend/parser/keywords.c
+1
-3
src/backend/rewrite/rewriteHandler.c
src/backend/rewrite/rewriteHandler.c
+1
-7
src/backend/rewrite/rewriteManip.c
src/backend/rewrite/rewriteManip.c
+1
-10
src/include/executor/nodeGroup.h
src/include/executor/nodeGroup.h
+1
-2
src/include/nodes/parsenodes.h
src/include/nodes/parsenodes.h
+1
-4
src/include/parser/analyze.h
src/include/parser/analyze.h
+1
-2
src/include/utils/elog.h
src/include/utils/elog.h
+1
-2
src/interfaces/ecpg/preproc/keywords.c
src/interfaces/ecpg/preproc/keywords.c
+1
-3
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+0
-4
No files found.
src/backend/executor/execAmi.c
View file @
ad494886
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: execAmi.c,v 1.3
5 1999/05/25 16:08:34
momjian Exp $
* $Id: execAmi.c,v 1.3
6 1999/07/13 21:17:31
momjian Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -38,7 +38,6 @@
...
@@ -38,7 +38,6 @@
#include "executor/nodeNestloop.h"
#include "executor/nodeNestloop.h"
#include "executor/nodeHashjoin.h"
#include "executor/nodeHashjoin.h"
#include "executor/nodeHash.h"
#include "executor/nodeHash.h"
/***S*I***/
#include "executor/nodeGroup.h"
#include "executor/nodeGroup.h"
#include "executor/nodeAgg.h"
#include "executor/nodeAgg.h"
...
...
src/backend/nodes/readfuncs.c
View file @
ad494886
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.6
4 1999/05/25 16:09:1
1 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.6
5 1999/07/13 21:17:3
1 momjian Exp $
*
*
* NOTES
* NOTES
* Most of the read functions for plan nodes are tested. (In fact, they
* Most of the read functions for plan nodes are tested. (In fact, they
...
@@ -168,7 +168,6 @@ _readQuery()
...
@@ -168,7 +168,6 @@ _readQuery()
token
=
lsptok
(
NULL
,
&
length
);
/* skip :unionClause */
token
=
lsptok
(
NULL
,
&
length
);
/* skip :unionClause */
local_node
->
unionClause
=
nodeRead
(
true
);
local_node
->
unionClause
=
nodeRead
(
true
);
/***S*I***/
token
=
lsptok
(
NULL
,
&
length
);
/* skip :intersectClause */
token
=
lsptok
(
NULL
,
&
length
);
/* skip :intersectClause */
local_node
->
intersectClause
=
nodeRead
(
true
);
local_node
->
intersectClause
=
nodeRead
(
true
);
...
...
src/backend/parser/analyze.c
View file @
ad494886
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: analyze.c,v 1.11
0 1999/06/05 20:22:30 tgl
Exp $
* $Id: analyze.c,v 1.11
1 1999/07/13 21:17:32 momjian
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -26,7 +26,6 @@
...
@@ -26,7 +26,6 @@
#include "parser/parse_node.h"
#include "parser/parse_node.h"
#include "parser/parse_relation.h"
#include "parser/parse_relation.h"
#include "parser/parse_target.h"
#include "parser/parse_target.h"
/***S*I***/
#include "parser/parse_expr.h"
#include "parser/parse_expr.h"
#include "catalog/pg_type.h"
#include "catalog/pg_type.h"
#include "parse.h"
#include "parse.h"
...
@@ -382,8 +381,6 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt)
...
@@ -382,8 +381,6 @@ transformInsertStmt(ParseState *pstate, InsertStmt *stmt)
*/
*/
qry
->
unionall
=
stmt
->
unionall
;
qry
->
unionall
=
stmt
->
unionall
;
/***S*I***/
/*
/*
* Just hand through the unionClause and intersectClause. We will
* Just hand through the unionClause and intersectClause. We will
* handle it in the function Except_Intersect_Rewrite()
* handle it in the function Except_Intersect_Rewrite()
...
@@ -1022,8 +1019,6 @@ transformSelectStmt(ParseState *pstate, SelectStmt *stmt)
...
@@ -1022,8 +1019,6 @@ transformSelectStmt(ParseState *pstate, SelectStmt *stmt)
*/
*/
qry
->
unionall
=
stmt
->
unionall
;
qry
->
unionall
=
stmt
->
unionall
;
/***S*I***/
/*
/*
* Just hand through the unionClause and intersectClause. We will
* Just hand through the unionClause and intersectClause. We will
* handle it in the function Except_Intersect_Rewrite()
* handle it in the function Except_Intersect_Rewrite()
...
@@ -1104,7 +1099,6 @@ transformCursorStmt(ParseState *pstate, SelectStmt *stmt)
...
@@ -1104,7 +1099,6 @@ transformCursorStmt(ParseState *pstate, SelectStmt *stmt)
return
qry
;
return
qry
;
}
}
/***S*I***/
/* This function steps through the tree
/* This function steps through the tree
* built up by the select_w_o_sort rule
* built up by the select_w_o_sort rule
* and builds a list of all SelectStmt Nodes found
* and builds a list of all SelectStmt Nodes found
...
...
src/backend/parser/gram.y
View file @
ad494886
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.8
8 1999/07/09 21:59:59
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.8
9 1999/07/13 21:17:33
momjian Exp $
*
*
* HISTORY
* HISTORY
* AUTHOR DATE MAJOR EVENT
* AUTHOR DATE MAJOR EVENT
...
@@ -2465,7 +2465,6 @@ OptimizableStmt: SelectStmt
...
@@ -2465,7 +2465,6 @@ OptimizableStmt: SelectStmt
*
*
*****************************************************************************/
*****************************************************************************/
/***S*I***/
/* This rule used 'opt_column_list' between 'relation_name' and 'insert_rest'
/* This rule used 'opt_column_list' between 'relation_name' and 'insert_rest'
* originally. When the second rule of 'insert_rest' was changed to use
* originally. When the second rule of 'insert_rest' was changed to use
* the new 'SelectStmt' rule (for INTERSECT and EXCEPT) it produced a shift/reduce
* the new 'SelectStmt' rule (for INTERSECT and EXCEPT) it produced a shift/reduce
...
@@ -2500,10 +2499,8 @@ insert_rest: VALUES '(' res_target_list2 ')'
...
@@ -2500,10 +2499,8 @@ insert_rest: VALUES '(' res_target_list2 ')'
$$->groupClause = NIL;
$$->groupClause = NIL;
$$->havingClause = NULL;
$$->havingClause = NULL;
$$->unionClause = NIL;
$$->unionClause = NIL;
/***S*I***/
$$->intersectClause = NIL;
$$->intersectClause = NIL;
}
}
/***S*I***/
/* We want the full power of SelectStatements including INTERSECT and EXCEPT
/* We want the full power of SelectStatements including INTERSECT and EXCEPT
* for insertion */
* for insertion */
| SelectStmt
| SelectStmt
...
@@ -2534,7 +2531,6 @@ insert_rest: VALUES '(' res_target_list2 ')'
...
@@ -2534,7 +2531,6 @@ insert_rest: VALUES '(' res_target_list2 ')'
$$->groupClause = NIL;
$$->groupClause = NIL;
$$->havingClause = NULL;
$$->havingClause = NULL;
$$->unionClause = NIL;
$$->unionClause = NIL;
/***S*I***/
$$->intersectClause = NIL;
$$->intersectClause = NIL;
}
}
| '(' columnList ')' SelectStmt
| '(' columnList ')' SelectStmt
...
@@ -2646,7 +2642,6 @@ UpdateStmt: UPDATE relation_name
...
@@ -2646,7 +2642,6 @@ UpdateStmt: UPDATE relation_name
* CURSOR STATEMENTS
* CURSOR STATEMENTS
*
*
*****************************************************************************/
*****************************************************************************/
/***S*I***/
CursorStmt: DECLARE name opt_cursor CURSOR FOR SelectStmt
CursorStmt: DECLARE name opt_cursor CURSOR FOR SelectStmt
{
{
SelectStmt *n;
SelectStmt *n;
...
@@ -2685,7 +2680,6 @@ opt_cursor: BINARY { $$ = TRUE; }
...
@@ -2685,7 +2680,6 @@ opt_cursor: BINARY { $$ = TRUE; }
* SELECT STATEMENTS
* SELECT STATEMENTS
*
*
*****************************************************************************/
*****************************************************************************/
/***S*I***/
/* The new 'SelectStmt' rule adapted for the optional use of INTERSECT EXCEPT and UNION
/* The new 'SelectStmt' rule adapted for the optional use of INTERSECT EXCEPT and UNION
* accepts the use of '(' and ')' to select an order of set operations.
* accepts the use of '(' and ')' to select an order of set operations.
*
*
...
@@ -2770,7 +2764,6 @@ SelectStmt: select_clause sort_clause for_update_clause opt_select_limit
...
@@ -2770,7 +2764,6 @@ SelectStmt: select_clause sort_clause for_update_clause opt_select_limit
}
}
;
;
/***S*I***/
/* This rule parses Select statements including UNION INTERSECT and EXCEPT.
/* This rule parses Select statements including UNION INTERSECT and EXCEPT.
* '(' and ')' can be used to specify the order of the operations
* '(' and ')' can be used to specify the order of the operations
* (UNION EXCEPT INTERSECT). Without the use of '(' and ')' we want the
* (UNION EXCEPT INTERSECT). Without the use of '(' and ')' we want the
...
@@ -2812,7 +2805,6 @@ select_clause: '(' select_clause ')'
...
@@ -2812,7 +2805,6 @@ select_clause: '(' select_clause ')'
}
}
;
;
/***S*I***/
SubSelect: SELECT opt_unique res_target_list2
SubSelect: SELECT opt_unique res_target_list2
result from_clause where_clause
result from_clause where_clause
group_clause having_clause
group_clause having_clause
...
@@ -2821,7 +2813,6 @@ SubSelect: SELECT opt_unique res_target_list2
...
@@ -2821,7 +2813,6 @@ SubSelect: SELECT opt_unique res_target_list2
n->unique = $2;
n->unique = $2;
n->unionall = FALSE;
n->unionall = FALSE;
n->targetList = $3;
n->targetList = $3;
/***S*I***/
/* This is new: Subselects support the INTO clause
/* This is new: Subselects support the INTO clause
* which allows queries that are not part of the
* which allows queries that are not part of the
* SQL92 standard and should not be formulated!
* SQL92 standard and should not be formulated!
...
...
src/backend/parser/keywords.c
View file @
ad494886
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.5
7 1999/05/12 07:22:52 thomas
Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.5
8 1999/07/13 21:17:34 momjian
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -92,7 +92,6 @@ static ScanKeyword ScanKeywords[] = {
...
@@ -92,7 +92,6 @@ static ScanKeyword ScanKeywords[] = {
{
"else"
,
ELSE
},
{
"else"
,
ELSE
},
{
"encoding"
,
ENCODING
},
{
"encoding"
,
ENCODING
},
{
"end"
,
END_TRANS
},
{
"end"
,
END_TRANS
},
/***S*I***/
{
"except"
,
EXCEPT
},
{
"except"
,
EXCEPT
},
{
"exclusive"
,
EXCLUSIVE
},
{
"exclusive"
,
EXCLUSIVE
},
{
"execute"
,
EXECUTE
},
{
"execute"
,
EXECUTE
},
...
@@ -123,7 +122,6 @@ static ScanKeyword ScanKeywords[] = {
...
@@ -123,7 +122,6 @@ static ScanKeyword ScanKeywords[] = {
{
"insensitive"
,
INSENSITIVE
},
{
"insensitive"
,
INSENSITIVE
},
{
"insert"
,
INSERT
},
{
"insert"
,
INSERT
},
{
"instead"
,
INSTEAD
},
{
"instead"
,
INSTEAD
},
/***S*I***/
{
"intersect"
,
INTERSECT
},
{
"intersect"
,
INTERSECT
},
{
"interval"
,
INTERVAL
},
{
"interval"
,
INTERVAL
},
{
"into"
,
INTO
},
{
"into"
,
INTO
},
...
...
src/backend/rewrite/rewriteHandler.c
View file @
ad494886
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.4
8 1999/07/11 17:54:30 tgl
Exp $
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.4
9 1999/07/13 21:17:35 momjian
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -24,7 +24,6 @@
...
@@ -24,7 +24,6 @@
#include "parser/parse_relation.h"
#include "parser/parse_relation.h"
#include "nodes/parsenodes.h"
#include "nodes/parsenodes.h"
/***S*I***/
#include "parser/parse_node.h"
#include "parser/parse_node.h"
#include "parser/parse_target.h"
#include "parser/parse_target.h"
...
@@ -1692,7 +1691,6 @@ apply_RIR_view(Node **nodePtr, int rt_index, RangeTblEntry *rte, List *tlist, in
...
@@ -1692,7 +1691,6 @@ apply_RIR_view(Node **nodePtr, int rt_index, RangeTblEntry *rte, List *tlist, in
modified
,
modified
,
sublevels_up
+
1
);
sublevels_up
+
1
);
/***S*I***/
tmp_lefthand
=
sub
->
lefthand
;
tmp_lefthand
=
sub
->
lefthand
;
foreach
(
tmp_oper
,
sub
->
oper
)
foreach
(
tmp_oper
,
sub
->
oper
)
{
{
...
@@ -2709,8 +2707,6 @@ QueryRewrite(Query *parsetree)
...
@@ -2709,8 +2707,6 @@ QueryRewrite(Query *parsetree)
List
*
rewritten
,
List
*
rewritten
,
*
rewritten_item
;
*
rewritten_item
;
/***S*I***/
/*
/*
* Rewrite Union, Intersect and Except Queries to normal Union Queries
* Rewrite Union, Intersect and Except Queries to normal Union Queries
* using IN and NOT IN subselects
* using IN and NOT IN subselects
...
@@ -2741,7 +2737,6 @@ QueryRewrite(Query *parsetree)
...
@@ -2741,7 +2737,6 @@ QueryRewrite(Query *parsetree)
return
rewritten
;
return
rewritten
;
}
}
/***S*I***/
/* This function takes two targetlists as arguments and checks if the
/* This function takes two targetlists as arguments and checks if the
* targetlists are compatible (i.e. both select for the same number of
* targetlists are compatible (i.e. both select for the same number of
* attributes and the types are compatible */
* attributes and the types are compatible */
...
@@ -2817,7 +2812,6 @@ check_targetlists_are_compatible(List *prev_target, List *current_target)
...
@@ -2817,7 +2812,6 @@ check_targetlists_are_compatible(List *prev_target, List *current_target)
}
}
}
}
/***S*I***/
/* Rewrites UNION INTERSECT and EXCEPT queries to semantiacally equivalent
/* Rewrites UNION INTERSECT and EXCEPT queries to semantiacally equivalent
* queries that use IN and NOT IN subselects.
* queries that use IN and NOT IN subselects.
*
*
...
...
src/backend/rewrite/rewriteManip.c
View file @
ad494886
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.3
2 1999/05/26 12:55:48
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.3
3 1999/07/13 21:17:36
momjian Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -163,8 +163,6 @@ OffsetVarNodes(Node *node, int offset, int sublevels_up)
...
@@ -163,8 +163,6 @@ OffsetVarNodes(Node *node, int offset, int sublevels_up)
offset
,
offset
,
sublevels_up
+
1
);
sublevels_up
+
1
);
/***S*I***/
/*
/*
* Make sure the first argument of sub->oper points to the
* Make sure the first argument of sub->oper points to the
* same var as sub->lefthand does otherwise we will run
* same var as sub->lefthand does otherwise we will run
...
@@ -383,8 +381,6 @@ ChangeVarNodes(Node *node, int rt_index, int new_index, int sublevels_up)
...
@@ -383,8 +381,6 @@ ChangeVarNodes(Node *node, int rt_index, int new_index, int sublevels_up)
new_index
,
new_index
,
sublevels_up
+
1
);
sublevels_up
+
1
);
/***S*I***/
/*
/*
* Make sure the first argument of sub->oper points to the
* Make sure the first argument of sub->oper points to the
* same var as sub->lefthand does otherwise we will run
* same var as sub->lefthand does otherwise we will run
...
@@ -481,7 +477,6 @@ AddQual(Query *parsetree, Node *qual)
...
@@ -481,7 +477,6 @@ AddQual(Query *parsetree, Node *qual)
if
(
qual
==
NULL
)
if
(
qual
==
NULL
)
return
;
return
;
/***S*I***/
/* INTERSECT want's the original, but we need to copy - Jan */
/* INTERSECT want's the original, but we need to copy - Jan */
/* copy = qual; */
/* copy = qual; */
copy
=
copyObject
(
qual
);
copy
=
copyObject
(
qual
);
...
@@ -504,7 +499,6 @@ AddHavingQual(Query *parsetree, Node *havingQual)
...
@@ -504,7 +499,6 @@ AddHavingQual(Query *parsetree, Node *havingQual)
if
(
havingQual
==
NULL
)
if
(
havingQual
==
NULL
)
return
;
return
;
/***S*I***/
/* INTERSECT want's the original, but we need to copy - Jan */
/* INTERSECT want's the original, but we need to copy - Jan */
/* copy = havingQual; */
/* copy = havingQual; */
copy
=
copyObject
(
havingQual
);
copy
=
copyObject
(
havingQual
);
...
@@ -525,7 +519,6 @@ AddNotHavingQual(Query *parsetree, Node *havingQual)
...
@@ -525,7 +519,6 @@ AddNotHavingQual(Query *parsetree, Node *havingQual)
if
(
havingQual
==
NULL
)
if
(
havingQual
==
NULL
)
return
;
return
;
/***S*I***/
/* INTERSECT want's the original, but we need to copy - Jan */
/* INTERSECT want's the original, but we need to copy - Jan */
/* copy = (Node *) make_notclause((Expr *)havingQual); */
/* copy = (Node *) make_notclause((Expr *)havingQual); */
copy
=
(
Node
*
)
make_notclause
((
Expr
*
)
copyObject
(
havingQual
));
copy
=
(
Node
*
)
make_notclause
((
Expr
*
)
copyObject
(
havingQual
));
...
@@ -542,7 +535,6 @@ AddNotQual(Query *parsetree, Node *qual)
...
@@ -542,7 +535,6 @@ AddNotQual(Query *parsetree, Node *qual)
if
(
qual
==
NULL
)
if
(
qual
==
NULL
)
return
;
return
;
/***S*I***/
/* INTERSECT want's the original, but we need to copy - Jan */
/* INTERSECT want's the original, but we need to copy - Jan */
/* copy = (Node *) make_notclause((Expr *)qual); */
/* copy = (Node *) make_notclause((Expr *)qual); */
copy
=
(
Node
*
)
make_notclause
((
Expr
*
)
copyObject
(
qual
));
copy
=
(
Node
*
)
make_notclause
((
Expr
*
)
copyObject
(
qual
));
...
@@ -1098,7 +1090,6 @@ nodeHandleViewRule(Node **nodePtr,
...
@@ -1098,7 +1090,6 @@ nodeHandleViewRule(Node **nodePtr,
lfirst
(
sublink
->
lefthand
);
lfirst
(
sublink
->
lefthand
);
/***S*I***/
/* INTERSECT want's this - Jan */
/* INTERSECT want's this - Jan */
/*
/*
...
...
src/include/executor/nodeGroup.h
View file @
ad494886
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: nodeGroup.h,v 1.1
0 1999/05/25 16:13:55
momjian Exp $
* $Id: nodeGroup.h,v 1.1
1 1999/07/13 21:17:37
momjian Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -23,7 +23,6 @@ extern int ExecCountSlotsGroup(Group *node);
...
@@ -23,7 +23,6 @@ extern int ExecCountSlotsGroup(Group *node);
extern
void
ExecEndGroup
(
Group
*
node
);
extern
void
ExecEndGroup
(
Group
*
node
);
extern
void
ExecReScanGroup
(
Group
*
node
,
ExprContext
*
exprCtxt
,
Plan
*
parent
);
extern
void
ExecReScanGroup
(
Group
*
node
,
ExprContext
*
exprCtxt
,
Plan
*
parent
);
/***S*I***/
extern
void
ExecReScanGroup
(
Group
*
node
,
ExprContext
*
exprCtxt
,
Plan
*
parent
);
extern
void
ExecReScanGroup
(
Group
*
node
,
ExprContext
*
exprCtxt
,
Plan
*
parent
);
...
...
src/include/nodes/parsenodes.h
View file @
ad494886
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: parsenodes.h,v 1.7
4 1999/05/25 22:42:57
momjian Exp $
* $Id: parsenodes.h,v 1.7
5 1999/07/13 21:17:38
momjian Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -60,7 +60,6 @@ typedef struct Query
...
@@ -60,7 +60,6 @@ typedef struct Query
* BY */
* BY */
Node
*
havingQual
;
/* qualification of each group */
Node
*
havingQual
;
/* qualification of each group */
/***S*I***/
List
*
intersectClause
;
List
*
intersectClause
;
List
*
unionClause
;
/* unions are linked under the previous
List
*
unionClause
;
/* unions are linked under the previous
...
@@ -613,7 +612,6 @@ typedef struct InsertStmt
...
@@ -613,7 +612,6 @@ typedef struct InsertStmt
Node
*
havingClause
;
/* having conditional-expression */
Node
*
havingClause
;
/* having conditional-expression */
List
*
unionClause
;
/* union subselect parameters */
List
*
unionClause
;
/* union subselect parameters */
bool
unionall
;
/* union without unique sort */
bool
unionall
;
/* union without unique sort */
/***S*I***/
List
*
intersectClause
;
List
*
intersectClause
;
List
*
forUpdate
;
/* FOR UPDATE clause */
List
*
forUpdate
;
/* FOR UPDATE clause */
}
InsertStmt
;
}
InsertStmt
;
...
@@ -656,7 +654,6 @@ typedef struct SelectStmt
...
@@ -656,7 +654,6 @@ typedef struct SelectStmt
Node
*
whereClause
;
/* qualifications */
Node
*
whereClause
;
/* qualifications */
List
*
groupClause
;
/* group by clause */
List
*
groupClause
;
/* group by clause */
Node
*
havingClause
;
/* having conditional-expression */
Node
*
havingClause
;
/* having conditional-expression */
/***S*I***/
List
*
intersectClause
;
List
*
intersectClause
;
List
*
exceptClause
;
List
*
exceptClause
;
...
...
src/include/parser/analyze.h
View file @
ad494886
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: analyze.h,v 1.
7 1999/05/25 16:14:24
momjian Exp $
* $Id: analyze.h,v 1.
8 1999/07/13 21:17:40
momjian Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
extern
List
*
parse_analyze
(
List
*
pl
,
ParseState
*
parentParseState
);
extern
List
*
parse_analyze
(
List
*
pl
,
ParseState
*
parentParseState
);
/***S*I***/
extern
void
create_select_list
(
Node
*
ptr
,
List
**
select_list
,
bool
*
unionall_present
);
extern
void
create_select_list
(
Node
*
ptr
,
List
**
select_list
,
bool
*
unionall_present
);
extern
Node
*
A_Expr_to_Expr
(
Node
*
ptr
,
bool
*
intersect_present
);
extern
Node
*
A_Expr_to_Expr
(
Node
*
ptr
,
bool
*
intersect_present
);
...
...
src/include/utils/elog.h
View file @
ad494886
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: elog.h,v 1.1
0 1999/02/13 23:22:18
momjian Exp $
* $Id: elog.h,v 1.1
1 1999/07/13 21:17:42
momjian Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -29,7 +29,6 @@
...
@@ -29,7 +29,6 @@
#define ABORTX 0x4000
/* abort process after logging */
#define ABORTX 0x4000
/* abort process after logging */
#endif
#endif
/***S*I***/
/* Increase this to be able to use postmaster -d 3 with complex
/* Increase this to be able to use postmaster -d 3 with complex
* view definitions (which are transformed to very, very large INSERT statements
* view definitions (which are transformed to very, very large INSERT statements
* and if -d 3 is used the query string of these statements is printed using
* and if -d 3 is used the query string of these statements is printed using
...
...
src/interfaces/ecpg/preproc/keywords.c
View file @
ad494886
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.1
3 1999/04/26 05:28:47 meskes
Exp $
* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.1
4 1999/07/13 21:17:44 momjian
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -91,7 +91,6 @@ static ScanKeyword ScanKeywords[] = {
...
@@ -91,7 +91,6 @@ static ScanKeyword ScanKeywords[] = {
{
"else"
,
ELSE
},
{
"else"
,
ELSE
},
{
"encoding"
,
ENCODING
},
{
"encoding"
,
ENCODING
},
{
"end"
,
END_TRANS
},
{
"end"
,
END_TRANS
},
/***S*I***/
{
"except"
,
EXCEPT
},
{
"except"
,
EXCEPT
},
{
"execute"
,
EXECUTE
},
{
"execute"
,
EXECUTE
},
...
@@ -121,7 +120,6 @@ static ScanKeyword ScanKeywords[] = {
...
@@ -121,7 +120,6 @@ static ScanKeyword ScanKeywords[] = {
{
"insensitive"
,
INSENSITIVE
},
{
"insensitive"
,
INSENSITIVE
},
{
"insert"
,
INSERT
},
{
"insert"
,
INSERT
},
{
"instead"
,
INSTEAD
},
{
"instead"
,
INSTEAD
},
/***S*I***/
{
"intersect"
,
INTERSECT
},
{
"intersect"
,
INTERSECT
},
{
"interval"
,
INTERVAL
},
{
"interval"
,
INTERVAL
},
...
...
src/interfaces/ecpg/preproc/preproc.y
View file @
ad494886
...
@@ -2622,7 +2622,6 @@ OptimizableStmt: SelectStmt
...
@@ -2622,7 +2622,6 @@ OptimizableStmt: SelectStmt
*
*
*****************************************************************************/
*****************************************************************************/
/***S*I***/
/* This rule used 'opt_column_list' between 'relation_name' and 'insert_rest'
/* This rule used 'opt_column_list' between 'relation_name' and 'insert_rest'
* originally. When the second rule of 'insert_rest' was changed to use
* originally. When the second rule of 'insert_rest' was changed to use
* the new 'SelectStmt' rule (for INTERSECT and EXCEPT) it produced a shift/red uce
* the new 'SelectStmt' rule (for INTERSECT and EXCEPT) it produced a shift/red uce
...
@@ -2778,7 +2777,6 @@ opt_cursor: BINARY { $$ = make1_str("binary"); }
...
@@ -2778,7 +2777,6 @@ opt_cursor: BINARY { $$ = make1_str("binary"); }
*
*
*****************************************************************************/
*****************************************************************************/
/***S*I***/
/* The new 'SelectStmt' rule adapted for the optional use of INTERSECT EXCEPT a nd UNION
/* The new 'SelectStmt' rule adapted for the optional use of INTERSECT EXCEPT a nd UNION
* accepts the use of '(' and ')' to select an order of set operations.
* accepts the use of '(' and ')' to select an order of set operations.
* The rule returns a SelectStmt Node having the set operations attached to
* The rule returns a SelectStmt Node having the set operations attached to
...
@@ -2794,7 +2792,6 @@ SelectStmt: select_clause sort_clause for_update_clause opt_select_limit
...
@@ -2794,7 +2792,6 @@ SelectStmt: select_clause sort_clause for_update_clause opt_select_limit
$$ = cat4_str($1, $2, $3, $4);
$$ = cat4_str($1, $2, $3, $4);
}
}
/***S*I***/
/* This rule parses Select statements including UNION INTERSECT and EXCEPT.
/* This rule parses Select statements including UNION INTERSECT and EXCEPT.
* '(' and ')' can be used to specify the order of the operations
* '(' and ')' can be used to specify the order of the operations
* (UNION EXCEPT INTERSECT). Without the use of '(' and ')' we want the
* (UNION EXCEPT INTERSECT). Without the use of '(' and ')' we want the
...
@@ -2827,7 +2824,6 @@ select_clause: '(' select_clause ')'
...
@@ -2827,7 +2824,6 @@ select_clause: '(' select_clause ')'
}
}
;
;
/***S*I***/
SubSelect: SELECT opt_unique res_target_list2
SubSelect: SELECT opt_unique res_target_list2
result from_clause where_clause
result from_clause where_clause
group_clause having_clause
group_clause having_clause
...
...
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