Re: MySQL search query is not executing in Postgres DB

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Greg Stark <stark@mit.edu>, Bruce Momjian <bruce@momjian.us>, Andrew Dunstan <andrew@dunslane.net>, premanand <kottiprem@gmail.com>, pgsql-hackers@postgresql.org
Date: 2012-11-21T22:10:01Z
Lists: pgsql-hackers
On 11/21/12 9:42 AM, Robert Haas wrote:
> On Mon, Nov 19, 2012 at 6:19 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
>> On Tue, 2012-11-06 at 10:57 -0500, Robert Haas wrote:
>>> But, with the attached patch:
>>>
>>> rhaas=# create function xyz(smallint) returns smallint as $$select
>>> $1$$ language sql;
>>> CREATE FUNCTION
>>> rhaas=# select xyz(5);
>>>  xyz
>>> -----
>>>    5
>>> (1 row)
>>>
>>> rhaas=# create table abc (a int);
>>> CREATE TABLE
>>> rhaas=# select lpad(a, 5, '0') from abc;
>>>  lpad
>>> ------
>>> (0 rows)
>>
>> I continue to be of the opinion that allowing this second case to work
>> is not desirable.
> 
> 1. Why?

Because a strongly-typed system should not cast numbers to strings
implicitly.  Does the equivalent of the lpad case work in any other
strongly-typed programming language?

> 2. What's your counter-proposal?

Leave things as they are.