[fix](nereids) bucket shuffle and colocate join is not correctly recognized (#17807)
1. close (https://github.com/apache/doris/issues/16458) for nereids 2. varchar and string type should be treated as same type in bucket shuffle join scenario. ``` create table shuffle_join_t1 ( a varchar(10) not null ) create table shuffle_join_t2 ( a varchar(5) not null, b string not null, c char(3) not null ) ``` the bellow 2 sqls can use bucket shuffle join ``` select * from shuffle_join_t1 t1 left join shuffle_join_t2 t2 on t1.a = t2.a; select * from shuffle_join_t1 t1 left join shuffle_join_t2 t2 on t1.a = t2.b; ``` 3. PushdownExpressionsInHashCondition should consider both hash and other conjuncts 4. visitPhysicalProject should handle MarkJoinSlotReference
This commit is contained in:
@ -372,6 +372,11 @@ public abstract class Type {
|
||||
|| isScalarType(PrimitiveType.STRING);
|
||||
}
|
||||
|
||||
public boolean isVarcharOrStringType() {
|
||||
return isScalarType(PrimitiveType.VARCHAR)
|
||||
|| isScalarType(PrimitiveType.STRING);
|
||||
}
|
||||
|
||||
public boolean isVarchar() {
|
||||
return isScalarType(PrimitiveType.VARCHAR);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user