Skip site navigation (1) Skip section navigation (2)

BUG #4944: Problems with using \set variables as strings in select statements

From: "Bruno Scovoli Santos" <bruno(dot)scovoli(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #4944: Problems with using \set variables as strings in select statements
Date: 2009-07-27 13:50:48
Message-ID: 200907271350.n6RDomVD056020@wwwmaster.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      4944
Logged by:          Bruno Scovoli Santos
Email address:      bruno(dot)scovoli(at)gmail(dot)com
PostgreSQL version: 8.3.7
Operating system:   Ubuntu 9.04 Jaunty Jackalope
Description:        Problems with using \set variables as strings in select
statements
Details: 

I hava a table as follows:

euclidhardware=# select * from fabricantes;
 id_fabricante |   nome    |     distribuidor     | descricao 
---------------+-----------+----------------------+-----------
             1 | Genius    | Atera informática    | -
             2 | Logitech  | Atera informática    | -
             3 | Epson     | Kalunga              | -
             4 | HP        | Kalunga              | -
             5 | Lexmark   | Kalunga              | -
             6 | Gigabyte  | IMICROS              | -
             7 | ASUS      | IMICROS              | -
             8 | ABIT      | IMICROS              | -
             9 | AMD       | IMICROS              | -
            11 | Intel     | Balao da informática | -
            12 | Kingston  | Balao da informática | -
            13 | Corsair   | IMICROS              | -
            14 | Smartdata | ShopInfo             | -
           299 | ashhj     | 78hkj                | 8jhkljk


When I do:

brunodb=# \set fab 11
brunodb=# select * from fabricantes where id_fabricante = :fab;
 id_fabricante | nome  |     distribuidor     | descricao 
---------------+-------+----------------------+-----------
            11 | Intel | Balao da informática | -

OK, I get the right result. But it's seems that there is a bug for this:

brunodb=# \set nom 'Intel'
euclidhardware=# select * from fabricantes where nome like :nom;
ERROR:  column "intel" does not exist
LINE 1: select * from fabricantes where nome like Intel;

Please, I have tried exaustively many other ways to achieve this result, and
searched many foruns. I dont realize where is my error, I think that it is a
bug?

Thanks in advance,

Bruno

Responses

pgsql-bugs by date

Next:From: Rolf JentschDate: 2009-07-27 14:31:19
Subject: Re: BUG #4944: Problems with using \set variables as strings in select statements
Previous:From: fousDate: 2009-07-27 13:40:03
Subject: BUG #4943: getting error while vacuuming the database

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group