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 $ */
2
2
3
3
/* Copyright comment */
4
4
%{
@@ -575,7 +575,7 @@ add_additional_variables(char *name, bool insert)
575
575
%type <str> ECPGTypeName using_list ECPGColLabelCommon UsingConst
576
576
%type <str> inf_val_list inf_col_list using_descriptor into_descriptor
577
577
%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
579
579
%type <str> AlterOwnerStmt OptTableSpaceOwner CreateTableSpaceStmt
580
580
%type <str> DropTableSpaceStmt indirection indirection_el ECPGSetDescriptorHeader
581
581
%type <str> AlterDatabaseStmt CreateRoleStmt OptRoleList AlterRoleStmt AlterRoleSetStmt
@@ -4740,9 +4740,9 @@ single_var_declaration: storage_declaration
4740
4740
4741
4741
actual_startline[struct_level] = hashline_number();
4742
4742
}
4743
- variable_list ' ;'
4743
+ variable_list opt_bit_field ' ;'
4744
4744
{
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 " ));
4746
4746
}
4747
4747
| var_type
4748
4748
{
@@ -4753,9 +4753,9 @@ single_var_declaration: storage_declaration
4753
4753
4754
4754
actual_startline[struct_level] = hashline_number();
4755
4755
}
4756
- variable_list ' ;'
4756
+ variable_list opt_bit_field ' ;'
4757
4757
{
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 " ));
4759
4759
}
4760
4760
| struct_union_type_with_symbol ' ;'
4761
4761
{
@@ -4875,9 +4875,9 @@ var_declaration: storage_declaration
4875
4875
4876
4876
actual_startline[struct_level] = hashline_number();
4877
4877
}
4878
- variable_list ' ;'
4878
+ variable_list opt_bit_field ' ;'
4879
4879
{
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 " ));
4881
4881
}
4882
4882
| var_type
4883
4883
{
@@ -4888,16 +4888,20 @@ var_declaration: storage_declaration
4888
4888
4889
4889
actual_startline[struct_level] = hashline_number();
4890
4890
}
4891
- variable_list ' ;'
4891
+ variable_list opt_bit_field ' ;'
4892
4892
{
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 " ));
4894
4894
}
4895
4895
| struct_union_type_with_symbol ' ;'
4896
4896
{
4897
4897
$$ = cat2_str($1 , make_str(" ;" ));
4898
4898
}
4899
4899
;
4900
4900
4901
+ opt_bit_field : ' :' Iconst { $$ =cat2_str(make_str(" :" ), $2 ); }
4902
+ | /* EMPTY */ { $$ = EMPTY; }
4903
+ ;
4904
+
4901
4905
storage_declaration : storage_clause storage_modifier
4902
4906
{$$ = cat2_str ($1 , $2 ); }
4903
4907
| storage_clause {$$ = $1 ; }
@@ -5808,13 +5812,13 @@ ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action
5808
5812
{
5809
5813
when_error.code = $<action>3 .code;
5810
5814
when_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(" ; */" ));
5812
5816
}
5813
5817
| SQL_WHENEVER NOT SQL_FOUND action
5814
5818
{
5815
5819
when_nf.code = $<action>4 .code;
5816
5820
when_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(" ; */" ));
5818
5822
}
5819
5823
| SQL_WHENEVER SQL_SQLWARNING action
5820
5824
{
@@ -6531,6 +6535,7 @@ c_thing: c_anything { $$ = $1; }
6531
6535
| ' )' { $$ = make_str(" )" ); }
6532
6536
| ' ,' { $$ = make_str(" ," ); }
6533
6537
| ' ;' { $$ = make_str(" ;" ); }
6538
+ | ' :' { $$ = make_str(" :" ); }
6534
6539
;
6535
6540
6536
6541
c_anything : IDENT { $$ = $1 ; }
0 commit comments