@@ -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
;