From e1263e6b0ec363d21a78c933029bbea54ef74abe Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Mon, 5 Jun 2017 17:36:01 -0700 Subject: [PATCH 1/2] VirtualColumns: Block virtual columns with empty names. --- .../src/main/java/io/druid/segment/VirtualColumns.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/processing/src/main/java/io/druid/segment/VirtualColumns.java b/processing/src/main/java/io/druid/segment/VirtualColumns.java index 584a4308c371..992e58c29451 100644 --- a/processing/src/main/java/io/druid/segment/VirtualColumns.java +++ b/processing/src/main/java/io/druid/segment/VirtualColumns.java @@ -46,9 +46,9 @@ public class VirtualColumns implements Cacheable { public static final VirtualColumns EMPTY = new VirtualColumns( - ImmutableList.of(), - ImmutableMap.of(), - ImmutableMap.of() + ImmutableList.of(), + ImmutableMap.of(), + ImmutableMap.of() ); /** @@ -78,6 +78,10 @@ public static VirtualColumns create(List virtualColumns) Map withDotSupport = Maps.newHashMap(); Map withoutDotSupport = Maps.newHashMap(); for (VirtualColumn vc : virtualColumns) { + if (vc.getOutputName() == null || vc.getOutputName().isEmpty()) { + throw new IAE("Empty or null virtualColumn name"); + } + if (vc.getOutputName().equals(Column.TIME_COLUMN_NAME)) { throw new IAE("virtualColumn name[%s] not allowed", vc.getOutputName()); } From 6a8e10186d27697f7451df93aa0f6c272c5d46f8 Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Mon, 5 Jun 2017 18:52:28 -0700 Subject: [PATCH 2/2] Spelling. --- processing/src/main/java/io/druid/segment/VirtualColumns.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/processing/src/main/java/io/druid/segment/VirtualColumns.java b/processing/src/main/java/io/druid/segment/VirtualColumns.java index 992e58c29451..8e169333ee87 100644 --- a/processing/src/main/java/io/druid/segment/VirtualColumns.java +++ b/processing/src/main/java/io/druid/segment/VirtualColumns.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; @@ -78,7 +79,7 @@ public static VirtualColumns create(List virtualColumns) Map withDotSupport = Maps.newHashMap(); Map withoutDotSupport = Maps.newHashMap(); for (VirtualColumn vc : virtualColumns) { - if (vc.getOutputName() == null || vc.getOutputName().isEmpty()) { + if (Strings.isNullOrEmpty(vc.getOutputName())) { throw new IAE("Empty or null virtualColumn name"); }