@@ -554,7 +554,7 @@ output_statement(char * stmt, int mode)
554
554
PARTIAL , POSITION , PRECISION , PRIMARY , PRIOR , PRIVILEGES , PROCEDURE , PUBLIC ,
555
555
READ , REFERENCES , RELATIVE , REVOKE , RIGHT , ROLLBACK ,
556
556
SCROLL , SECOND_P , SELECT , SET , SUBSTRING ,
557
- TABLE , THEN , TIME , TIMESTAMP , TIMEZONE_HOUR , TIMEZONE_MINUTE ,
557
+ TABLE , TEMP , THEN , TIME , TIMESTAMP , TIMEZONE_HOUR , TIMEZONE_MINUTE ,
558
558
TO , TRAILING , TRANSACTION , TRIM , TRUE_P ,
559
559
UNION , UNIQUE , UPDATE , USER , USING ,
560
560
VALUES , VARCHAR , VARYING , VIEW ,
@@ -637,7 +637,7 @@ output_statement(char * stmt, int mode)
637
637
%type <str> opt_decimal Character character opt_varying opt_charset
638
638
%type <str> opt_collate Datetime datetime opt_timezone opt_interval
639
639
%type <str> numeric a_expr_or_null row_expr row_descriptor row_list
640
- %type <str> SelectStmt SubSelect result
640
+ %type <str> SelectStmt SubSelect result OptTemp
641
641
%type <str> opt_table opt_union opt_unique sort_clause sortby_list
642
642
%type <str> sortby OptUseOp opt_inh_star relation_name_list name_list
643
643
%type <str> group_clause having_clause from_clause c_list
@@ -1095,13 +1095,17 @@ copy_delimiter: USING DELIMITERS Sconst { $$ = cat2_str(make1_str("using delim
1095
1095
*
1096
1096
*****************************************************************************/
1097
1097
1098
- CreateStmt : CREATE TABLE relation_name ' (' OptTableElementList ' )'
1098
+ CreateStmt : CREATE OptTemp TABLE relation_name ' (' OptTableElementList ' )'
1099
1099
OptInherit
1100
1100
{
1101
- $$ = cat4_str (make1_str(" create table " ), $3 , make3_str(make1_str(" (" ), $5 , make1_str(" )" )), $7 );
1101
+ $$ = cat5_str (make1_str(" create" ), $2 , make1_str( " table " ), make3_str(make1_str(" (" ), $6 , make1_str(" )" )), $8 );
1102
1102
}
1103
1103
;
1104
1104
1105
+ OptTemp : TEMP { $$ = make1_str(" temp" ); }
1106
+ | /* EMPTY */ { $$ = make1_str(" " ); }
1107
+ ;
1108
+
1105
1109
OptTableElementList : OptTableElementList ' ,' OptTableElement
1106
1110
{
1107
1111
$$ = cat3_str($1 , make1_str(" ," ), $3 );
@@ -1461,9 +1465,9 @@ OptInherit: INHERITS '(' relation_name_list ')' { $$ = make3_str(make1_str("inh
1461
1465
| /* EMPTY*/ { $$ = make1_str(" " ); }
1462
1466
;
1463
1467
1464
- CreateAsStmt : CREATE TABLE relation_name OptCreateAs AS SubSelect
1468
+ CreateAsStmt : CREATE OptTemp TABLE relation_name OptCreateAs AS SubSelect
1465
1469
{
1466
- $$ = cat5_str(make1_str(" create table" ), $3 , $4 , make1_str(" as" ), $6 );
1470
+ $$ = cat5_str(cat3_str( make1_str(" create" ), $2 , make1_str( " table" )) , $4 , $5 , make1_str(" as" ), $7 );
1467
1471
}
1468
1472
;
1469
1473
@@ -2691,7 +2695,7 @@ SubSelect: SELECT opt_unique res_target_list2
2691
2695
}
2692
2696
;
2693
2697
2694
- result : INTO opt_table relation_name { $$ = cat3_str (make1_str(" into" ), $2 , $3 ); }
2698
+ result : INTO OptTemp opt_table relation_name { $$ = cat4_str (make1_str(" into" ), $2 , $3 , $4 ); }
2695
2699
| INTO into_list { $$ = make1_str(" " ); }
2696
2700
| /* EMPTY*/ { $$ = make1_str(" " ); }
2697
2701
;
0 commit comments