Compatible defaults for LEAD/LAG - Mailing list pgsql-hackers

From Vik Fearing
Subject Compatible defaults for LEAD/LAG
Date
Msg-id 77675130-89da-dab1-51dd-492c93dcf5d1@postgresfriends.org
Whole thread Raw
Responses Re: Compatible defaults for LEAD/LAG  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I noticed that the PostgreSQL entry in a pan-database feature matrix by
Modern SQL was not reflecting the reality of our features.[1]

It turns out that test case used by the author produced an error which
the tool took to mean the feature was not implemented.  I don't have the
actual test, but here is a simulation of it:


  postgres=# SELECT LAG(n, 1, -99) OVER (ORDER BY n)
  postgres-# FROM (VALUES (1.1), (2.2), (3.3)) AS v (n)
  postgres-# ORDER BY n;

  ERROR:  function lag(numeric, integer, integer) does not exist
  LINE 1: SELECT LAG(n, 1, -99) OVER (ORDER BY n)
               ^
  HINT:  No function matches the given name and argument types. You
might need to add explicit type casts.


Attached is a patch that fixes this issue using the new anycompatible
pseudotype.  I am hoping this can be slipped into 13 even though it
requires a catversion bump after BETA1.

I looked for other functions with a similar issue but didn't find any.


[1] https://twitter.com/pg_xocolatl/status/1266694496194093057
-- 
Vik Fearing

Attachment

pgsql-hackers by date:

Previous
From: Martín Marqués
Date:
Subject: Re: Read access for pg_monitor to pg_replication_origin_status view
Next
From: Justin Pryzby
Date:
Subject: Re: Proposal: remove string "contains errors; unaffected changeswere applied"