From: Boszormenyi Zoltan on
Hi,

Michael Meskes írta:
> Zoltan, could you please look into this:
> http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=dugong&dt=2010-01-26%2011:05:01 ?
> Apparently dugong creates the ECPGset_var statements in a different order than
> the other archs.
>
> Michael
>

It seems mongoose also fails the same way,
the common factor seems to be ICC, other machines
with various GCC versions are green . I'll look into it.

Best regards,
Zoltán Böszörményi

--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics

----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/


--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Tom Lane on
Boszormenyi Zoltan <zb(a)cybertec.at> writes:
> Michael Meskes írta:
>> Zoltan, could you please look into this:
>> http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=dugong&dt=2010-01-26%2011:05:01 ?
>> Apparently dugong creates the ECPGset_var statements in a different order than
>> the other archs.

> It seems mongoose also fails the same way,
> the common factor seems to be ICC, other machines
> with various GCC versions are green . I'll look into it.

The problem is you've got calls like this:

$$ = cat_str(4,
adjust_outofscope_cursor_vars(this, true),
adjust_outofscope_cursor_vars(this, false),
make_str("ECPG_informix_reset_sqlca();"),
comment);

in which the order of evaluation of cat_str's parameters is unspecified,
but adjust_outofscope_cursor_vars has got order-dependent side effects.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Boszormenyi Zoltan on
Tom Lane �rta:
> Boszormenyi Zoltan <zb(a)cybertec.at> writes:
>
>> Michael Meskes írta:
>>
>>> Zoltan, could you please look into this:
>>> http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=dugong&dt=2010-01-26%2011:05:01 ?
>>> Apparently dugong creates the ECPGset_var statements in a different order than
>>> the other archs.
>>>
>
>
>> It seems mongoose also fails the same way,
>> the common factor seems to be ICC, other machines
>> with various GCC versions are green . I'll look into it.
>>
>
> The problem is you've got calls like this:
>
> $$ = cat_str(4,
> adjust_outofscope_cursor_vars(this, true),
> adjust_outofscope_cursor_vars(this, false),
> make_str("ECPG_informix_reset_sqlca();"),
> comment);
>
> in which the order of evaluation of cat_str's parameters is unspecified,
> but adjust_outofscope_cursor_vars has got order-dependent side effects.
>
> regards, tom lane
>
>

Thanks for analyzing it, patch is attached. I downloaded
and installed ICC, so I could reproduce the difference.

Also, another "bug" is fixed in one regression test,
it seems NaN is different across platforms, so
we must not test for it either.

Best regards,
Zolt�n B�sz�rm�nyi

--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics

----------------------------------
Zolt�n B�sz�rm�nyi
Cybertec Sch�nig & Sch�nig GmbH
http://www.postgresql.at/

From: Alvaro Herrera on
Boszormenyi Zoltan wrote:

> Thanks for analyzing it, patch is attached. I downloaded
> and installed ICC, so I could reproduce the difference.

Why not have a single function that does both things in a single call?
It doesn't look like there's any place that calls the function with only
one value for "insert" ...

I happened to notice this misleading comment:

char temp[20]; /* this should be sufficient unless you have 8 byte integers */

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Boszormenyi Zoltan on
Alvaro Herrera �rta:
> Boszormenyi Zoltan wrote:
>
>
>> Thanks for analyzing it, patch is attached. I downloaded
>> and installed ICC, so I could reproduce the difference.
>>
>
> Why not have a single function that does both things in a single call?
> It doesn't look like there's any place that calls the function with only
> one value for "insert" ...
>

Okay, I tried this approach, patch is attached.
This way it doesn't depend on the evaluation order
of function parameters.

> I happened to notice this misleading comment:
>
> char temp[20]; /* this should be sufficient unless you have 8 byte integers */
>

That comment was there before I touched that function, I deleted it now.
There will be other problems before reaching 2^31-1 internal variables,
like compiling the monster C file without the compiler going OOM...

Best regards,
Zolt�n B�sz�rm�nyi

--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics

----------------------------------
Zolt�n B�sz�rm�nyi
Cybertec Sch�nig & Sch�nig GmbH
http://www.postgresql.at/