1- /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.274 2004/02/16 07:41:54 meskes Exp $*/
1+ /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.275 2004/02/18 08:42:02 meskes Exp $*/
22
33/* Copyright comment*/
44%{
@@ -551,7 +551,7 @@ add_additional_variables(char *name, bool insert)
551551
552552%type <dtype_enum> descriptor_item desc_header_item
553553
554- %type <type> var_type single_vt_type
554+ %type <type> var_type
555555
556556%type <action> action
557557
@@ -4416,7 +4416,7 @@ single_vt_declaration: type_declaration{ $$ = $1; }
44164416;
44174417
44184418single_var_declaration :storage_declaration
4419- single_vt_type
4419+ var_type
44204420{
44214421actual_type[struct_level].type_enum =$2 .type_enum;
44224422actual_type[struct_level].type_dimension =$2 .type_dimension;
@@ -4427,7 +4427,7 @@ single_var_declaration: storage_declaration
44274427{
44284428$$ = cat_str(5 , actual_startline[struct_level],$1 ,$2 .type_str,$4 , make_str(" ;\n " ));
44294429}
4430- | single_vt_type
4430+ | var_type
44314431{
44324432actual_type[struct_level].type_enum =$1 .type_enum;
44334433actual_type[struct_level].type_dimension =$1 .type_dimension;
@@ -4460,17 +4460,6 @@ ecpg_interval:opt_interval{ $$ = $1; }
44604460| MONTH_P TO MONTH_P {$$ = make_str(" month to month" ); }
44614461;
44624462
4463- single_vt_type :var_type
4464- | DOUBLE_P
4465- {
4466- $$ .type_enum = ECPGt_double;
4467- $$ .type_str = make_str(" double" );
4468- $$ .type_dimension = make_str(" -1" );
4469- $$ .type_index = make_str(" -1" );
4470- $$ .type_sizeof =NULL ;
4471- }
4472- ;
4473-
44744463/*
44754464 * variable declaration inside exec sql declare block
44764465*/
@@ -4960,6 +4949,7 @@ signed_type: SQL_SHORT{ $$ = ECPGt_short; }
49604949}
49614950| SQL_BOOL {$$ = ECPGt_bool; }
49624951| CHAR_P {$$ = ECPGt_char; }
4952+ | DOUBLE_P {$$ = ECPGt_double; }
49634953;
49644954
49654955opt_signed :SQL_SIGNED