Re: Possible error in psql or Postgres?

From: David Johnston <polobo(at)yahoo(dot)com>
To: Dusan Misic <promisic(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Possible error in psql or Postgres?
Date: 2012-06-12 19:33:52
Message-ID: B075B4EC-2BB7-44AA-963F-1DAA3E0A86B1@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Jun 12, 2012, at 15:21, Dusan Misic <promisic(at)gmail(dot)com> wrote:

> Is this normal Postgres / psql behavior?
>
> griffindb=# \d system.user;
> Table "system.user"
> Column | Type | Modifiers
>
> -----------+-----------------------+--------------------------------------------
> --------
> username | character varying(20) | not null
> password | character varying(32) | not null
> firstname | character varying(40) | not null default 'nema ime'::character vary
> ing
> lastname | character varying(40) | not null default 'nema prezime'::character
> varying
> Indexes:
> "SystemUser_PK" PRIMARY KEY, btree (username) CLUSTER
>
> normal query:
>
> griffindb=# select * from system.user where username = 'root';
> username | password | firstname | lastname
> ----------+----------------------------------+-----------+---------------
> root | 1e7db545fccbf4e03abc6b71d329ab4f | Super | administrator
> (1 row)
>
> error query:
>
> griffindb=# select * from system.user where user = 'root';
> username | password | firstname | lastname
> ----------+----------+-----------+----------
> (0 rows)
>
> column user does not exist should throw an error!
>
> PostgreSQL / psql version: 9.1.3 on Windows 7 64-bit
>
> Should Postgres or psql report an error because column used in WHERE clause does not exist?

http://www.postgresql.org/docs/9.0/interactive/functions-info.html

"user" is actually a function the returns the current_user. It is an SQL special function and thus does not require the use of () after the function name. So basically you are saying "where current_user = 'root'" which is either a constant true or false for the statement.

David J.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dusan Misic 2012-06-12 19:41:04 Re: Possible error in psql or Postgres?
Previous Message Magnus Hagander 2012-06-12 19:32:27 Re: Possible error in psql or Postgres?