pgsql: tablefunc: Reject negative number of tuples passed to normal_ran

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: tablefunc: Reject negative number of tuples passed to normal_ran
Date: 2020-11-25 14:31:03
Message-ID: E1khvp1-0002nB-An@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

tablefunc: Reject negative number of tuples passed to normal_rand()

The function converted the first argument i.e. the number of tuples to
return into an unsigned integer which turns out to be huge number when
a negative value is passed. This causes the function to take much
longer time to execute. Instead, reject a negative value.

(If someone really wants to generate many more result rows, they
should consider adding a bigint or numeric variant.)

While at it, improve SQL test to test the number of tuples returned by
this function.

Author: Ashutosh Bapat <ashutosh(dot)bapat(at)2ndquadrant(dot)com>
Discussion: https://www.postgresql.org/message-id/CAG-ACPW3PUUmSnM6cLa9Rw4BEC5cEMKjX8Gogc8gvQcT3cYA1A@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f73999262ed6c40d9a7c3d7cccec7143d4d15287

Modified Files
--------------
contrib/tablefunc/expected/tablefunc.out | 11 +++++++----
contrib/tablefunc/sql/tablefunc.sql | 4 +++-
contrib/tablefunc/tablefunc.c | 9 ++++++++-
3 files changed, 18 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2020-11-25 16:40:54 pgsql: Avoid spamming the client with multiple ParameterStatus messages
Previous Message Peter Eisentraut 2020-11-25 09:04:00 pgsql: doc: Fix typos