On 9/1/22 10:08, Tom Lane wrote:
> Wesley Schwengle <wesley.schwengle@xxllnc.nl> writes:
>> There is a view that we create and it uses a function and the view
>> definition changes between runs. I'm not sure why this is happening,
>> does someone know?
>
> The core reason for the discrepancy is that the parser inserts
> implicit coercion steps into your initial, not-very-consistently-typed
> query; but the view-dumping logic (ruleutils.c) tends to display
> those steps as explicit coercions.
Thanks for the clarification, it makes a whole lot of sense. And indeed,
when I type the SQL like so ARRAY[foo.bar::text, foo.baz::varchar::text]
the view definition does not change between runs.
Cheers,
Wesley
--
Wesley Schwengle, Developer
xxllnc Zaaksysteem, https://www.zaaksysteem.nl