|
6 | 6 | *
|
7 | 7 | * Copyright (c) 1994, Regents of the University of California
|
8 | 8 | *
|
9 |
| - * $Id: parsenodes.h,v 1.21 1997/08/31 11:43:09 vadim Exp $ |
| 9 | + * $Id: parsenodes.h,v 1.22 1997/09/01 06:04:59 thomas Exp $ |
10 | 10 | *
|
11 | 11 | *-------------------------------------------------------------------------
|
12 | 12 | */
|
@@ -554,38 +554,52 @@ typedef struct CursorStmt {
|
554 | 554 | List*targetList;/* the target list (of ResTarget) */
|
555 | 555 | List*fromClause;/* the from clause */
|
556 | 556 | Node*whereClause;/* qualifications */
|
557 |
| -List*groupClause;/* group by clause */ |
| 557 | +List*groupClause;/* group by clause */ |
558 | 558 | List*sortClause;/* sort clause (a list of SortGroupBy's) */
|
559 |
| -}CursorStmt; |
| 559 | +}CursorStmt; |
560 | 560 |
|
561 | 561 | /* ----------------------
|
562 | 562 | *Select Statement
|
563 | 563 | * ----------------------
|
564 | 564 | */
|
565 | 565 | typedefstructRetrieveStmt {
|
566 | 566 | NodeTagtype;
|
567 |
| -char*unique;/* NULL, '*', or unique attribute name */ |
568 |
| -char*into;/* name of table (for select into |
569 |
| - table) */ |
| 567 | +char*unique;/* NULL, '*', or unique attribute name */ |
| 568 | +char*into;/* name of table (for select into table) */ |
570 | 569 | List*targetList;/* the target list (of ResTarget) */
|
571 | 570 | List*fromClause;/* the from clause */
|
572 | 571 | Node*whereClause;/* qualifications */
|
573 | 572 | List*groupClause;/* group by clause */
|
574 | 573 | Node*havingClause;/* having conditional-expression */
|
| 574 | +List*selectClause;/* subselect parameters */ |
575 | 575 | List*sortClause;/* sort clause (a list of SortGroupBy's) */
|
576 |
| -}RetrieveStmt; |
| 576 | +}RetrieveStmt; |
577 | 577 |
|
578 | 578 |
|
579 | 579 | /****************************************************************************
|
580 | 580 | * Supporting data structures for Parse Trees
|
581 | 581 | ****************************************************************************/
|
582 | 582 |
|
| 583 | +/* |
| 584 | + * SubSelect - specifies subselect parameters |
| 585 | + */ |
| 586 | +typedefstructSubSelect { |
| 587 | +NodeTagtype; |
| 588 | +char*unique;/* NULL, '*', or unique attribute name */ |
| 589 | +List*targetList;/* the target list (of ResTarget) */ |
| 590 | +List*fromClause;/* the from clause */ |
| 591 | +Node*whereClause;/* qualifications */ |
| 592 | +List*groupClause;/* group by clause */ |
| 593 | +Node*havingClause;/* having conditional-expression */ |
| 594 | +}SubSelect; |
| 595 | + |
583 | 596 | /*
|
584 | 597 | * TypeName - specifies a type in definitions
|
585 | 598 | */
|
586 | 599 | typedefstructTypeName {
|
587 | 600 | NodeTagtype;
|
588 | 601 | char*name;/* name of the type */
|
| 602 | +booltimezone;/* timezone specified? */ |
589 | 603 | boolsetof;/* is a set? */
|
590 | 604 | List*arrayBounds;/* array bounds */
|
591 | 605 | inttyplen;/* length for char() and varchar() */
|
|