No, it is not the “unknown collation” subset. It is more like the “don’t care” subset.
Traits are a form of quality-of-service. Like when you order a package, you can pay extra for 2-day shipping, and even more for 1-day shipping. You pay more for a tighter guarantee. The subset with collation [] is for people who don’t care how the rows are sorted. If there is a relational expression that has “order by x, y” then it will appear in all of the subsets [], [x] and [x, y]. > On Jan 7, 2019, at 11:36 AM, Vladimir Sitnikov <[email protected]> > wrote: > > Julian> I don’t think the [] means “no collation”. It means “order by > zero columns”. The list of columns is present, but it is empty. > > I agree I might be wrong from technical point of view. Frankly > speaking, I don't think I've ever understood what Calcite traits are > even though I happen to land a couple of fixes there. > > However I believe that the distinction is not important for the discussion. > The case is planner puts known to have multiple collations relation > (e.g. values, merge join) into "unknown collation" subset which erases > important information. > > Vladimir
