Re: structure of query does not match error during RETURN QUERY.

Поиск
Список
Период
Сортировка
От Michal Szymanski
Тема Re: structure of query does not match error during RETURN QUERY.
Дата
Msg-id 4A04587D.7070102@poczta.onet.pl
обсуждение исходный текст
Ответ на Re: structure of query does not match error during RETURN QUERY.  (Gevik Babakhani <pgdev@xs4all.nl>)
Список pgsql-general
We have tried to call it from PHP and from pgadmin the result is always the same.
This is result from psql

crm_test=# select  * from cerber.cerber_account_select (1);
WARNING:  :ERROR:CERBER:cerber_account_select: Blad typu other w trakcie probu p                                            obrania danych. Kod bledu = [42804: structure of query does not match function r                                            esult type]
 cerber_account_id | user_name | password | status | last_login_date | creation_                                            date | modification_date | delete_date | id_sys_module | id_domain
-------------------+-----------+----------+--------+-----------------+----------                                            -----+-------------------+-------------+---------------+-----------
(0 rows)


Gevik Babakhani wrote:
How do you call this function from your code?

Does it work when you call it from PGAdmin?

select  * from cerber.cerber_account_select (1);

Michal Szymanski wrote:
Hi,
We call DB procedure that select rows with given ID it works as simple
SELECT but for future changes we implement as DB procedure (look below
for DB listing). Recently we modified columns in table
cerber.cerber_accoun and after this modification procedure does not
work anymore and it returns
42804: structure of query does not match
It is very strange because we return row of cerber_account in variable
defined as row of cerber_account.
We have tried to restart database but it does not help. Probably
information about old table structure is somewhere cached.

CREATE OR REPLACE FUNCTION cerber.cerber_account_select
(i_cerber_account_id bigint)
  RETURNS SETOF cerber.cerber_account AS
$BODY$
DECLARE
    v_result cerber.cerber_account%ROWTYPE;
BEGIN
    RETURN QUERY SELECT * FROM cerber.cerber_account WHERE
cerber_account_id=i_cerber_account_id;
    RETURN;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100
  ROWS 1000;


Michal Szymankis
http://blog.szymanskich.net

 

No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.12.21/2103 - Release Date: 05/07/09 18:05:00

В списке pgsql-general по дате отправления:

Предыдущее
От: Gevik Babakhani
Дата:
Сообщение: Re: structure of query does not match error during RETURN QUERY.
Следующее
От:
Дата:
Сообщение: Glitch Using a Rule to Copy Data to a Table