Re: [HACKERS] A select with aggretion is failing, still subtle problems with aggregation
Michael J Davis <michael.j.davis@tvguide.com> writes:
The following select fails:
select invoiceid + 3 as type, memberid, 1, max(TotShippingHandling)
from InvoiceLineDetails
where TotShippingHandling <> 0
group by type, memberid limit 10;ERROR: replace_agg_clause: variable not in target list
Yeah, "GROUP BY" on anything but a primitive column is still pretty
hosed. I'm going to try to work on it this weekend.
regards, tom lane
Import Notes
Reply to msg id not found: YourmessageofFri30Apr1999202018-050093C04F1F5173D211A27900105AA8FCFC14545B@lambic.prevuenet.com
Just one more question. If you remove the cache file so the next
backend creates it, could their be problems if another backend starts
while the file is being created by another backend?
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian <maillist@candle.pha.pa.us> writes:
That sounds like a big win. 1/3 second is large. If they vacuum a
single table, and it is not a system table, can the removal be
skipped?
I didn't do that; I just put an unconditional remove into vac_shutdown.
If you want to improve on that, be my guest ;-).
Just one more question. If you remove the cache file so the next
backend creates it, could their be problems if another backend starts
while the file is being created by another backend?
The code in relcache.c looks to be fairly robust --- if the file seems
to be broken (ie, ends early) it will go off and rebuild the file.
So I suppose you could get an extra rebuild in that scenario.
If you wanted to be really paranoid you could have the writing code
create the file under a temporary name (using the backend's PID) and
rename it into place when done; that'd prevent any kind of worry about
the wrong things happening if two backends write the file at the same
time. But really, it shouldn't matter.
regards, tom lane
Import Notes
Reply to msg id not found: YourmessageofSat1May1999152147-0400199905011921.PAA06871@candle.pha.pa.us | Resolved by subject fallback
Is this done? I have added it to the list.
Michael J Davis <michael.j.davis@tvguide.com> writes:
The following select fails:
select invoiceid + 3 as type, memberid, 1, max(TotShippingHandling)
from InvoiceLineDetails
where TotShippingHandling <> 0
group by type, memberid limit 10;ERROR: replace_agg_clause: variable not in target list
Yeah, "GROUP BY" on anything but a primitive column is still pretty
hosed. I'm going to try to work on it this weekend.regards, tom lane
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026