Skip to content

Commit 7364830

Browse files
committed
Simplify validation for Case IR node
1 parent 39ff3d8 commit 7364830

File tree

1 file changed

+3
-6
lines changed
  • core/trino-main/src/main/java/io/trino/sql/ir

1 file changed

+3
-6
lines changed

core/trino-main/src/main/java/io/trino/sql/ir/Case.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.List;
2121
import java.util.stream.Collectors;
2222

23+
import static com.google.common.base.Preconditions.checkArgument;
2324
import static io.trino.spi.type.BooleanType.BOOLEAN;
2425
import static io.trino.sql.ir.IrUtils.validateType;
2526
import static java.util.Objects.requireNonNull;
@@ -30,18 +31,14 @@ public record Case(List<WhenClause> whenClauses, Expression defaultValue)
3031
{
3132
public Case
3233
{
34+
checkArgument(whenClauses.isEmpty(), "whenClauses is empty");
3335
whenClauses = ImmutableList.copyOf(whenClauses);
3436
requireNonNull(defaultValue, "defaultValue is null");
3537

3638
for (WhenClause clause : whenClauses) {
3739
validateType(BOOLEAN, clause.getOperand());
40+
validateType(defaultValue.type(), clause.getResult());
3841
}
39-
40-
for (int i = 1; i < whenClauses.size(); i++) {
41-
validateType(whenClauses.getFirst().getResult().type(), whenClauses.get(i).getResult());
42-
}
43-
44-
validateType(whenClauses.getFirst().getResult().type(), defaultValue);
4542
}
4643

4744
@Override

0 commit comments

Comments
 (0)