On 2019-04-04 11:42, Amit Langote wrote:
> Hmm, I'm afraid we might get bug reports if we go with this.  Why is it OK
> to get null in this case when a user explicitly asked for 'foo'?

The way stored generated columns work on foreign tables is that the
to-be-stored value is computed, then given to the foreign table handler,
which then has to store it, and then return it later when queried.
However, since the backing store of a foreign table is typically
modifiable directly by the user via other channels, it's possible to
create situations where actually stored data does not satisfy the
generation expression.  That is the case here.  I don't know of a
principled way to prevent that.  It's just one of the problems that can
happen when you store data in a foreign table:  You have very little
control over what data actually ends up being stored.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to