Re: Partition-wise join for join between (declaratively) partitioned tables
Tom Lane <tgl@sss.pgh.pa.us>
Robert Haas <robertmhaas@gmail.com> writes: > I'm going to say this one more time: I really, really, really think > you need to avoid trying to convert the partition bounds to a common > type. I said before that the infrastructure to do that is not present > in our type system, and I'm pretty sure that statement is 100% > correct. The fact that you can find other cases where we do something > sorta like that but in a different case with different requirements > doesn't make that false. It's not just a matter of lack of infrastructure: the very attempt is flawed, because in some cases there simply isn't a supertype that can hold all values of both types. An easy counterexample is float8 vs numeric: you can't convert float8 'Infinity' to numeric, but also there are values of numeric that can't be converted to float8 without overflow and/or loss of precision. The whole business of precision loss makes things very touchy for almost anything involving float and a non-float type, actually. What I'm going to ask one more time, though, is why we are even discussing this. Surely the partition bounds of a partitioned table must all be of the same type already. If there is a case where they are not, that is a bug we had better close off before v10 ships, not a feature that we need to write a lot of code to accommodate. regards, tom lane
Commits
-
Basic partition-wise join functionality.
- f49842d1ee31 11.0 landed
-
Assorted preparatory refactoring for partition-wise join.
- e139f1953f29 11.0 landed
-
Teach adjust_appendrel_attrs(_multilevel) to do multiple translations.
- 480f1f4329f1 11.0 landed
-
Stamp 10beta2.
- 42171e2cd23c 10.0 cited
-
Eat XIDs more efficiently in recovery TAP test.
- 08aed6604de2 10.0 cited
-
Abstract logic to allow for multiple kinds of child rels.
- 7a39b5e4d112 10.0 landed
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Attempt to stabilize grouping sets regression test plans.
- de4da168d57d 10.0 cited
-
Teach xlogreader to follow timeline switches
- 1148e22a82ed 10.0 cited
-
Don't scan partitioned tables.
- d3cc37f1d801 10.0 cited
-
Fix grammar.
- b4ff8609dbad 10.0 cited
-
postgres_fdw: Push down FULL JOINs with restriction clauses.
- b30fb56b07a8 10.0 cited
-
Some preliminary refactoring towards partitionwise join.
- c44c47a773bd 10.0 landed
-
contrib/amcheck needs RecentGlobalXmin to be PGDLLIMPORT'ified.
- 56018bf26eec 10.0 cited
-
Print test parameters like "foo: 123", and results like "foo = 123".
- 2a7f4f76434d 10.0 cited