From: | Tobias Gierke <tobias(dot)gierke(at)code-sourcery(dot)de> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Assignment to composite type variable fails inside function but running query separately yields correct type & value ? |
Date: | 2021-01-26 12:56:44 |
Message-ID: | 4446d7d8-08a3-03d6-3f46-ac80239dbfb9@code-sourcery.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hi,
I'm probably just missing some nitty-gritty detail here but I've bashed
by head against this one for ages and still couldn't make sense of it.
This is on PostgreSQL 12.2 (on CentOS 7 but PostgreSQL compiled from
sources):
voip=# CREATE TYPE version_num AS (major bigint, minor bigint);
CREATE TYPE
voip=# CREATE TYPE version_num_text AS (major text, minor text);
CREATE TYPE
voip=#
voip=# CREATE TEMPORARY TABLE test_table ( a_major bigint, a_minor bigint );
CREATE TABLE
voip=# INSERT INTO test_table VALUES (1,1);
INSERT 0 1
voip=#
voip=# CREATE OR REPLACE FUNCTION test_func( _id version_num_text )
voip-# RETURNS void AS
voip-# $BODY$
voip$# DECLARE
voip$# _myid version_num;
voip$# BEGIN
voip$# SELECT (t1.a_major, t1.a_minor )::version_num INTO _myid
FROM test_table t1 WHERE (t1.a_major,t1.a_minor)::version_num_text = _id;
voip$# END;
voip$# $BODY$ LANGUAGE plpgsql;
CREATE FUNCTION
voip=#
voip=# SELECT test_func( ('1','1')::version_num_text );
ERROR: invalid input syntax for type bigint: "(1,1)"
CONTEXT: PL/pgSQL function test_func(version_num_text) line 5 at SQL
statement
voip=# CREATE TEMPORARY TABLE dbg_table AS SELECT (t1.a_major,
t1.a_minor )::version_num FROM test_table t1 WHERE
(t1.a_major,t1.a_minor)::version_num_text = ('1','1')::version_num_text;
SELECT 1
voip=# \d dbg_table
Table "pg_temp_189.dbg_table"
Column | Type | Collation | Nullable | Default
--------+-------------+-----------+----------+---------
row | version_num | | |
Bug or feature ?
Cheers,
Tobias
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2021-01-26 15:08:07 | Re: Assignment to composite type variable fails inside function but running query separately yields correct type & value ? |
Previous Message | Kyotaro Horiguchi | 2021-01-26 11:17:09 | Re: BUG #16837: Invalid memory access on \h in psql |