From 8a2aa79feede100eb66ce932dbb453442aa61cf6 Mon Sep 17 00:00:00 2001 From: Michael Meskes Date: Tue, 17 Jun 2003 07:28:22 +0000 Subject: [PATCH] Fixed several more parsing bugs. --- src/interfaces/ecpg/ChangeLog | 4 ++++ src/interfaces/ecpg/ecpglib/typename.c | 10 +++++----- src/interfaces/ecpg/preproc/pgc.l | 6 +++--- src/interfaces/ecpg/preproc/preproc.y | 20 ++++++++++---------- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 416081aa1b..f6ae819dd4 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -1492,6 +1492,10 @@ Sun Jun 15 11:18:58 CEST 2003 - Applied multi-threading patch by Lee Kindess - Changed order of types in enum to make working with these easier. + +Tue Jun 17 08:45:14 CEST 2003 + + - Fixed several parsing bugs. - Set ecpg version to 3.0.0 - Set ecpg library to 4.0.0 - Set pgtypes library to 1.0.0 diff --git a/src/interfaces/ecpg/ecpglib/typename.c b/src/interfaces/ecpg/ecpglib/typename.c index c329398471..4967674e19 100644 --- a/src/interfaces/ecpg/ecpglib/typename.c +++ b/src/interfaces/ecpg/ecpglib/typename.c @@ -1,4 +1,4 @@ -/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/typename.c,v 1.4 2003/06/15 04:07:58 momjian Exp $ */ +/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/typename.c,v 1.5 2003/06/17 07:28:22 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -49,13 +49,13 @@ ECPGtype_name(enum ECPGttype typ) case ECPGt_char_variable: return "char"; case ECPGt_numeric: - return "numeric"; + return "Numeric"; case ECPGt_date: - return "date"; + return "Date"; case ECPGt_timestamp: - return "timestamp"; + return "Timestamp"; case ECPGt_interval: - return "interval"; + return "Interval"; default: abort(); } diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index fc3c944032..b70025065f 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.115 2003/06/16 16:58:10 meskes Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.116 2003/06/17 07:28:22 meskes Exp $ * *------------------------------------------------------------------------- */ @@ -231,7 +231,7 @@ ccomment "//".*\n space [ \t\n\r\f] horiz_space [ \t\f] -newline [\n\r] +newline [\n\r] non_newline [^\n\r] comment ("--"{non_newline}*) @@ -613,7 +613,7 @@ cppline {space}*#(.*\\{space})+.* else return S_ANYTHING; } -{ccomment} { /* ignore */ } +{ccomment} { ECHO; } {xch} { char* endptr; diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 0bb4145903..d96b6500cf 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -1,4 +1,4 @@ -/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.232 2003/06/16 16:58:11 meskes Exp $ */ +/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.233 2003/06/17 07:28:22 meskes Exp $ */ /* Copyright comment */ %{ @@ -4417,7 +4417,7 @@ single_vt_type: common_type else if (strcmp($1, "numeric") == 0) { $$.type_enum = ECPGt_numeric; - $$.type_str = EMPTY; + $$.type_str = make_str("Numeric"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -4425,7 +4425,7 @@ single_vt_type: common_type else if (strcmp($1, "decimal") == 0) { $$.type_enum = ECPGt_numeric; - $$.type_str = EMPTY; + $$.type_str = make_str("Numeric"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -4457,7 +4457,7 @@ single_vt_type: common_type else if (strcmp($1, "interval") == 0) { $$.type_enum = ECPGt_interval; - $$.type_str = EMPTY; + $$.type_str = make_str("Interval"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -4727,7 +4727,7 @@ common_type: simple_type mmerror(PARSE_ERROR, ET_ERROR, "Only numeric/decimal have precision/scale argument"); $$.type_enum = ECPGt_numeric; - $$.type_str = EMPTY; + $$.type_str = make_str("Numeric"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -4771,7 +4771,7 @@ var_type: common_type else if (strcmp($1, "numeric") == 0) { $$.type_enum = ECPGt_numeric; - $$.type_str = EMPTY; + $$.type_str = make_str("Numeric"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -4779,7 +4779,7 @@ var_type: common_type else if (strcmp($1, "decimal") == 0) { $$.type_enum = ECPGt_numeric; - $$.type_str = EMPTY; + $$.type_str = make_str("Numeric"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -4803,7 +4803,7 @@ var_type: common_type else if (strcmp($1, "interval") == 0) { $$.type_enum = ECPGt_interval; - $$.type_str = EMPTY; + $$.type_str = make_str("Interval"); $$.type_dimension = make_str("-1"); $$.type_index = make_str("-1"); $$.type_sizeof = NULL; @@ -5048,7 +5048,7 @@ variable: opt_pointer ECPGColLabelCommon opt_array_bounds opt_initializer $$ = cat_str(4, $1, mm_strdup($2), $3.str, $4); break; - case ECPGt_numeric: + /*case ECPGt_numeric: if (atoi(dimension) < 0) type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); else @@ -5070,7 +5070,7 @@ variable: opt_pointer ECPGColLabelCommon opt_array_bounds opt_initializer $$ = cat_str(4, mm_strdup(actual_storage[struct_level]), make_str("Interval"), mm_strdup($2), $4); else $$ = cat_str(5, mm_strdup(actual_storage[struct_level]), make_str("Interval"), mm_strdup($2), mm_strdup(dim), $4); - break; + break;*/ default: if (atoi(dimension) < 0) -- 2.40.0