1- /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.318 2006/02/03 05:38:35 momjian Exp $*/
1+ /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.319 2006/02/04 20:54:42 meskes Exp $*/
22
33/* Copyright comment*/
44%{
@@ -575,7 +575,7 @@ add_additional_variables(char *name, bool insert)
575575%type <str> ECPGTypeName using_list ECPGColLabelCommon UsingConst
576576%type <str> inf_val_list inf_col_list using_descriptor into_descriptor
577577%type <str> prepared_name struct_union_type_with_symbol OptConsTableSpace
578- %type <str> ECPGunreserved ECPGunreserved_interval cvariable
578+ %type <str> ECPGunreserved ECPGunreserved_interval cvariable opt_bit_field
579579%type <str> AlterOwnerStmt OptTableSpaceOwner CreateTableSpaceStmt
580580%type <str> DropTableSpaceStmt indirection indirection_el ECPGSetDescriptorHeader
581581%type <str> AlterDatabaseStmt CreateRoleStmt OptRoleList AlterRoleStmt AlterRoleSetStmt
@@ -4740,9 +4740,9 @@ single_var_declaration: storage_declaration
47404740
47414741actual_startline[struct_level] = hashline_number();
47424742}
4743- variable_list ' ;'
4743+ variable_list opt_bit_field ' ;'
47444744{
4745- $$ = cat_str(5 , actual_startline[struct_level],$1 ,$2 .type_str,$4 , make_str(" ;\n " ));
4745+ $$ = cat_str(6 , actual_startline[struct_level],$1 ,$2 .type_str,$4 , $5 , make_str(" ;\n " ));
47464746}
47474747| var_type
47484748{
@@ -4753,9 +4753,9 @@ single_var_declaration: storage_declaration
47534753
47544754actual_startline[struct_level] = hashline_number();
47554755}
4756- variable_list ' ;'
4756+ variable_list opt_bit_field ' ;'
47574757{
4758- $$ = cat_str(4 , actual_startline[struct_level],$1 .type_str,$3 , make_str(" ;\n " ));
4758+ $$ = cat_str(5 , actual_startline[struct_level],$1 .type_str,$3 , $4 , make_str(" ;\n " ));
47594759}
47604760| struct_union_type_with_symbol ' ;'
47614761{
@@ -4875,9 +4875,9 @@ var_declaration: storage_declaration
48754875
48764876actual_startline[struct_level] = hashline_number();
48774877}
4878- variable_list ' ;'
4878+ variable_list opt_bit_field ' ;'
48794879{
4880- $$ = cat_str(5 , actual_startline[struct_level],$1 ,$2 .type_str,$4 , make_str(" ;\n " ));
4880+ $$ = cat_str(6 , actual_startline[struct_level],$1 ,$2 .type_str,$4 , $5 , make_str(" ;\n " ));
48814881}
48824882| var_type
48834883{
@@ -4888,16 +4888,20 @@ var_declaration: storage_declaration
48884888
48894889actual_startline[struct_level] = hashline_number();
48904890}
4891- variable_list ' ;'
4891+ variable_list opt_bit_field ' ;'
48924892{
4893- $$ = cat_str(4 , actual_startline[struct_level],$1 .type_str,$3 , make_str(" ;\n " ));
4893+ $$ = cat_str(5 , actual_startline[struct_level],$1 .type_str,$3 , $4 , make_str(" ;\n " ));
48944894}
48954895| struct_union_type_with_symbol ' ;'
48964896{
48974897$$ = cat2_str($1 , make_str(" ;" ));
48984898}
48994899;
49004900
4901+ opt_bit_field :' :' Iconst {$$ =cat2_str(make_str(" :" ),$2 ); }
4902+ | /* EMPTY*/ {$$ = EMPTY; }
4903+ ;
4904+
49014905storage_declaration :storage_clause storage_modifier
49024906{$$ = cat2_str ($1 ,$2 ); }
49034907| storage_clause {$$ =$1 ; }
@@ -5808,13 +5812,13 @@ ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action
58085812{
58095813when_error.code = $<action>3 .code;
58105814when_error.command = $<action>3 .command;
5811- $$ = cat_str(3 , make_str(" /* exec sql whenever sqlerror" ),$3 .str, make_str(" ; */\n " ));
5815+ $$ = cat_str(3 , make_str(" /* exec sql whenever sqlerror" ),$3 .str, make_str(" ; */" ));
58125816}
58135817| SQL_WHENEVER NOT SQL_FOUND action
58145818{
58155819when_nf.code = $<action>4 .code;
58165820when_nf.command = $<action>4 .command;
5817- $$ = cat_str(3 , make_str(" /* exec sql whenever not found" ),$4 .str, make_str(" ; */\n " ));
5821+ $$ = cat_str(3 , make_str(" /* exec sql whenever not found" ),$4 .str, make_str(" ; */" ));
58185822}
58195823| SQL_WHENEVER SQL_SQLWARNING action
58205824{
@@ -6531,6 +6535,7 @@ c_thing:c_anything{ $$ = $1; }
65316535| ' )' {$$ = make_str(" )" ); }
65326536| ' ,' {$$ = make_str(" ," ); }
65336537| ' ;' {$$ = make_str(" ;" ); }
6538+ | ' :' {$$ = make_str(" :" ); }
65346539;
65356540
65366541c_anything :IDENT {$$ =$1 ; }