Обсуждение: Missing FROM clause

Поиск
Список
Период
Сортировка

Missing FROM clause

От
Ulrich Wisser
Дата:
Hi,

after seeing some mysterious messages about missing from clauses I did
turn on query logging. Unfortunately am I now more confused then before.


Aug 25 09:22:38 balder postgres[25538]: [277-1] LOG:  query: SELECT *
FROM LOGIN
Aug 25 09:22:38 balder postgres[25538]: [277-2] where USERNAME='ulrich'
Aug 25 09:22:47 balder postgres[25590]: [277] NOTICE:  Adding missing
FROM-clause entry for table "partner"

Please find the definition of my login table below.

Why would pg add the partner table to the query?

TIA

Ulrich



DB1=> \d login
                                 Table "public.login"
     Column     |          Type           |                 Modifiers
---------------+-------------------------+-------------------------------------------
  loginid       | integer                 | not null default
nextval('s_login'::text)
  username      | character varying(64)   | not null
  password      | character varying(16)   | not null
  email         | character varying(128)  | not null
  accesslevelid | integer                 | not null
  partnerid     | integer                 |
  resellerid    | integer                 |
  customerid    | integer                 |
  roles         | character varying(1024) |
  realname      | character varying(64)   | not null
Indexes: login_p01 primary key btree (loginid),
          login_u01 unique btree (username)
Foreign Key constraints: login_f01 FOREIGN KEY (accesslevelid)
REFERENCES accesslevel(accesslevelid) ON UPDATE CASCADE ON DELETE RESTRICT,
                          login_f02 FOREIGN KEY (partnerid) REFERENCES
partner(partnerid) ON UPDATE CASCADE ON DELETE RESTRICT,
                          login_f03 FOREIGN KEY (resellerid) REFERENCES
reseller(resellerid) ON UPDATE CASCADE ON DELETE RESTRICT,
                          login_f04 FOREIGN KEY (customerid) REFERENCES
customer(customerid) ON UPDATE CASCADE ON DELETE RESTRICT


Re: Missing FROM clause

От
"Magnus Hagander"
Дата:
> Aug 25 09:22:38 balder postgres[25538]: [277-1] LOG:  query: SELECT *
> FROM LOGIN
> Aug 25 09:22:38 balder postgres[25538]: [277-2] where
> USERNAME='ulrich'
> Aug 25 09:22:47 balder postgres[25590]: [277] NOTICE:  Adding missing
> FROM-clause entry for table "partner"

Check the PID field. Those messages are from different backends. 25538
which does the SELECT and 25590 which is something else.

//Magnus


Re: Missing FROM clause

От
Richard Huxton
Дата:
Ulrich Wisser wrote:
> Hi,
>
> after seeing some mysterious messages about missing from clauses I did
> turn on query logging. Unfortunately am I now more confused then before.
>
>
> Aug 25 09:22:38 balder postgres[25538]: [277-1] LOG:  query: SELECT *
> FROM LOGIN
> Aug 25 09:22:38 balder postgres[25538]: [277-2] where USERNAME='ulrich'
> Aug 25 09:22:47 balder postgres[25590]: [277] NOTICE:  Adding missing
> FROM-clause entry for table "partner"
>
> Please find the definition of my login table below.
>
> Why would pg add the partner table to the query?

The only things I can think are:
1. You have a view named "login" which is earlier in your search path.
2. The query is not terminated in some way and you have two queries
being merged.

--
   Richard Huxton
   Archonet Ltd