diff options
author | Aman Sinha <asinha@maprtech.com> | 2018-10-10 16:36:48 -0700 |
---|---|---|
committer | Aman Sinha <asinha@maprtech.com> | 2018-10-25 16:08:51 -0700 |
commit | 387bc4fefc40b645685439fd1da43f7223e5933c (patch) | |
tree | 5478088952f913f572420761233cab5c87e73ac5 /contrib/format-maprdb/src/main/java | |
parent | 5fa9c808daef8ea70a39ac2248daa99055955b72 (diff) |
DRILL-6381: Address review comments (part 2): fix formatting issues and add javadoc.
Diffstat (limited to 'contrib/format-maprdb/src/main/java')
14 files changed, 48 insertions, 54 deletions
diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBFunctionalIndexInfo.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBFunctionalIndexInfo.java index ec38636c5..67938f3e8 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBFunctionalIndexInfo.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBFunctionalIndexInfo.java @@ -32,15 +32,15 @@ public class MapRDBFunctionalIndexInfo implements FunctionalIndexInfo { private boolean hasFunctionalField = false; - //when we scan schemaPath in groupscan's columns, we check if this column(schemaPath) should be rewritten to '$N', - //When there are more than two functions on the same column in index, CAST(a.b as INT), CAST(a.b as VARCHAR), + // When we scan schemaPath in groupscan's columns, we check if this column(schemaPath) should be rewritten to '$N', + // When there are more than two functions on the same column in index, CAST(a.b as INT), CAST(a.b as VARCHAR), // then we should map SchemaPath a.b to a set of SchemaPath, e.g. $1, $2 private Map<SchemaPath, Set<SchemaPath>> columnToConvert; // map of functional index expression to destination SchemaPath e.g. $N private Map<LogicalExpression, LogicalExpression> exprToConvert; - //map of SchemaPath involved in a functional field + // map of SchemaPath involved in a functional field private Map<LogicalExpression, Set<SchemaPath>> pathsInExpr; private Set<SchemaPath> newPathsForIndexedFunction; @@ -52,7 +52,7 @@ public class MapRDBFunctionalIndexInfo implements FunctionalIndexInfo { columnToConvert = Maps.newHashMap(); exprToConvert = Maps.newHashMap(); pathsInExpr = Maps.newHashMap(); - //keep the order of new paths, it may be related to the naming policy + // keep the order of new paths, it may be related to the naming policy newPathsForIndexedFunction = Sets.newLinkedHashSet(); allPathsInFunction = Sets.newHashSet(); init(); @@ -60,15 +60,15 @@ public class MapRDBFunctionalIndexInfo implements FunctionalIndexInfo { private void init() { int count = 0; - for(LogicalExpression indexedExpr : indexDesc.getIndexColumns()) { - if( !(indexedExpr instanceof SchemaPath) ) { + for (LogicalExpression indexedExpr : indexDesc.getIndexColumns()) { + if (!(indexedExpr instanceof SchemaPath)) { hasFunctionalField = true; SchemaPath functionalFieldPath = SchemaPath.getSimplePath("$"+count); newPathsForIndexedFunction.add(functionalFieldPath); - //now we handle only cast expression - if(indexedExpr instanceof CastExpression) { - //We handle only CAST directly on SchemaPath for now. + // now we handle only cast expression + if (indexedExpr instanceof CastExpression) { + // We handle only CAST directly on SchemaPath for now. SchemaPath pathBeingCasted = (SchemaPath)((CastExpression) indexedExpr).getInput(); addTargetPathForOriginalPath(pathBeingCasted, functionalFieldPath); addPathInExpr(indexedExpr, pathBeingCasted); @@ -119,7 +119,7 @@ public class MapRDBFunctionalIndexInfo implements FunctionalIndexInfo { * @return */ public SchemaPath getNewPath(SchemaPath path) { - if(columnToConvert.containsKey(path)) { + if (columnToConvert.containsKey(path)) { return columnToConvert.get(path).iterator().next(); } return null; @@ -131,7 +131,7 @@ public class MapRDBFunctionalIndexInfo implements FunctionalIndexInfo { * @return the renamed schemapath in index table for the indexed expression */ public SchemaPath getNewPathFromExpr(LogicalExpression expr) { - if(exprToConvert.containsKey(expr)) { + if (exprToConvert.containsKey(expr)) { return (SchemaPath)exprToConvert.get(expr); } return null; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBIndexDescriptor.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBIndexDescriptor.java index a57f5b5ec..75e6bc239 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBIndexDescriptor.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/planner/index/MapRDBIndexDescriptor.java @@ -122,9 +122,9 @@ public class MapRDBIndexDescriptor extends DrillIndexDescriptor { List<LogicalExpression> allCols = Lists.newArrayList(); Collection<SchemaPath> decoded; - for(LogicalExpression expr : expressions) { + for (LogicalExpression expr : expressions) { LogicalExpression nonDecoded = expr.accept(this, null); - if(nonDecoded != null) { + if (nonDecoded != null) { allCols.add(nonDecoded); } } diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBScanBatchCreator.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBScanBatchCreator.java index de2817e9b..2f533987b 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBScanBatchCreator.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBScanBatchCreator.java @@ -33,14 +33,14 @@ import org.apache.drill.exec.store.mapr.db.json.MaprDBJsonRecordReader; import org.apache.drill.shaded.guava.com.google.common.base.Preconditions; -public class MapRDBScanBatchCreator implements BatchCreator<MapRDBSubScan>{ +public class MapRDBScanBatchCreator implements BatchCreator<MapRDBSubScan> { private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(MapRDBScanBatchCreator.class); @Override public ScanBatch getBatch(ExecutorFragmentContext context, MapRDBSubScan subScan, List<RecordBatch> children) throws ExecutionSetupException { Preconditions.checkArgument(children.isEmpty()); List<RecordReader> readers = new LinkedList<>(); - for(MapRDBSubScanSpec scanSpec : subScan.getRegionScanSpecList()){ + for (MapRDBSubScanSpec scanSpec : subScan.getRegionScanSpecList()) { try { if (BinaryTableGroupScan.TABLE_BINARY.equals(subScan.getTableType())) { readers.add(new HBaseRecordReader( diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBSubScanSpec.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBSubScanSpec.java index e24438e92..7fc2e8376 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBSubScanSpec.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/MapRDBSubScanSpec.java @@ -23,7 +23,7 @@ import com.mapr.db.index.IndexDesc; import com.mapr.fs.jni.MapRConstants; import com.mapr.org.apache.hadoop.hbase.util.Bytes; -public class MapRDBSubScanSpec implements Comparable<MapRDBSubScanSpec>{ +public class MapRDBSubScanSpec implements Comparable<MapRDBSubScanSpec> { protected String tableName; protected IndexDesc indexDesc; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableGroupScan.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableGroupScan.java index b54526232..647fe822f 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableGroupScan.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableGroupScan.java @@ -320,7 +320,7 @@ public class JsonTableGroupScan extends MapRDBGroupScan implements IndexGroupSca double totalRowCount = stats.getRowCount(null, null); logger.debug("GroupScan {} with stats {}: rowCount={}, condition={}, totalRowCount={}, fullTableRowCount={}", System.identityHashCode(this), System.identityHashCode(stats), rowCount, - scanSpec.getCondition()==null?"null":scanSpec.getCondition(), + scanSpec.getCondition() == null ? "null" : scanSpec.getCondition(), totalRowCount, fullTableRowCount); // If UNKNOWN, or DB stats sync issues(manifests as 0 rows) use defaults. if (rowCount == ROWCOUNT_UNKNOWN || rowCount == 0) { @@ -377,7 +377,7 @@ public class JsonTableGroupScan extends MapRDBGroupScan implements IndexGroupSca PluginCost pluginCostModel = formatPlugin.getPluginCostModel(); final int avgColumnSize = pluginCostModel.getAverageColumnSize(this); boolean filterPushed = (scanSpec.getSerializedFilter() != null); - if(scanSpec != null && scanSpec.getIndexDesc() != null) { + if (scanSpec != null && scanSpec.getIndexDesc() != null) { totalColNum = scanSpec.getIndexDesc().getIncludedFields().size() + scanSpec.getIndexDesc().getIndexedFields().size() + 1; } @@ -446,8 +446,8 @@ public class JsonTableGroupScan extends MapRDBGroupScan implements IndexGroupSca @Override public String toString() { return "JsonTableGroupScan [ScanSpec=" + scanSpec + ", columns=" + columns - + (maxRecordsToRead>0? ", limit=" + maxRecordsToRead : "") - + (getMaxParallelizationWidth()>0? ", maxwidth=" + getMaxParallelizationWidth() : "") + "]"; + + (maxRecordsToRead > 0 ? ", limit=" + maxRecordsToRead : "") + + (getMaxParallelizationWidth() > 0 ? ", maxwidth=" + getMaxParallelizationWidth() : "") + "]"; } public JsonScanSpec getScanSpec() { @@ -498,7 +498,7 @@ public class JsonTableGroupScan extends MapRDBGroupScan implements IndexGroupSca indexDesc = (IndexDesc)((MapRDBIndexDescriptor)index).getOriginalDesc(); } // If no index is specified, get it from the primary table - if(indexDesc == null && scanSpec.isSecondaryIndex()) { + if (indexDesc == null && scanSpec.isSecondaryIndex()) { throw new UnsupportedOperationException("getAverageRowSizeStats should be invoked on primary table"); } @@ -540,12 +540,11 @@ public class JsonTableGroupScan extends MapRDBGroupScan implements IndexGroupSca * @return {@link MapRDBStatisticsPayload} statistics */ private MapRDBStatisticsPayload getFirstKeyEstimatedStatsInternal(QueryCondition condition, IndexDesc index, RelNode scanRel) { - // double totalRows = getRowCount(null, scanPrel); // If no index is specified, get it from the primary table - if(index == null && scanSpec.isSecondaryIndex()) { + if (index == null && scanSpec.isSecondaryIndex()) { // If stats not cached get it from the table. - //table = MapRDB.getTable(scanSpec.getPrimaryTablePath()); + // table = MapRDB.getTable(scanSpec.getPrimaryTablePath()); throw new UnsupportedOperationException("getFirstKeyEstimatedStats should be invoked on primary table"); } @@ -740,7 +739,7 @@ public class JsonTableGroupScan extends MapRDBGroupScan implements IndexGroupSca if (maxRecordsToRead < 0) { return true; } - return false;//limit is already pushed. No more pushdown of limit + return false; // limit is already pushed. No more pushdown of limit } @Override diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableRangePartitionFunction.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableRangePartitionFunction.java index 436347fcc..c0b73ee53 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableRangePartitionFunction.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/JsonTableRangePartitionFunction.java @@ -117,7 +117,7 @@ public class JsonTableRangePartitionFunction extends AbstractRangePartitionFunct if (thisPartRefList.size() != otherPartRefList.size()) { return false; } - for (int refIdx=0; refIdx<thisPartRefList.size(); refIdx++) { + for (int refIdx = 0; refIdx < thisPartRefList.size(); refIdx++) { if (!thisPartRefList.get(refIdx).equals(otherPartRefList.get(refIdx))) { return false; } @@ -148,7 +148,7 @@ public class JsonTableRangePartitionFunction extends AbstractRangePartitionFunct // Check if key is present in the mid interval of [start, stop]. // Account for empty byte array start/stop - if ( (Bytes.compareTo(encodedKey, start) >= 0 || + if ((Bytes.compareTo(encodedKey, start) >= 0 || Bytes.equals(start, MapRConstants.EMPTY_BYTE_ARRAY) ) && (Bytes.compareTo(encodedKey, stop) < 0 || diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/OjaiFunctionsProcessor.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/OjaiFunctionsProcessor.java index 959e243c2..7e29c222d 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/OjaiFunctionsProcessor.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/OjaiFunctionsProcessor.java @@ -47,7 +47,7 @@ class OjaiFunctionsProcessor extends AbstractExprVisitor<Void, Void, RuntimeExce final Throwable throwable = new Throwable(); final StackTraceElement[] ste = throwable.getStackTrace(); final StringBuilder sb = new StringBuilder(); - for(int i = 1; i < ste.length; ++i) { + for (int i = 1; i < ste.length; ++i) { sb.append(ste[i].toString()); sb.append('\n'); } diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RestrictedJsonTableGroupScan.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RestrictedJsonTableGroupScan.java index 48ad96d81..2f06d0075 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RestrictedJsonTableGroupScan.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/store/mapr/db/json/RestrictedJsonTableGroupScan.java @@ -90,7 +90,7 @@ public class RestrictedJsonTableGroupScan extends JsonTableGroupScan { private List<RestrictedMapRDBSubScanSpec> getEndPointFragmentMapping(int minorFragmentId) { List<RestrictedMapRDBSubScanSpec> restrictedSubScanSpecList = Lists.newArrayList(); List<MapRDBSubScanSpec> subScanSpecList = endpointFragmentMapping.get(minorFragmentId); - for(MapRDBSubScanSpec s : subScanSpecList) { + for (MapRDBSubScanSpec s : subScanSpecList) { restrictedSubScanSpecList.add((RestrictedMapRDBSubScanSpec) s); } return restrictedSubScanSpecList; @@ -128,7 +128,7 @@ public class RestrictedJsonTableGroupScan extends JsonTableGroupScan { @Override public ScanStats getScanStats() { - //TODO: ideally here we should use the rowcount from index scan, and multiply a factor of restricted scan + // TODO: ideally here we should use the rowcount from index scan, and multiply a factor of restricted scan double rowCount; PluginCost pluginCostModel = formatPlugin.getPluginCostModel(); final int avgColumnSize = pluginCostModel.getAverageColumnSize(this); @@ -178,7 +178,7 @@ public class RestrictedJsonTableGroupScan extends JsonTableGroupScan { public String toString() { return "RestrictedJsonTableGroupScan [ScanSpec=" + scanSpec + ", columns=" + columns + ", rowcount=" + computeRestrictedScanRowcount() - + (maxRecordsToRead>0? ", limit=" + maxRecordsToRead : "") - + (getMaxParallelizationWidth()>0? ", maxwidth=" + getMaxParallelizationWidth() : "") + "]"; + + (maxRecordsToRead > 0 ? ", limit=" + maxRecordsToRead : "") + + (getMaxParallelizationWidth() > 0 ? ", maxwidth=" + getMaxParallelizationWidth() : "") + "]"; } } diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/DecodeFieldPath.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/DecodeFieldPath.java index 6748c4f88..3241be491 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/DecodeFieldPath.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/DecodeFieldPath.java @@ -46,9 +46,9 @@ public class DecodeFieldPath implements DrillSimpleFunc { toStringFromUTF8(input.start, input.end, input.buffer).split(","); String[] decodedPaths = org.apache.drill.exec.util.EncodedSchemaPathSet.decode(encodedPaths); java.util.Arrays.sort(decodedPaths); - + StringBuilder sb = new StringBuilder(); - for(String decodedPath : decodedPaths) { + for (String decodedPath : decodedPaths) { sb.append(", ").append(org.ojai.FieldPath.parseFrom(decodedPath).asPathString()); } String outputString = "[" + sb.substring(2) + "]"; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/MatchesPlaceholder.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/MatchesPlaceholder.java index 6aad44ea1..38f61c337 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/MatchesPlaceholder.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/MatchesPlaceholder.java @@ -34,10 +34,9 @@ import org.apache.drill.exec.expr.holders.VarCharHolder; * which will replace this function with the real OJAI equivalent to be pushed down. * Therefore, there's no implementation here. */ -@FunctionTemplate( - name="ojai_matches", - scope=FunctionTemplate.FunctionScope.SIMPLE, - nulls=FunctionTemplate.NullHandling.INTERNAL) +@FunctionTemplate(name = "ojai_matches", + scope = FunctionTemplate.FunctionScope.SIMPLE, + nulls = FunctionTemplate.NullHandling.INTERNAL) public class MatchesPlaceholder implements DrillSimpleFunc { @Param BigIntHolder /*FieldReader*/ field; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotMatchesPlaceholder.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotMatchesPlaceholder.java index 56baebbf6..248579f66 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotMatchesPlaceholder.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotMatchesPlaceholder.java @@ -34,10 +34,9 @@ import org.apache.drill.exec.expr.holders.VarCharHolder; * which will replace this function with the real OJAI equivalent to be pushed down. * Therefore, there's no implementation here. */ -@FunctionTemplate( - name="ojai_notmatches", - scope=FunctionTemplate.FunctionScope.SIMPLE, - nulls=FunctionTemplate.NullHandling.INTERNAL) +@FunctionTemplate(name = "ojai_notmatches", + scope = FunctionTemplate.FunctionScope.SIMPLE, + nulls = FunctionTemplate.NullHandling.INTERNAL) public class NotMatchesPlaceholder implements DrillSimpleFunc { @Param BigIntHolder /*FieldReader*/ field; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotTypeOfPlaceholder.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotTypeOfPlaceholder.java index 6c01a486f..78abcc042 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotTypeOfPlaceholder.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/NotTypeOfPlaceholder.java @@ -34,10 +34,9 @@ import org.apache.drill.exec.expr.holders.IntHolder; * which will replace this function with the real OJAI equivalent to be pushed down. * Therefore, there's no implementation here. */ -@FunctionTemplate( - name="ojai_nottypeof", - scope=FunctionTemplate.FunctionScope.SIMPLE, - nulls=FunctionTemplate.NullHandling.INTERNAL) +@FunctionTemplate(name = "ojai_nottypeof", + scope = FunctionTemplate.FunctionScope.SIMPLE, + nulls = FunctionTemplate.NullHandling.INTERNAL) public class NotTypeOfPlaceholder implements DrillSimpleFunc { @Param BigIntHolder /*FieldReader*/ field; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/SizeOfPlaceholder.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/SizeOfPlaceholder.java index 7d7150c4f..8fcfee874 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/SizeOfPlaceholder.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/SizeOfPlaceholder.java @@ -34,10 +34,9 @@ import org.apache.drill.exec.expr.holders.VarCharHolder; * which will replace this function with the real OJAI equivalent to be pushed down. * Therefore, there's no implementation here. */ -@FunctionTemplate( - name="ojai_sizeof", - scope=FunctionTemplate.FunctionScope.SIMPLE, - nulls=FunctionTemplate.NullHandling.INTERNAL) +@FunctionTemplate(name = "ojai_sizeof", + scope = FunctionTemplate.FunctionScope.SIMPLE, + nulls = FunctionTemplate.NullHandling.INTERNAL) public class SizeOfPlaceholder implements DrillSimpleFunc { @Param BigIntHolder /*FieldReader*/ field; diff --git a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/TypeOfPlaceholder.java b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/TypeOfPlaceholder.java index 1d1efc030..585404fdb 100644 --- a/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/TypeOfPlaceholder.java +++ b/contrib/format-maprdb/src/main/java/org/apache/drill/exec/udf/mapr/db/TypeOfPlaceholder.java @@ -34,10 +34,9 @@ import org.apache.drill.exec.expr.holders.IntHolder; * which will replace this function with the real OJAI equivalent to be pushed down. * Therefore, there's no implementation here. */ -@FunctionTemplate( - name="ojai_typeof", - scope=FunctionTemplate.FunctionScope.SIMPLE, - nulls=FunctionTemplate.NullHandling.INTERNAL) +@FunctionTemplate(name = "ojai_typeof", + scope = FunctionTemplate.FunctionScope.SIMPLE, + nulls = FunctionTemplate.NullHandling.INTERNAL) public class TypeOfPlaceholder implements DrillSimpleFunc { @Param BigIntHolder /*FieldReader*/ field; |