Martin Pitt <[EMAIL PROTECTED]> writes:
> A long time ago some Debian user sent me two patches to improve the
> dbf2pg conversion tool (in contrib). These are applied in the Debian
> packages for quite a while now without any problems. I forwarded them
> here some time ago already, but just let's try again. :-)

> The first patch (52-contrib-dbf2pg-errorcheck.patch) improves error
> checking. It checks the result status of PQexec() for the cases that
> it returns a reply (i.  e. not NULL) which indicates an error.

> The second patch (53-contrib-dbf2pg-textfield.patch) adds support for
> dBase's "M" field which translates to PostgreSQL's "text" data type.

Applied with minor editorialization.

                        regards, tom lane

Index: dbf2pg.c
===================================================================
RCS file: /cvsroot/pgsql/contrib/dbase/dbf2pg.c,v
retrieving revision 1.23
diff -c -r1.23 dbf2pg.c
*** dbf2pg.c    24 Sep 2005 19:14:03 -0000      1.23
--- dbf2pg.c    6 Oct 2005 23:03:34 -0000
***************
*** 301,306 ****
--- 301,309 ----
                        case 'L':
                                strcat(query, " char");
                                break;
+                       case 'M':
+                               strcat(query, " text");
+                               break;
                }
        }
  
***************
*** 312,318 ****
                printf("%s\n", query);
        }
  
!       if ((res = PQexec(conn, query)) == NULL)
        {
                fprintf(stderr, "Error creating table!\n");
                fprintf(stderr, "Detailed report: %s\n", PQerrorMessage(conn));
--- 315,322 ----
                printf("%s\n", query);
        }
  
!       if ((res = PQexec(conn, query)) == NULL ||
!               PQresultStatus(res) != PGRES_COMMAND_OK)
        {
                fprintf(stderr, "Error creating table!\n");
                fprintf(stderr, "Detailed report: %s\n", PQerrorMessage(conn));

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to