]> granicus.if.org Git - postgresql/commitdiff
Fixed several more parsing bugs.
authorMichael Meskes <meskes@postgresql.org>
Tue, 17 Jun 2003 07:28:22 +0000 (07:28 +0000)
committerMichael Meskes <meskes@postgresql.org>
Tue, 17 Jun 2003 07:28:22 +0000 (07:28 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ecpglib/typename.c
src/interfaces/ecpg/preproc/pgc.l
src/interfaces/ecpg/preproc/preproc.y

index 416081aa1bc6b8a1ded6b27659f27f0af7591534..f6ae819dd4b5083fab08a70d9e33cc669fc9e5f0 100644 (file)
@@ -1492,6 +1492,10 @@ Sun Jun 15 11:18:58 CEST 2003
 
        - Applied multi-threading patch by Lee Kindess <lkindness@csl.co.uk>
        - 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
index c3293984715ec49208b4283d15f4990ac7b2d219..4967674e19b3801995e1250cff611b9f84b7dca9 100644 (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
 #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();
        }
index fc3c9440321e18defa921acbbe28e3a74ea38db8..b70025065f642465cdbc4ff287185693812aab77 100644 (file)
@@ -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;
                         }
-<C>{ccomment}           { /* ignore */ }
+<C>{ccomment}           { ECHO; }
 <C>{xch}                       {
                                                char* endptr;
 
index 0bb41459031fce687dcce77bb7e650491a2a6a6d..d96b6500cfd18eb2f20cf24ef6c8b754920a7431 100644 (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 */
 %{
@@ -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)