Skip site navigation (1) Skip section navigation (2)

Re: BUG #6411: Backend process' crash when a foreign table is used in a dependent subquery on select clause

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: emre(dot)hasegeli(at)tart(dot)com(dot)tr
Cc: pgsql-bugs(at)postgresql(dot)org, Dave Page <dpage(at)pgadmin(dot)org>
Subject: Re: BUG #6411: Backend process' crash when a foreign table is used in a dependent subquery on select clause
Date: 2012-01-26 21:14:53
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
On 26.01.2012 14:46, emre(dot)hasegeli(at)tart(dot)com(dot)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(dot)hasegeli(at)tart(dot)com(dot)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 =
> 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]

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

In response to

pgsql-bugs by date

Next:From: Peter GeogheganDate: 2012-01-26 22:45:49
Subject: Doc-bug; minor typo in auto_explain documentation
Previous:From: Eric BortsDate: 2012-01-26 18:54:27
Subject: Re: Windows x86-64 One-Click Install (9.1.2-1, 9.0.6-1) hangs on "initialising the database cluster" (with work-around)

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group