On 1/26/18 12:46, Robert Haas wrote: > On Thu, Jan 25, 2018 at 10:26 PM, Peter Eisentraut > <peter.eisentr...@2ndquadrant.com> wrote: >>> Does the SQL spec mention the matter? How do other systems >>> handle such cases? >> >> In Oracle you get the same overflow error. > > That seems awful. If a user says "SELECT * FROM tab" and it fails, > how are they supposed to recover, or even understand what the problem > is? I think we should really try to at least generate an errcontext > here: > > ERROR: integer out of range > CONTEXT: while generating virtual column "b" > > And maybe a hint, too, like "try excluding this column".
This is expanded in the rewriter, so there is no context like that. This is exactly how views work, e.g., create table t1 (id int, length int); create view v1 as select id, length * 1000000000 as length_in_nanometers from t1; insert into t1 values (1, 5); select * from v1; ERROR: integer out of range I think this is not a problem in practice. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services