@Override public Void visitIntConstant(IntExpression e, Void v) { ref.value = new Integer(e.getInt()); return null; } }, null);
@Override public Void visitIntConstant(IntExpression intExpr, StringBuilder sb) throws RuntimeException { sb.append(intExpr.getInt()); return null; }
@Override public Void visitIntConstant(IntExpression e, Void v) { ref.value = new Long(e.getInt()); return null; }
this.value = KeyValueBuilder.initFrom(((IntExpression)valueArg).getInt()); this.path = path; return true;
@Override public TypeProtos.MajorType getType(List<LogicalExpression> logicalExpressions, FunctionAttributes attributes) { TypeProtos.DataMode mode = attributes.getReturnValue().getType().getMode(); int scale = 0; int precision = 0; if (attributes.getNullHandling() == FunctionTemplate.NullHandling.NULL_IF_NULL) { // if any one of the input types is nullable, then return nullable return type for (LogicalExpression e : logicalExpressions) { precision = Math.max(precision, e.getMajorType().getPrecision()); if (e.getMajorType().getMode() == TypeProtos.DataMode.OPTIONAL) { mode = TypeProtos.DataMode.OPTIONAL; } } // Used by functions like round, truncate which specify the scale for the output as the second argument assert (logicalExpressions.size() == 2) && (logicalExpressions.get(1) instanceof ValueExpressions.IntExpression); // Get the scale from the second argument which should be a constant scale = ((ValueExpressions.IntExpression) logicalExpressions.get(1)).getInt(); } return TypeProtos.MajorType.newBuilder() .setMinorType(attributes.getReturnValue().getType().getMinorType()) .setScale(Math.max(scale, 0)) .setPrecision(precision) .setMode(mode) .build(); } }
/** * Defines function return type and sets precision if it pad length parameter is int expression. * If pad length is less than zero, return type precision is 0. * * @param logicalExpressions logical expressions * @param attributes function attributes * @return return type */ @Override public TypeProtos.MajorType getType(List<LogicalExpression> logicalExpressions, FunctionAttributes attributes) { TypeProtos.MajorType.Builder builder = TypeProtos.MajorType.newBuilder() .setMinorType(attributes.getReturnValue().getType().getMinorType()) .setMode(FunctionUtils.getReturnTypeDataMode(logicalExpressions, attributes)); if (logicalExpressions.get(1).iterator().hasNext() && logicalExpressions.get(1).iterator().next() instanceof ValueExpressions.IntExpression) { int precision = ((ValueExpressions.IntExpression) logicalExpressions.get(1).iterator().next()).getInt(); // if pad length is less than zero, output length is 0 builder.setPrecision(Math.max(precision, 0)); } return builder.build(); } }
@Override public TypeProtos.MajorType getType(List<LogicalExpression> logicalExpressions, FunctionAttributes attributes) { TypeProtos.DataMode mode = FunctionUtils.getReturnTypeDataMode(logicalExpressions, attributes); if (logicalExpressions.size() != 3) { StringBuilder err = new StringBuilder(); for (int i = 0; i < logicalExpressions.size(); i++) { err.append("arg").append(i).append(": ").append(logicalExpressions.get(i).getMajorType().getMinorType()); } throw new DrillRuntimeException("Decimal cast function invoked with incorrect arguments" + err); } int scale = ((ValueExpressions.IntExpression) logicalExpressions.get(logicalExpressions.size() - 1)).getInt(); int precision = ((ValueExpressions.IntExpression) logicalExpressions.get(logicalExpressions.size() - 2)).getInt(); return TypeProtos.MajorType.newBuilder() .setMinorType(attributes.getReturnValue().getType().getMinorType()) .setScale(scale) .setPrecision(precision) .setMode(mode) .build(); } }
@Override public ValueHolder visitIntConstant(ValueExpressions.IntExpression e, Integer inIndex) throws RuntimeException { return ValueHolderHelper.getIntHolder(e.getInt()); }
@Override public Void visitIntConstant(IntExpression e, Void v) { ref.value = new Long(e.getInt()); return null; }
@Override public Void visitIntConstant(IntExpression e, Void v) { ref.value = new Integer(e.getInt()); return null; } }, null);
@Override public Void visitIntConstant(IntExpression intExpr, StringBuilder sb) throws RuntimeException { sb.append(intExpr.getInt()); return null; }
@Override public LogicalExpression visitIntConstant(IntExpression intExpr, Void value) throws RuntimeException { return new IntExpression(intExpr.getInt(), intExpr.getPosition()); }
@Override public Statistics<T> visitIntConstant(ValueExpressions.IntExpression expr, Void value) throws RuntimeException { return getStatistics(expr.getInt()); }
private int numTilesFromExpression(LogicalExpression numTilesExpr) { if ((numTilesExpr instanceof ValueExpressions.IntExpression)) { int nt = ((ValueExpressions.IntExpression) numTilesExpr).getInt(); if (nt > 0) { return nt; } } throw UserException.functionError().message("NTILE only accepts positive integer argument").build(logger); }
@Override public HoldingContainer visitIntConstant(IntExpression e, ClassGenerator<?> generator) throws RuntimeException { return getHoldingContainer( generator, e.getMajorType(), buffer -> ValueHolderHelper.getIntHolder(e.getInt())); }
int offset = ((IntExpression) valueArg1).getInt(); prefixLength = ((IntExpression) valueArg2).getInt(); this.isRowKeyPrefixComparison = true; return visitRowKeyPrefixConvertExpression(e, prefixLength, valueArg); && (isEqualityFn || encodingType.startsWith("U"))) { bb = newByteBuf(4, encodingType.endsWith("_BE")); bb.writeInt(((IntExpression) valueArg).getInt()); if (encodingType.endsWith("_OBD")) { org.apache.hadoop.hbase.util.OrderedBytes.encodeInt32(br, ((IntExpression) valueArg).getInt(), Order.DESCENDING); this.sortOrderAscending = false; } else { org.apache.hadoop.hbase.util.OrderedBytes.encodeInt32(br, ((IntExpression) valueArg).getInt(), Order.ASCENDING);
this.value = KeyValueBuilder.initFrom(((IntExpression)valueArg).getInt()); this.path = path; return true;
val = ((IntExpression) valueArg).getInt();