On Fri, 13 Feb 2004, Tom Lane wrote: > Stephan Szabo <[EMAIL PROTECTED]> writes: > > On Fri, 13 Feb 2004, Tom Lane wrote: > >> I was looking at that last night. It seems like we could add a LIMIT at > >> least in some contexts. In the case at hand, we're just going to error > >> out immediately if we find a matching row, and so there's no need for > >> FOR UPDATE, is there? > > > I think there still is, because a not yet committed transaction could have > > deleted them all in which case I think the correct behavior is to wait and > > if that transaction commits allow the action and if it rolls back to > > error. > > Good point. Okay, we can't put in a LIMIT. But we could still hack the > planner to prefer a fast-start plan by passing an out-of-band tuple > fraction, for those RI plans where it's appropriate. That would not > affect correctness.
Right, I can try to look through the stuff you pointed at in the previous message over the weekend. > >> However, I'm not sure it would help the OP anyway. With the stats he > >> had, the planner would still take a seqscan, because it's going to > >> expect that it can find a match by probing the first ten or so rows of > >> the first page. With anything close to the normal cost parameters, > >> that's going to look more expensive than an index probe. > > s/more expensive/less expensive/ ... need more caffeine obviously ... Me too apparently, since I knew what you were saying and agreed despite the wording. ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org