"Mikheev, Vadim" <[EMAIL PROTECTED]> writes:
>> I'm not sure that the time to do projection is short though
>> --- what if there are arbitrary user-defined functions in the quals
>> or the projection targetlist?

> Well, while we are on this subject I finally should say about issue
> bothered me for long time: only "simple" functions should be allowed
> to deal with data in shared buffers directly. "Simple" means: no SQL
> queries there. Why? One reason: we hold shlock on buffer while doing
> seqscan qual - what if qual' SQL queries will try to acquire exclock
> on the same buffer?

I think we're there already: AFAICT, user-specified quals and
projections are done after dropping the buffer shlock.  (Yes, I know
there's a HeapKeyTest inside heapgettup, but user quals don't get
done there.)  We do still hold a pin, but that seems OK to me.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to