From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | zoulx1982(at)163(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #7658: the result of pg_get_viewdef can NOT execute directly |
Date: | 2012-11-14 19:57:43 |
Message-ID: | 24458.1352923063@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
zoulx1982(at)163(dot)com writes:
> postgres=# create table t1(a int, b int);
> CREATE TABLE
> postgres=# create table t2(c int, d int);
> CREATE TABLE
> postgres=# create view v as select * from t1 t where a in (select a from t2
> t);
> CREATE VIEW
> postgres=# select pg_get_viewdef('v');
> pg_get_viewdef
> ------------------------------------------------------------------
> SELECT t.a, t.b FROM t1 t WHERE (t.a IN (SELECT t.a FROM t2 t));
> (1 row)
This is fixed in HEAD as a consequence of commit
http://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=11e131854f8231a21613f834c40fe9d046926387
--- I get
SELECT t.a, t.b FROM t1 t WHERE (t.a IN (SELECT t.a FROM t2 t_1));
which is a valid representation of the view. At the time we felt it was
not worth the risk of back-patching. I'm still inclined to think that,
since this example doesn't seem to correspond to any real-world use case
(the original query is surely a mistake no?).
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2012-11-14 20:02:33 | Re: BUG #7657: Create Table doesn't create columns |
Previous Message | kevin | 2012-11-14 19:51:45 | BUG #7659: LDAP auth does not search the subtree |