Here is a review of the pg_sleep(INTERVAL) patch version 1:

 - patch applies cleanly on current head

 - the function documentation is updated and clear

 - the function definition relies on a SQL function
   to call the underlying pg_sleep(INT) function
   I'm fine with this, especially as if someone calls this
   function, he/she is not in a hurry:-)

 - this one-liner implementation is straightforward

 - the provided feature is simple, and seems useful.

 - configure/make/make check work ok

However :

 - the new function is *not* tested anywhere!

   I would suggest simply to replace some pg_sleep(int) instances
   by corresponding pg_sleep(interval) instances in the non
   regression tests.

 - some concerns have been raised that it breaks pg_sleep(TEXT)
   which currently works thanks to the implicit TEXT -> INT cast.

   I would suggest to add pg_sleep(TEXT) explicitely, like:

     CREATE FUNCTION pg_sleep(TEXT) RETURNS VOID VOLATILE STRICT AS
     $$ select pg_sleep($1::INTEGER) $$ LANGUAGE SQL;

   That would be another one liner, to update the documentation and
   to add some tests as well!

   ISTM that providing "pg_sleep(TEXT)" cleanly resolves the
   upward-compatibility issue raised.

--
Fabien


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to