Fixed several more parsing bugs.

This commit is contained in:
Michael Meskes 2003-06-17 07:28:22 +00:00
parent f12f8990e4
commit 8a2aa79fee
4 changed files with 22 additions and 18 deletions

View File

@ -1492,6 +1492,10 @@ Sun Jun 15 11:18:58 CEST 2003
- Applied multi-threading patch by Lee Kindess <lkindness@csl.co.uk> - Applied multi-threading patch by Lee Kindess <lkindness@csl.co.uk>
- Changed order of types in enum to make working with these easier. - 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 version to 3.0.0
- Set ecpg library to 4.0.0 - Set ecpg library to 4.0.0
- Set pgtypes library to 1.0.0 - Set pgtypes library to 1.0.0

View File

@ -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 #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
@ -49,13 +49,13 @@ ECPGtype_name(enum ECPGttype typ)
case ECPGt_char_variable: case ECPGt_char_variable:
return "char"; return "char";
case ECPGt_numeric: case ECPGt_numeric:
return "numeric"; return "Numeric";
case ECPGt_date: case ECPGt_date:
return "date"; return "Date";
case ECPGt_timestamp: case ECPGt_timestamp:
return "timestamp"; return "Timestamp";
case ECPGt_interval: case ECPGt_interval:
return "interval"; return "Interval";
default: default:
abort(); abort();
} }

View File

@ -12,7 +12,7 @@
* *
* *
* IDENTIFICATION * 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 $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -613,7 +613,7 @@ cppline {space}*#(.*\\{space})+.*
else else
return S_ANYTHING; return S_ANYTHING;
} }
<C>{ccomment} { /* ignore */ } <C>{ccomment} { ECHO; }
<C>{xch} { <C>{xch} {
char* endptr; char* endptr;

View File

@ -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 */ /* Copyright comment */
%{ %{
@ -4417,7 +4417,7 @@ single_vt_type: common_type
else if (strcmp($1, "numeric") == 0) else if (strcmp($1, "numeric") == 0)
{ {
$$.type_enum = ECPGt_numeric; $$.type_enum = ECPGt_numeric;
$$.type_str = EMPTY; $$.type_str = make_str("Numeric");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.type_sizeof = NULL;
@ -4425,7 +4425,7 @@ single_vt_type: common_type
else if (strcmp($1, "decimal") == 0) else if (strcmp($1, "decimal") == 0)
{ {
$$.type_enum = ECPGt_numeric; $$.type_enum = ECPGt_numeric;
$$.type_str = EMPTY; $$.type_str = make_str("Numeric");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.type_sizeof = NULL;
@ -4457,7 +4457,7 @@ single_vt_type: common_type
else if (strcmp($1, "interval") == 0) else if (strcmp($1, "interval") == 0)
{ {
$$.type_enum = ECPGt_interval; $$.type_enum = ECPGt_interval;
$$.type_str = EMPTY; $$.type_str = make_str("Interval");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.type_sizeof = NULL;
@ -4727,7 +4727,7 @@ common_type: simple_type
mmerror(PARSE_ERROR, ET_ERROR, "Only numeric/decimal have precision/scale argument"); mmerror(PARSE_ERROR, ET_ERROR, "Only numeric/decimal have precision/scale argument");
$$.type_enum = ECPGt_numeric; $$.type_enum = ECPGt_numeric;
$$.type_str = EMPTY; $$.type_str = make_str("Numeric");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.type_sizeof = NULL;
@ -4771,7 +4771,7 @@ var_type: common_type
else if (strcmp($1, "numeric") == 0) else if (strcmp($1, "numeric") == 0)
{ {
$$.type_enum = ECPGt_numeric; $$.type_enum = ECPGt_numeric;
$$.type_str = EMPTY; $$.type_str = make_str("Numeric");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.type_sizeof = NULL;
@ -4779,7 +4779,7 @@ var_type: common_type
else if (strcmp($1, "decimal") == 0) else if (strcmp($1, "decimal") == 0)
{ {
$$.type_enum = ECPGt_numeric; $$.type_enum = ECPGt_numeric;
$$.type_str = EMPTY; $$.type_str = make_str("Numeric");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.type_sizeof = NULL;
@ -4803,7 +4803,7 @@ var_type: common_type
else if (strcmp($1, "interval") == 0) else if (strcmp($1, "interval") == 0)
{ {
$$.type_enum = ECPGt_interval; $$.type_enum = ECPGt_interval;
$$.type_str = EMPTY; $$.type_str = make_str("Interval");
$$.type_dimension = make_str("-1"); $$.type_dimension = make_str("-1");
$$.type_index = make_str("-1"); $$.type_index = make_str("-1");
$$.type_sizeof = NULL; $$.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); $$ = cat_str(4, $1, mm_strdup($2), $3.str, $4);
break; break;
case ECPGt_numeric: /*case ECPGt_numeric:
if (atoi(dimension) < 0) if (atoi(dimension) < 0)
type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length);
else 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); $$ = cat_str(4, mm_strdup(actual_storage[struct_level]), make_str("Interval"), mm_strdup($2), $4);
else else
$$ = cat_str(5, mm_strdup(actual_storage[struct_level]), make_str("Interval"), mm_strdup($2), mm_strdup(dim), $4); $$ = cat_str(5, mm_strdup(actual_storage[struct_level]), make_str("Interval"), mm_strdup($2), mm_strdup(dim), $4);
break; break;*/
default: default:
if (atoi(dimension) < 0) if (atoi(dimension) < 0)