Sat, 06 May 2006 20:38:48 +0300, Bruce Momjian <pgman@candle.pha.pa.us>:
> I still do not know why we can't do some kind of runtime test in python
> and disable this feature for 2.4 builds that have debugging enabled.
> Can we do a dynamic function load test from plpython? There must be
> some function that is only visible in debug builds.
Yes, I already did research last week after discussions about that. In
unmodified Python distribution, in configure:
if --with-pydebug
define Py_DEBUG
undef NDEBUG
else
undef Py_DEBUG
define NDEBUG
fi
Unfortunately, this is not case for Fedora Core 4, where assertions are
used unconditionally. And to make things worse, there is no runtime symbol
at all to indicate whether Python is compiled with debugging/assertions
enabled (Py_DEBUG & NDEBUG are preprocessor symbols)
I see 3 options (from best to worst, IMHO)
1) document misbehaviour when using Python2.4 with assertions allowed with
reference to bug fix.
2) new configure flag to optionally allow/disallow using generator
3) drop generators
Btw, we developed returning compose types further. Basically did same as
for SETOF functions -- allow to return any Python object that conforms to
mapping protocol. Currently only dict as previously, though. But still,
ready for new fancy unforeseen Python features without recompiling PG.
Additionally, now it is possible to return compose types as Python tuples.
Will create patch whenever final decision is made about generators.
--
Sven Suursoho