From: | "Merlin Moncure" <mmoncure(at)gmail(dot)com> |
---|---|
To: | vivek(at)staff(dot)ownmail(dot)com |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Dynamic views |
Date: | 2006-11-29 13:08:22 |
Message-ID: | b42b73150611290508h2e7ef0b4n37d1ca3feee19244@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 11/29/06, vivek(at)staff(dot)ownmail(dot)com <vivek(at)staff(dot)ownmail(dot)com> wrote:
> Hello friends,
> I have a view defined as:-
>
> CREATE VIEW vivek_testview AS SELECT vivek_test.* , users.username AS name from users, vivek_test where vivek_test.username=users.username;
>
> Now, when I add a new column in vivek_test, I cant see the new column in the view. Currently we have to drop the view and recreate it.
> Is there a way that i can see the new column without dropping and recreating the view ?
>
> Thanks for reading this. Thanks for your replies in advance.
no, queries using * are expanded when the plan is created. for views,
the plan is created when you create the view (also the original query
string to create the view is not stored). however, you could however
create a function that returns setof record, because plans for
functions are created when they are first run in a session. this
isn't a perfect solution, but it might work for you.
merlin
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2006-11-29 13:33:04 | Re: Looking for pgsql sysadmin |
Previous Message | Marc Evans | 2006-11-29 12:25:48 | Looking for pgsql sysadmin |