BUG #15109: Unhelpful error message on type mismatch

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #15109: Unhelpful error message on type mismatch
Дата
Msg-id 152097399497.1223.8046666575875924842@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #15109: Unhelpful error message on type mismatch
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15109
Logged by:          Bernhard Reutner-Fischer
Email address:      rep.dot.nop@gmail.com
PostgreSQL version: 10.3
Operating system:   linux
Description:

Hi!

wishlist item:
---8<---
CREATE OR REPLACE FUNCTION xxx(flag boolean)
RETURNS JSONB LANGUAGE plpgsql AS
$$
DECLARE
  row record;
BEGIN
  IF flag = true THEN
    SELECT 1::bigint AS i
    INTO row;
  ELSE
    SELECT 1::text AS i
    INTO row;
  END IF;
  RETURN JSONB_BUILD_OBJECT('foo', row.i);
END
$$;

select xxx(false);
select xxx(true);
---8<---
CREATE FUNCTION
     xxx      
--------------
 {"foo": "1"}
(1 row)

psql:xxx.sql:19: ERROR:  type of parameter 4 (bigint) does not match that
when preparing the plan (text)
CONTEXT:  PL/pgSQL function xxx(boolean) line 12 at RETURN

Would be nice to give more context what "parameter 4" actually is, i.e. also
print the name or underline the exact line the error occurs in or the like
(and how comes we talk about line 12 and not 14?):

mockup:
psql:xxx.sql:19: ERROR: type of parameter 4 (1::bigint AS i) does not match
that when preparing the plan (1::text AS i)

or mockup:
psql:xxx.sql:19: ERROR: type of parameter at (1) does not match that when
preparing the plan at (2)
CONTEXT:  PL/pgSQL function xxx(boolean) line 14 at (3)
     7      IF flag = true THEN
     8        SELECT 1::bigint AS i
----------------(1)-^
     9        INTO row;
    10      ELSE
    11        SELECT 1::text AS i
----------------(2)-^
    12        INTO row;
    13      END IF;
    14      RETURN JSONB_BUILD_OBJECT('foo', row.i);
-------------------------------------------(3)-^

Or the like.
This is of course not json-specific.


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: BUG #15096: Unable to CREATE TABLE LIKE with bigint identitycolumn
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: BUG #15109: Unhelpful error message on type mismatch