Re: Planning error in dynamic string creation in plpgsql

From: Keith Fiske <keith(at)omniti(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com>
Cc: PGSQL Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Planning error in dynamic string creation in plpgsql
Date: 2014-01-06 04:43:12
Message-ID: CAG1_KcBmta1zyrHABj5A-FAg5888MT-tT994joBifb-JDMDS4w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I can't remove the quote_literal() because the value could potentially be a
string, time, or number. Without the loop, quote_literal() handles the
variable being any one of those types without any issues and quotes (or
doesn't) as needed.

--
Keith Fiske
Database Administrator
OmniTI Computer Consulting, Inc.
http://www.keithf4.com

On Sun, Jan 5, 2014 at 11:40 PM, Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com>wrote:

> On 01/05/2014 08:34 PM, Keith Fiske wrote:
>
>> Actually, that doesn't work right. Gives weird results when the column
>> is an integer
>>
>> Example:
>>
>> keith=# select min(col1), max(col1) from
>> partman_test.time_static_table_p2014_01_01;
>> min | max
>> -----+-----
>> 86 | 100
>> (1 row)
>>
>> keith=# select min(col1::text), max(col1::text) from
>> partman_test.time_static_table_p2014_01_01;
>> min | max
>> -----+-----
>> 100 | 99
>> (1 row)
>>
>>
> Because it is working on a string in the second case. In the function
> remove the quote_literal() and see if that works.
>
>
>>
>>
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)gmail(dot)com
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2014-01-06 04:44:49 Re: Planning error in dynamic string creation in plpgsql
Previous Message Adrian Klaver 2014-01-06 04:40:55 Re: Planning error in dynamic string creation in plpgsql