Rewrite view? - Mailing list pgsql-hackers

From Hao Wu
Subject Rewrite view?
Date
Msg-id CY4PR0501MB390643D883A44F6B635E3D33A44A0@CY4PR0501MB3906.namprd05.prod.outlook.com
Whole thread Raw
List pgsql-hackers
Hi hackers,

When I define a view relevant with `char varying`, it shows the type is casted to text. See,

gpadmin=# CREATE TABLE foobar (a character varying);
CREATE TABLE
gpadmin=# CREATE VIEW fooview AS SELECT * FROM foobar WHERE a::character varying = ANY(ARRAY['foo'::character varying, 'bar'::character varying]);
CREATE VIEW
gpadmin=# \d+ fooview
                                View "public.fooview"
 Column |       Type        | Collation | Nullable | Default | Storage  | Description
--------+-------------------+-----------+----------+---------+----------+-------------
 a      | character varying |           |          |         | extended |
View definition:
 SELECT foobar.a
   FROM foobar
  WHERE foobar.a::text = ANY (ARRAY['foo'::character varying, 'bar'::character varying]::text[]);

gpadmin=# create view barview as select * from foobar where a=any(array['foo','bar']);
CREATE VIEW
gpadmin=# \d+ barview
                                View "public.barview"
 Column |       Type        | Collation | Nullable | Default | Storage  | Description
--------+-------------------+-----------+----------+---------+----------+-------------
 a      | character varying |           |          |         | extended |
View definition:
 SELECT foobar.a
   FROM foobar
  WHERE foobar.a::text = ANY (ARRAY['foo'::text, 'bar'::text]);


My question is that is it an expected behavior or not?
Thank you.

Regards,
Hao Wu

pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Clarifying the ImportForeignSchema API
Next
From: Ian Lawrence Barwick
Date:
Subject: Re: Clarifying the ImportForeignSchema API