PHOENIX-2433 - support additional time units - addendum
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/298a8a11 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/298a8a11 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/298a8a11 Branch: refs/heads/master Commit: 298a8a111813d852ccd96d30e9850bee8f699c4e Parents: b4641f2 Author: ravimagham <[email protected]> Authored: Wed Jan 13 09:23:46 2016 -0800 Committer: ravimagham <[email protected]> Committed: Wed Jan 13 09:23:46 2016 -0800 ---------------------------------------------------------------------- .../expression/function/RoundDateExpression.java | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/298a8a11/phoenix-core/src/main/java/org/apache/phoenix/expression/function/RoundDateExpression.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/RoundDateExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/RoundDateExpression.java index b0b4f99..132bb51 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/RoundDateExpression.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/RoundDateExpression.java @@ -58,7 +58,6 @@ import com.google.common.collect.Lists; public class RoundDateExpression extends ScalarFunction { long divBy; - protected TimeUnit timeUnit; public static final String NAME = "ROUND"; @@ -126,7 +125,7 @@ public class RoundDateExpression extends ScalarFunction { Object timeUnitValue = ((LiteralExpression)children.get(1)).getValue(); Object multiplierValue = numChildren > 2 ? ((LiteralExpression)children.get(2)).getValue() : null; int multiplier = multiplierValue == null ? 1 :((Number)multiplierValue).intValue(); - timeUnit = TimeUnit.getTimeUnit(timeUnitValue != null ? timeUnitValue.toString() : null); + TimeUnit timeUnit = TimeUnit.getTimeUnit(timeUnitValue != null ? timeUnitValue.toString() : null); if(timeUnit.ordinal() < TIME_UNIT_MS.length) { divBy = multiplier * TIME_UNIT_MS[timeUnit.ordinal()]; } @@ -189,19 +188,12 @@ public class RoundDateExpression extends ScalarFunction { public void readFields(DataInput input) throws IOException { super.readFields(input); divBy = WritableUtils.readVLong(input); - if(divBy < 0) { - divBy = -(divBy + 1); - String tunit = WritableUtils.readString(input); - timeUnit = TimeUnit.valueOf(tunit); - } - } + } @Override public void write(DataOutput output) throws IOException { super.write(output); - // Negating the divBy is done to avoid breaking backward compatibility. refer PHOENIX-2433. - WritableUtils.writeVLong(output, -(divBy + 1)); - WritableUtils.writeString(output, timeUnit.name()); + WritableUtils.writeVLong(output, divBy); } @Override
