Marios Vodas <mvodas(at)gmail(dot)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