Two small patches to improve dbf2pg

Started by Martin Pittover 20 years ago3 messagesbugs
Jump to latest
#1Martin Pitt
martin@piware.de

Hi PostgreSQL developers!

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.

They are not Debian specific in any way and probably useful for all
other users, too. Can you please consider applying them upstream?

Thanks in advance!

Martin

--
Martin Pitt http://www.piware.de
Ubuntu Developer http://www.ubuntu.com
Debian Developer http://www.debian.org

In a world without walls and fences, who needs Windows and Gates?

#2Martin Pitt
martin@piware.de
In reply to: Martin Pitt (#1)
Re: Two small patches to improve dbf2pg - attachments

Hi again,

Martin Pitt [2005-10-06 20:34 +0200]:

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. :-)

*cough* I forgot the attachments, as usual. Sorry.

Martin

--
Martin Pitt http://www.piware.de
Ubuntu Developer http://www.ubuntu.com
Debian Developer http://www.debian.org

In a world without walls and fences, who needs Windows and Gates?

Attachments:

52-contrib-dbf2pg-errorcheck.patchtext/plain; charset=us-asciiDownload+8-2
53-contrib-dbf2pg-textfield.patchtext/plain; charset=us-asciiDownload+4-0
#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Martin Pitt (#1)
Re: Two small patches to improve dbf2pg

Martin Pitt <martin@piware.de> 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));