Me
again :)
..though I'm not an expert, I decided to simply guess
the code :))
Adding
_val = &(ROW_VALUES(_row)[col]);
before
the switch statement fixes the bug for me. The line number 580 I gave was wrong
because of some debug code I added. The line where _val = ... is added is 575.
Please confirm if this is the correct fix or just works by accident :)
Thanks.
Regards, Daniel
T-Mobile Deutschland GmbH
Aufsichtsrat: Hamid Akhavan (Vorsitzender)
Geschäftsführung: Philipp Humm (Sprecher), Thomas Berlemann, Stefan Homeister, Holger Kranzusch, Günther Ottendorfer, Dr. Raphael Kübler, Dr. Steffen Roehn
Handelsregister: Amtsgericht Bonn, HRB 59 19
Sitz der Gesellschaft: Bonn
WEEE-Reg.-Nr.: DE60800328
Hi
Daniel,
a
further analysis shows that db/db.c table_version() is causing
dbf->free_result() to be called - but it never returns. In fact, the
version of the database table is retrieved correctly (line 211 reads the
correct value), but line 212 never returns. Checking
modules/postgres/db_res.c, I found that pg_free_result() calls
pg_free_columns() in line 653 (which returns), and then it calls
pg_free_rows() which does not return.
Also, I noticed that there's a warning during the compilation about
db_res.c:580: warning: ‘_val’ is used uninitialized in this
function
Looks like a candidate - but I'm not familiar with the internals
here...
Regards, Daniel
T-Mobile Deutschland GmbH
Aufsichtsrat: Hamid
Akhavan (Vorsitzender)
Geschäftsführung: Philipp Humm (Sprecher), Thomas
Berlemann, Stefan Homeister, Holger Kranzusch, Günther Ottendorfer, Dr.
Raphael Kübler, Dr. Steffen Roehn
Handelsregister: Amtsgericht Bonn, HRB 59
19
Sitz der Gesellschaft: Bonn
WEEE-Reg.-Nr.:
DE60800328