From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Joins on TID |
Date: | 2018-12-21 23:34:26 |
Message-ID: | 17443.1545435266@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I decided to spend an afternoon seeing exactly how much work would be
needed to support parameterized TID scans, ie nestloop-with-inner-TID-
scan joins, as has been speculated about before, most recently here:
It turns out it's not that bad, less than 200 net new lines of code
(all of it in the planner; the executor seems to require no work).
Much of the code churn is because tidpath.c is so ancient and crufty.
It was mostly ignoring the RestrictInfo infrastructure, in particular
emitting the list of tidquals as just bare clauses not RestrictInfos.
I had to change that in order to avoid inefficiencies in some places.
I haven't really looked at how much of a merge problem there'll be
with Edmund Horner's work for TID range scans. My feeling about it
is that we might be best off treating that as a totally separate
code path, because the requirements are significantly different (for
instance, a range scan needs AND semantics not OR semantics for the
list of quals to apply).
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
parameterized-TID-scans-1.patch | text/x-diff | 27.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2018-12-21 23:36:47 | Re: [PATCH] Improve tab completion for CREATE TABLE |
Previous Message | Michael Paquier | 2018-12-21 23:28:34 | Re: Offline enabling/disabling of data checksums |