array_cat null reasoning - Mailing list pgsql-general

From Kev
Subject array_cat null reasoning
Date
Msg-id edc50847-3caa-419f-a0c1-d7e35a90f26f@75g2000hso.googlegroups.com
Whole thread Raw
Responses Re: array_cat null reasoning  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hi,

I'm a bit confused as to the logic of nulls.  I understand that null
is to represent an unknown value.  So it makes sense that the result
of tacking an unknown value onto a known one is unknown, because you
don't know what exactly you just tacked on.  So


   select null::text || 'hello';


...returning NULL makes sense.  But then why doesn't


   select array_cat(null::integer[], '{3}'::integer[]);


...also return null?  Somehow it's known what the result is when
combining an unknown array with a known one, but not when combining an
unknown text with a known one?  Doesn't this seem inconsistent?  If it
does seem inconsistent, should I be careful how to code because this
might change in the future?

Thanks,
Kev

pgsql-general by date:

Previous
From: Jason Long
Date:
Subject: Re: Decreasing WAL size effects
Next
From: Sam Mason
Date:
Subject: Re: speed up restore from dump