@Override public String toString() { return "{type=period, " + "period=" + getPeriod() + ", timeZone=" + getTimeZone() + ", origin=" + getOrigin() + '}'; }
@Override public void serialize(JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { // Retain the same behavior as before #3850. // i.e. when Granularity class was an enum. if (GranularityType.isStandard(this)) { jsonGenerator.writeString(GranularityType.fromPeriod(getPeriod()).toString()); } else { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("type", "period"); jsonGenerator.writeObjectField("period", getPeriod()); jsonGenerator.writeObjectField("timeZone", getTimeZone()); jsonGenerator.writeObjectField("origin", getOrigin()); jsonGenerator.writeEndObject(); } }
@Override public byte[] getCacheKey() { return StringUtils.toUtf8(getPeriod() + ":" + getTimeZone() + ":" + getOrigin()); }
public TimestampShiftExpr(final List<Expr> args) { final PeriodGranularity granularity = getGranularity(args, ExprUtils.nilBindings()); arg = args.get(0); period = granularity.getPeriod(); chronology = ISOChronology.getInstance(granularity.getTimeZone()); step = getStep(args, ExprUtils.nilBindings()); }
@Nonnull @Override public ExprEval eval(final ObjectBinding bindings) { final PeriodGranularity granularity = getGranularity(args, bindings); final Period period = granularity.getPeriod(); final Chronology chronology = ISOChronology.getInstance(granularity.getTimeZone()); final int step = getStep(args, bindings); return ExprEval.of(chronology.add(period, args.get(0).eval(bindings).asLong(), step)); }
if (granularity.getPeriod().equals(Period.days(1))) { final TimestampFloorExprMacro.TimestampFloorExpr floorExpr = Expressions.asTimestampFloorExpr( input, if (Objects.equals(inputGranularity.getTimeZone(), granularity.getTimeZone()) && Objects.equals(inputGranularity.getOrigin(), granularity.getOrigin()) && periodIsDayMultiple(inputGranularity.getPeriod())) { return input; ImmutableList.of( input.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis()
.of( druidExpression.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis()
@Override public String toString() { return "{type=period, " + "period=" + getPeriod() + ", timeZone=" + getTimeZone() + ", origin=" + getOrigin() + '}'; }
@Override public void serialize( JsonGenerator jsonGenerator, SerializerProvider serializerProvider ) throws IOException, JsonProcessingException { // Retain the same behavior as before #3850. // i.e. when Granularity class was an enum. if (GranularityType.isStandard(this)) { jsonGenerator.writeString(GranularityType.fromPeriod(getPeriod()).toString()); } else { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("type", "period"); jsonGenerator.writeObjectField("period", getPeriod()); jsonGenerator.writeObjectField("timeZone", getTimeZone()); jsonGenerator.writeObjectField("origin", getOrigin()); jsonGenerator.writeEndObject(); } }
public TimestampShiftExpr(final List<Expr> args) { final PeriodGranularity granularity = getGranularity(args, ExprUtils.nilBindings()); arg = args.get(0); period = granularity.getPeriod(); chronology = ISOChronology.getInstance(granularity.getTimeZone()); step = getStep(args, ExprUtils.nilBindings()); }
@Nonnull @Override public ExprEval eval(final ObjectBinding bindings) { final PeriodGranularity granularity = getGranularity(args, bindings); final Period period = granularity.getPeriod(); final Chronology chronology = ISOChronology.getInstance(granularity.getTimeZone()); final int step = getStep(args, bindings); return ExprEval.of(chronology.add(period, args.get(0).eval(bindings).asLong(), step)); }
if (granularity.getPeriod().equals(Period.days(1))) { final TimestampFloorExprMacro.TimestampFloorExpr floorExpr = Expressions.asTimestampFloorExpr( input, if (Objects.equals(inputGranularity.getTimeZone(), granularity.getTimeZone()) && Objects.equals(inputGranularity.getOrigin(), granularity.getOrigin()) && periodIsDayMultiple(inputGranularity.getPeriod())) { return input; ImmutableList.of( input.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis()
@Override public byte[] getCacheKey() { return StringUtils.toUtf8(getPeriod().toString() + ":" + getTimeZone().toString() + ":" + getOrigin()); }
Arrays.asList( druidExpression.getExpression(), DruidExpression.stringLiteral(granularity.getPeriod().toString()), DruidExpression.numberLiteral( granularity.getOrigin() == null ? null : granularity.getOrigin().getMillis()