Re: [PATCH]: Allow errors in parameter values to be reported during the BIND phase itself.. - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PATCH]: Allow errors in parameter values to be reported during the BIND phase itself..
Date
Msg-id 3087634.1615848349@sss.pgh.pa.us
Whole thread Raw
Responses Re: [PATCH]: Allow errors in parameter values to be reported during the BIND phase itself..  (Justin Pryzby <pryzby@telsasoft.com>)
List pgsql-hackers
Justin Pryzby <pryzby@telsasoft.com> writes:
> For example:
> $ python3.5 -c "import pg; db=pg.DB(); q = db.query(\"SET log_parameter_max_length_on_error=-1;\"); db.prepare('p',
'SELECT\$1::smallint'); db.query_prepared('p',66666);" 
> 2021-01-03 02:21:04.547 CST [20157] ERROR:  value "66666" is out of range for type smallint
> 2021-01-03 02:21:04.547 CST [20157] CONTEXT:  unnamed portal with parameters: $1 = '66666'
> 2021-01-03 02:21:04.547 CST [20157] STATEMENT:  SELECT $1::smallint

> When there are many bind params, this can be useful to determine which is out
> of range.  Think 900 int/smallint columns, or less-wide tables being inserted
> multiple rows at a time with VALUES(),(),()...

> Of course, this isn't as good as showing the column name, so I might pursue
> Tom's suggestion for that at some point.

I started to look at this, and immediately began to wonder where is the
previous discussion you're evidently referring to.  Can you dig up an
archives link?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Peter Smith
Date:
Subject: pg_subscription - substream column?
Next
From: Justin Pryzby
Date:
Subject: Re: [PATCH]: Allow errors in parameter values to be reported during the BIND phase itself..