*** empty log message ***
authorMichael Meskes
Thu, 21 Sep 2000 11:56:08 +0000 (11:56 +0000)
committerMichael Meskes
Thu, 21 Sep 2000 11:56:08 +0000 (11:56 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/lib/execute.c
src/interfaces/ecpg/preproc/pgc.l
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/test/test2.pgc

index 82d28b80bc5948cb4bea5e35e6d6e9e5795cd284..dcd7ff197ee377282707a8d42d257d19372238c6 100644 (file)
@@ -940,5 +940,9 @@ Mit Sep 20 12:40:27 PDT 2000
      backend NOTICEs.
    - Added patch by Christof Petig  to cache
      type information.
+
+Don Sep 21 13:54:13 PDT 2000
+
+   - Enabled parser to accept ip addresses instead of host names.
    - Set ecpg version to 2.8.0. 
    - Set library version to 3.2.0.
index 762aab49c7e2081f8b50516d0e2f1c29fd62aeec..a0bef5ae2ae0fd0be420d34d00066538a1017ca4 100644 (file)
@@ -262,7 +262,7 @@ static void
 ECPGtypeinfocache_push(struct ECPGtype_information_cache **cache, int oid, bool isarray, int lineno)
 {
    struct ECPGtype_information_cache   *new_entry 
-                       = ecpg_alloc(sizeof(struct ECPGtype_information_cache), lineno);
+                       = (struct ECPGtype_information_cache *) ecpg_alloc(sizeof(struct ECPGtype_information_cache), lineno);
    new_entry->oid = oid;
    new_entry->isarray = isarray;
    new_entry->next = *cache;
@@ -989,7 +989,7 @@ ECPGdo(int lineno, const char *connection_name, char *query,...)
  *
  * Copyright (c) 2000, Christof Petig 
  *
- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.9 2000/09/20 13:25:51 meskes Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.10 2000/09/21 11:56:07 meskes Exp $
  */
 
 PGconn    *ECPG_internal_get_connection(char *name);
index c23bb9cd479e1fd7c15c11a1e1fedd902a4c0efc..4993d2ded7b435d86ca7f11cf52d79d799949272 100644 (file)
@@ -12,7 +12,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.61 2000/09/19 11:47:14 meskes Exp $
+ *   $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.62 2000/09/21 11:56:07 meskes Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -260,6 +260,8 @@ elif    [eE][lL][iI][fF]
 endif  [eE][nN][dD][iI][fF]
 
 exec_sql       {exec}{space_or_nl}*{sql}{space_or_nl}*
+ipdigit            ({digit}|{digit}{digit}|{digit}{digit}{digit})
+ip         {ipdigit}\.{ipdigit}\.{ipdigit}\.{ipdigit}
 
 /* Take care of cpp continuation lines */
 cppline            {space}*#(.*\\{line_end})*.*
@@ -516,6 +518,10 @@ cppline            {space}*#(.*\\{line_end})*.*
                    }
                    return ICONST;
                }
+{ip}          {
+                   yylval.str = mm_strdup((char*)yytext);
+                   return IP;
+               }
 {decimal}      {
                    yylval.str = mm_strdup((char*)yytext);
                    return FCONST;
index e32b524f79b13505edf7c211a60b4d1769e71817..888e5f139b974ef2cc186d29d82f58fb60256a65 100644 (file)
@@ -239,7 +239,7 @@ make_name(void)
        VALID, VERBOSE, VERSION
 
 /* Special keywords, not in the query language - see the "lex" file */
-%token     IDENT SCONST Op CSTRING CVARIABLE CPP_LINE
+%token     IDENT SCONST Op CSTRING CVARIABLE CPP_LINE IP
 %token    ICONST PARAM
 %token    FCONST
 
@@ -4029,9 +4029,11 @@ connection_target: database_name opt_server opt_port
            mmerror(ET_ERROR, errortext);
          }
 
-         if (strncmp($1, "unix", strlen("unix")) == 0 && strncmp($3 + strlen("//"), "localhost", strlen("localhost")) != 0)
+         if (strncmp($1, "unix", strlen("unix")) == 0 && 
+           strncmp($3 + strlen("//"), "localhost", strlen("localhost")) != 0 &&
+           strncmp($3 + strlen("//"), "127.0.0.1", strlen("127.0.0.1")) != 0)
          {
-           sprintf(errortext, "unix domain sockets only work on 'localhost' but not on '%9.9s'", $3 +strlen("//"));
+           sprintf(errortext, "unix domain sockets only work on 'localhost' but not on '%9.9s'", $3 + strlen("//"));
                     mmerror(ET_ERROR, errortext);
          }
 
@@ -4087,7 +4089,8 @@ opt_server: server { $$ = $1; }
         | /* empty */ { $$ = EMPTY; }
 
 server_name: ColId   { $$ = $1; }
-        | ColId '.' server_name {  $$ = make3_str($1, make_str("."), $3); }
+        | ColId '.' server_name { $$ = make3_str($1, make_str("."), $3); }
+   | IP            { $$ = make_name(); }
 
 opt_port: ':' Iconst { $$ = make2_str(make_str(":"), $2); }
         | /* empty */ { $$ = EMPTY; }
index a2da8181229890ede4b49f9c0bf455ecb9d7305c..9de50aa51357f54d98bbc52fdeb398781d24ea4d 100644 (file)
@@ -42,7 +42,7 @@ exec sql end declare section;
                 ECPGdebug(1, dbgs);
 
    strcpy(msg, "connect");
-   exec sql connect to unix:postgresql://localhost:5432/mm;
+   exec sql connect to unix:postgresql://127.0.0.1:5432/mm;
 
    strcpy(msg, "create");
    exec sql create table meskes(name char(8), born integer, age smallint, married date, children integer);
@@ -124,5 +124,6 @@ exec sql end declare section;
    if (dbgs != NULL)
                 fclose(dbgs);
 
+
    return (0);
 }