{"push_id":2970414243,"size":1,"distinct_size":1,"ref":"refs/heads/5X_STABLE","head":"5e4c95947f76d58181ee570c2c72d663cc4af968","before":"a1b8728edab13a4d38c304d98d6d742ecddd42fc","commits":[{"sha":"5e4c95947f76d58181ee570c2c72d663cc4af968","author":{"name":"Daniel Gustafsson","email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io"},"message":"Support equijoin on relabeled distribution keys\n\nDistribution key joins on pathkeys where the parser invokes an implicit\ncast via a RelabelType node would introduce a redistribution motion due\nto the join not being recognized as a colocated equijoin.\n\nAs an example, consider the following relation\n\n    create table test (a varchar(10), b varchar(10)) distributed by (a);\n\nThe below query will introduce an implicit cast on a.a and b.a to TEXT by\nthe parser. This means that the pathkey EquivalenceClass is on VARCHAR but\nthe RestrictInfo ECs are for TEXT.\n\n    select * from test a, test b where a.a=b.a;\n\nFix by following the EC members to their basetypes to allow for colocated\nequijoins in these cases.\n\nAffected testfiles updated, and one affected testcase slightly tweaked to\nignore less and generate less uninteresting output in the .out file.\n\nThis is a backport of 75af5e5a296bf9f2dfe3f2e838ddc3a2e4f7f03d from master,\nwith additional logic to ensure that the right EC is exposed at decision\ntime. The canonicalization logic is in turn a partial backport of commit\nb310b6e31ce5aa9e456c43c0e8e93248b0c84c02 on upstream.\n\nReviewed-by: Heikki Linnakangas <hlinnakangas@pivotal.io>\nCo-authored-by: Ekta Khanna <ekhanna@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/greenplum-db/gpdb/commits/5e4c95947f76d58181ee570c2c72d663cc4af968"}]}
{"actor":{"display_login":"danielgustafsson"}}