On 26.01.2012 14:46, emre.haseg...@tart.com.tr wrote:
The following bug has been logged on the website:

Bug reference:      6411
Logged by:          Using a Foreign Table in a Dependent Subquery
Email address:      emre.haseg...@tart.com.tr
PostgreSQL version: 9.1.2
Operating system:   Linux 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 2
Description:

I installed Dave Page's MySQL Foreign Data Wrapper on GitHub [1]. It works
fine until foreign table is used in a dependent subquery on select clause.

This mailing list is really for bugs in PostgreSQL itself, but I'll give this a shot...

How to reproduce:

Create extension mysql_fdw;

Create server AMySQLServer
     foreign data wrapper mysql_fdw
     options (address '***', port '3306');

Create user mapping for public
     server AMySQLServer
     options (username '***', password '***');

Create foreign table AForeignTable (id integer) server AMySQLServer options
(query 'Select id from ASchema.ATable');

Select id, (select true from AForeignTable where AForeignTable.id =
ATable.id) from ATable;

WARNING:  57P02: terminating connection because of crash of another server
process
DETAIL:  The postmaster has commanded this server process to roll back the
current transaction and exit, because another server process exited
abnormally and possibly corrupted shared memory.
HINT:  In a moment you should be able to reconnect to the database and
repeat your command.

[1] https://github.com/dpage/mysql_fdw

I'm guessing that there's mysql_fdw's rescan function isn't working correctly. Looking at the source, it seems to be calling "mysql_row_seek(festate->result, 0);". But according to MySQL's docs [1], that 2nd argument should be an opaque value returned by mysql_row_tell() or mysql_row_seek(), not a row number. I think mysql_data_seek should be used there instead of mysql_row_seek().

That said, I have no idea if that's causing the crash.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

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

Reply via email to