Re: [SQL] Calculation dependencies in views - Mailing list pgsql-sql

From Jan Wieck
Subject Re: [SQL] Calculation dependencies in views
Date
Msg-id 3873BC4C.3D4E4BCC@debis.com
Whole thread Raw
In response to Calculation dependencies in views  (Rick Delaney <rick@consumercontact.com>)
Responses Autonumber column
List pgsql-sql
Rick Delaney wrote:

> Jan Wieck wrote:
> >
> > Rick Delaney wrote:
> >
> > >
> >      Be aware that 6.5.* might be unable to deal with the resulting size of
> >      the rewrite rule. And I'm not sure that I'll get TOAST ready for 7.0 to
> >      handle it.
>
> I'd have to take a good look at all the expressions again to know if I could do
> this but I think I probably can.  Only, with what I've started on I'm already
> getting "rule plan string too big" errors.  (What I've started on is just one
> view that doesn't have all the expressions in it yet).
    That's what I meant with "might be unable...". You talked about a 50    column view with complicated expressions,
andthat's surely too large for    the current implementation.
 

> So I will just get the same thing with nested views, no?  That is how I
> understand the "The Postgres Rule System" section of the manual and Tom Lane's
> answer to my post.
    As the author of "The Postgres Rule System" I say yes, except that it    requires some recursions in the rewriter.
Thus,it will take a little    longer to rewrite, but that's a constant time per query, not depending on    the amount
ofdata you're selecting. So if you're happy with the response    times for your test queries, it's not the rewriter any
moreif you get    response time problems later.
 

>
> If I could structure things as
>
>     subset_1_n -> subset_1_n-1 -> ... -> subset_1_2 -> subset_1_1
>     subset_2_n -> subset_2_n-1 -> ... -> subset_2_2 -> subset_2_1
>     :
>     :
>     subset_m_n -> subset_m_n-1 -> ... -> subset_m_2 -> subset_m_1
>
> final -> join subset_1_n, subset_2_n, ..., subset_m_n
>
> where each view subset_i_n has a usably-sized rule plan string then could I get
> this thing working?
    As said, there is a limit of 10 recursions for the rewriter actually    hardcoded in rewriteHandler.c (line 1466).
Raisethat value if you get    "infinite loop" errors.
 

> This will be primarily INSERT/UPDATE a row and then SELECT the view of that row.
> Am I right that a trigger would make more sense in this case then?
    If you only insert one row, then select that one row, the cascaded view    setup is best IMHO. The trigger solution
wouldonly be better, if you    seldom do INSERT/UPDATE, but often SELECT and maybe SELECT many rows.
 

Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #





pgsql-sql by date:

Previous
From: Rick Delaney
Date:
Subject: Re: [SQL] Calculation dependencies in views
Next
From: Rick Delaney
Date:
Subject: Re: [SQL] Calculation dependencies in views