10
10
*
11
11
*
12
12
* IDENTIFICATION
13
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.88 1999/07/09 21:59:59 momjian Exp $
13
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.89 1999/07/13 21:17:33 momjian Exp $
14
14
*
15
15
* HISTORY
16
16
* AUTHORDATEMAJOR EVENT
@@ -2465,7 +2465,6 @@ OptimizableStmt: SelectStmt
2465
2465
*
2466
2466
*****************************************************************************/
2467
2467
2468
- /***S*I***/
2469
2468
/* This rule used 'opt_column_list' between 'relation_name' and 'insert_rest'
2470
2469
* originally. When the second rule of 'insert_rest' was changed to use
2471
2470
* the new 'SelectStmt' rule (for INTERSECT and EXCEPT) it produced a shift/reduce
@@ -2500,10 +2499,8 @@ insert_rest: VALUES '(' res_target_list2 ')'
2500
2499
$$->groupClause = NIL;
2501
2500
$$->havingClause = NULL;
2502
2501
$$->unionClause = NIL;
2503
- /***S*I***/
2504
2502
$$->intersectClause = NIL;
2505
2503
}
2506
- /***S*I***/
2507
2504
/* We want the full power of SelectStatements including INTERSECT and EXCEPT
2508
2505
* for insertion */
2509
2506
| SelectStmt
@@ -2534,7 +2531,6 @@ insert_rest: VALUES '(' res_target_list2 ')'
2534
2531
$$->groupClause = NIL;
2535
2532
$$->havingClause = NULL;
2536
2533
$$->unionClause = NIL;
2537
- /***S*I***/
2538
2534
$$->intersectClause = NIL;
2539
2535
}
2540
2536
| '(' columnList ')' SelectStmt
@@ -2646,7 +2642,6 @@ UpdateStmt: UPDATE relation_name
2646
2642
*CURSOR STATEMENTS
2647
2643
*
2648
2644
*****************************************************************************/
2649
- /***S*I***/
2650
2645
CursorStmt: DECLARE name opt_cursor CURSOR FOR SelectStmt
2651
2646
{
2652
2647
SelectStmt *n;
@@ -2685,7 +2680,6 @@ opt_cursor: BINARY{ $$ = TRUE; }
2685
2680
*SELECT STATEMENTS
2686
2681
*
2687
2682
*****************************************************************************/
2688
- /***S*I***/
2689
2683
/* The new 'SelectStmt' rule adapted for the optional use of INTERSECT EXCEPT and UNION
2690
2684
* accepts the use of '(' and ')' to select an order of set operations.
2691
2685
*
@@ -2770,7 +2764,6 @@ SelectStmt: select_clause sort_clause for_update_clause opt_select_limit
2770
2764
}
2771
2765
;
2772
2766
2773
- /***S*I***/
2774
2767
/* This rule parses Select statements including UNION INTERSECT and EXCEPT.
2775
2768
* '(' and ')' can be used to specify the order of the operations
2776
2769
* (UNION EXCEPT INTERSECT). Without the use of '(' and ')' we want the
@@ -2812,7 +2805,6 @@ select_clause: '(' select_clause ')'
2812
2805
}
2813
2806
;
2814
2807
2815
- /***S*I***/
2816
2808
SubSelect:SELECT opt_unique res_target_list2
2817
2809
result from_clause where_clause
2818
2810
group_clause having_clause
@@ -2821,7 +2813,6 @@ SubSelect:SELECT opt_unique res_target_list2
2821
2813
n->unique = $2;
2822
2814
n->unionall = FALSE;
2823
2815
n->targetList = $3;
2824
- /***S*I***/
2825
2816
/* This is new: Subselects support the INTO clause
2826
2817
* which allows queries that are not part of the
2827
2818
* SQL92 standard and should not be formulated!