Re: Problem with composite type creation in C under Linux - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Problem with composite type creation in C under Linux
Date
Msg-id 5724.1299087322@sss.pgh.pa.us
Whole thread Raw
In response to Problem with composite type creation in C under Linux  (Marios Vodas <mvodas@gmail.com>)
Responses Re: Problem with composite type creation in C under Linux
List pgsql-hackers
Marios Vodas <mvodas@gmail.com> writes:
> I have developed some custom composite and base types in PostgreSQL 9 which
> you can find in the code I provide below.
> I compile my C library using GCC 4.5 under Linux and Visual Studio 2010
> under Windows.

> The problem is when I run this command: *SELECT to_composite('((1, 2), (3,
> 4))'::m_segment_base)*.
> This is the result I get in Windows and Linux respectively:
>     Windows: "("(1,2)","(3,4)")"
>     Linux: "("(1,)",)"

You're passing a single isnull flag to heap_form_tuple calls that are
expecting arrays of two flags ... and even the one value that's there
according to the code isn't being initialized, so it's remarkable that
this code works at all on any platform.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Marios Vodas
Date:
Subject: Problem with composite type creation in C under Linux
Next
From: Merlin Moncure
Date:
Subject: Re: Sync Rep v17