Hi,

	I've been doing some tests with writing int8 to the database using
ecpg. This does not work if the long long variable is in a structure, as
it is not recognised as a simple type.

The patch is attached, but is not very satisfactory. Moving the
definition of 

                ECPGt_long_long, ECPGt_unsigned_long_long

up to before ECPGt_varchar causes the resulting application to crash, as
it finds an ECPGt_union, where it should haven found an ECPGt_EOIT (I
think), and I could not figure out where the static offset comes from.

Another problem with ecpg is that it dies on the alpha for long long
variables unless 

#define HAVE_LONG_LONG_INT_64

is set in config.h. It is not set by default.

Without fixing these int8 values cannot be written to the database.

Regards,

Adriaan
Wed, 28 Mar 2001 12:17:51 +0300
Adriaan Joubert <a.joubert@albourne.com>
ecpg bug and patch
Ooops, patch was the wrong way round. Here is a better one.

Sorry,

Adriaan
Wed, 28 Mar 2001 12:37:15 +0300
Adriaan Joubert <a.joubert@albourne.com>
Re: ecpg bug and patch
On Wed, Mar 28, 2001 at 12:37:15PM +0300, Adriaan Joubert wrote:
> Ooops, patch was the wrong way round. Here is a better one.

Applied. I did add another set of braces for easier understanding though.
:-)

To be able to move ECPGt_long_long up the list we would have to bump the
soname of the shared library as it would make an incompatible change. So
everyone would have to recompile all their programs. I don't think would be
worth the effort.

Michael

-- 
Michael Meskes
Michael@Fam-Meskes.De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!

Thu, 29 Mar 2001 12:01:41 +0200
Michael Meskes <meskes@postgresql.org>
Re: ecpg bug and patch