You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by nd...@apache.org on 2014/12/18 01:11:57 UTC
[19/22] phoenix git commit: PHOENIX-1514 Break up PDataType Enum
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DecimalSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DecimalSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DecimalSumAggregator.java
index 2e564ab..4fa46b1 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DecimalSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DecimalSumAggregator.java
@@ -21,8 +21,9 @@ import java.math.BigDecimal;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.phoenix.schema.types.PDecimal;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.SizedUtil;
@@ -42,12 +43,12 @@ public class DecimalSumAggregator extends BaseAggregator {
super(sortOrder);
if (ptr != null) {
initBuffer();
- sum = (BigDecimal)PDataType.DECIMAL.toObject(ptr);
+ sum = (BigDecimal) PDecimal.INSTANCE.toObject(ptr);
}
}
private PDataType getInputDataType() {
- return PDataType.DECIMAL;
+ return PDecimal.INSTANCE;
}
private int getBufferLength() {
@@ -79,7 +80,7 @@ public class DecimalSumAggregator extends BaseAggregator {
@Override
public final PDataType getDataType() {
- return PDataType.DECIMAL;
+ return PDecimal.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctCountClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctCountClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctCountClientAggregator.java
index 9c8ec0a..9ef6cc0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctCountClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctCountClientAggregator.java
@@ -19,8 +19,9 @@ package org.apache.phoenix.expression.aggregator;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.phoenix.schema.types.PLong;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
/**
@@ -41,9 +42,9 @@ public class DistinctCountClientAggregator extends DistinctValueWithCountClientA
initBuffer();
}
if (cachedResult != null) {
- buffer = PDataType.LONG.toBytes(cachedResult);
+ buffer = PLong.INSTANCE.toBytes(cachedResult);
} else {
- buffer = PDataType.LONG.toBytes(this.valueVsCount.size());
+ buffer = PLong.INSTANCE.toBytes(this.valueVsCount.size());
}
ptr.set(buffer);
return true;
@@ -51,6 +52,6 @@ public class DistinctCountClientAggregator extends DistinctValueWithCountClientA
@Override
protected PDataType getResultDataType() {
- return PDataType.LONG;
+ return PLong.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueClientAggregator.java
index 2af99ca..d9d66d1 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueClientAggregator.java
@@ -19,8 +19,8 @@ package org.apache.phoenix.expression.aggregator;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
-import org.apache.phoenix.schema.PArrayDataType;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PArrayDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
index 56ca000..cea6d49 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountClientAggregator.java
@@ -31,7 +31,8 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.WritableUtils;
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.SingleKeyValueTuple;
import org.apache.phoenix.schema.tuple.Tuple;
@@ -111,7 +112,7 @@ public abstract class DistinctValueWithCountClientAggregator extends BaseAggrega
@Override
public PDataType getDataType() {
- return PDataType.VARBINARY;
+ return PVarbinary.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
index 3a1789b..ee9f7f2 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
@@ -27,7 +27,8 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.query.QueryServicesOptions;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ByteUtil;
@@ -138,7 +139,7 @@ public class DistinctValueWithCountServerAggregator extends BaseAggregator {
@Override
public final PDataType getDataType() {
- return PDataType.VARBINARY;
+ return PVarbinary.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DoubleSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DoubleSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DoubleSumAggregator.java
index 3e893e3..3f953e6 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DoubleSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DoubleSumAggregator.java
@@ -19,8 +19,9 @@ package org.apache.phoenix.expression.aggregator;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.phoenix.schema.types.PDouble;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.SizedUtil;
@@ -33,12 +34,12 @@ public class DoubleSumAggregator extends BaseAggregator {
super(sortOrder);
if (ptr != null) {
initBuffer();
- sum = PDataType.DOUBLE.getCodec().decodeDouble(ptr, sortOrder);
+ sum = PDouble.INSTANCE.getCodec().decodeDouble(ptr, sortOrder);
}
}
protected PDataType getInputDataType() {
- return PDataType.DOUBLE;
+ return PDouble.INSTANCE;
}
private void initBuffer() {
@@ -69,7 +70,7 @@ public class DoubleSumAggregator extends BaseAggregator {
@Override
public PDataType getDataType() {
- return PDataType.DOUBLE;
+ return PDouble.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueBaseClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueBaseClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueBaseClientAggregator.java
index 6dfca39..804c38e 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueBaseClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueBaseClientAggregator.java
@@ -27,7 +27,8 @@ import java.util.TreeMap;
import org.apache.hadoop.hbase.filter.BinaryComparator;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.util.Bytes.ByteArrayComparator;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.SingleKeyValueTuple;
import org.apache.phoenix.schema.tuple.Tuple;
@@ -142,7 +143,7 @@ public class FirstLastValueBaseClientAggregator extends BaseAggregator {
@Override
public PDataType getDataType() {
- return PDataType.VARBINARY;
+ return PVarbinary.INSTANCE;
}
public void init(int offset) {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueServerAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueServerAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueServerAggregator.java
index 5e51e07..273b890 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueServerAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/FirstLastValueServerAggregator.java
@@ -18,7 +18,8 @@
package org.apache.phoenix.expression.aggregator;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ByteUtil;
import org.apache.phoenix.util.SizedUtil;
@@ -188,7 +189,7 @@ public class FirstLastValueServerAggregator extends BaseAggregator {
@Override
public PDataType getDataType() {
- return PDataType.VARBINARY;
+ return PVarbinary.INSTANCE;
}
public void init(List<Expression> children, boolean isAscending, int offset) {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/IntSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/IntSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/IntSumAggregator.java
index 229bf56..ef62b27 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/IntSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/IntSumAggregator.java
@@ -17,8 +17,9 @@
*/
package org.apache.phoenix.expression.aggregator;
+import org.apache.phoenix.schema.types.PInteger;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
/**
*
@@ -35,7 +36,7 @@ public class IntSumAggregator extends NumberSumAggregator {
@Override
protected PDataType getInputDataType() {
- return PDataType.INTEGER;
+ return PInteger.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/LongSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/LongSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/LongSumAggregator.java
index a4d8fc6..4007bb4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/LongSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/LongSumAggregator.java
@@ -17,8 +17,9 @@
*/
package org.apache.phoenix.expression.aggregator;
+import org.apache.phoenix.schema.types.PLong;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
/**
*
@@ -35,6 +36,6 @@ public class LongSumAggregator extends NumberSumAggregator {
@Override
protected PDataType getInputDataType() {
- return PDataType.LONG;
+ return PLong.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/NumberSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/NumberSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/NumberSumAggregator.java
index 1179aa0..bfcecd1 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/NumberSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/NumberSumAggregator.java
@@ -19,8 +19,9 @@ package org.apache.phoenix.expression.aggregator;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.phoenix.schema.types.PLong;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.SizedUtil;
@@ -44,7 +45,7 @@ abstract public class NumberSumAggregator extends BaseAggregator {
this(sortOrder);
if (ptr != null) {
initBuffer();
- sum = PDataType.LONG.getCodec().decodeLong(ptr, sortOrder);
+ sum = PLong.INSTANCE.getCodec().decodeLong(ptr, sortOrder);
}
}
@@ -88,7 +89,7 @@ abstract public class NumberSumAggregator extends BaseAggregator {
@Override
public final PDataType getDataType() {
- return PDataType.LONG;
+ return PLong.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentRankClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentRankClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentRankClientAggregator.java
index 3bb9445..fceb162 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentRankClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentRankClientAggregator.java
@@ -23,8 +23,9 @@ import java.util.Map.Entry;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.*;
+import org.apache.phoenix.schema.types.PDecimal;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
/**
@@ -70,13 +71,13 @@ public class PercentRankClientAggregator extends DistinctValueWithCountClientAgg
if (buffer == null) {
initBuffer();
}
- buffer = PDataType.DECIMAL.toBytes(this.cachedResult);
+ buffer = PDecimal.INSTANCE.toBytes(this.cachedResult);
ptr.set(buffer);
return true;
}
@Override
protected PDataType getResultDataType() {
- return PDataType.DECIMAL;
+ return PDecimal.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileClientAggregator.java
index fb50fea..82807e7 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileClientAggregator.java
@@ -23,8 +23,9 @@ import java.util.Map.Entry;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.*;
+import org.apache.phoenix.schema.types.PDecimal;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
/**
@@ -88,13 +89,13 @@ public class PercentileClientAggregator extends DistinctValueWithCountClientAggr
if (buffer == null) {
initBuffer();
}
- buffer = PDataType.DECIMAL.toBytes(this.cachedResult);
+ buffer = PDecimal.INSTANCE.toBytes(this.cachedResult);
ptr.set(buffer);
return true;
}
@Override
protected PDataType getResultDataType() {
- return PDataType.DECIMAL;
+ return PDecimal.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileDiscClientAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileDiscClientAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileDiscClientAggregator.java
index 84d9fff..54541e7 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileDiscClientAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/PercentileDiscClientAggregator.java
@@ -22,8 +22,9 @@ import java.util.Map.Entry;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.*;
+import org.apache.phoenix.schema.types.PDecimal;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
/**
@@ -89,7 +90,7 @@ public class PercentileDiscClientAggregator extends DistinctValueWithCountClient
@Override
protected int getBufferLength() {
// Will be used in the aggregate() call
- return PDataType.DECIMAL.getByteSize();
+ return PDecimal.INSTANCE.getByteSize();
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedIntSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedIntSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedIntSumAggregator.java
index 7768312..ed08cb2 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedIntSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedIntSumAggregator.java
@@ -17,8 +17,9 @@
*/
package org.apache.phoenix.expression.aggregator;
+import org.apache.phoenix.schema.types.PUnsignedInt;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
/**
*
@@ -35,7 +36,7 @@ public class UnsignedIntSumAggregator extends NumberSumAggregator {
@Override
protected PDataType getInputDataType() {
- return PDataType.UNSIGNED_INT;
+ return PUnsignedInt.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedLongSumAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedLongSumAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedLongSumAggregator.java
index aa811a8..3c474c6 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedLongSumAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/UnsignedLongSumAggregator.java
@@ -17,8 +17,9 @@
*/
package org.apache.phoenix.expression.aggregator;
+import org.apache.phoenix.schema.types.PUnsignedLong;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
/**
*
@@ -36,7 +37,7 @@ public class UnsignedLongSumAggregator extends NumberSumAggregator {
@Override
protected PDataType getInputDataType() {
- return PDataType.UNSIGNED_LONG;
+ return PUnsignedLong.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAllComparisonExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAllComparisonExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAllComparisonExpression.java
index 9acdadb..22d9f0e 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAllComparisonExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAllComparisonExpression.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
public class ArrayAllComparisonExpression extends ArrayAnyComparisonExpression {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAnyComparisonExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAnyComparisonExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAnyComparisonExpression.java
index dd85bb7..b57901b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAnyComparisonExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayAnyComparisonExpression.java
@@ -24,8 +24,9 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.phoenix.expression.BaseCompoundExpression;
import org.apache.phoenix.expression.ComparisonExpression;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PArrayDataType;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PArrayDataType;
+import org.apache.phoenix.schema.types.PBoolean;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
public class ArrayAnyComparisonExpression extends BaseCompoundExpression {
@@ -73,6 +74,6 @@ public class ArrayAnyComparisonExpression extends BaseCompoundExpression {
@Override
public PDataType getDataType() {
- return PDataType.BOOLEAN;
+ return PBoolean.INSTANCE;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayIndexFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayIndexFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayIndexFunction.java
index a1f8b6d..7a23ef5 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayIndexFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayIndexFunction.java
@@ -24,15 +24,18 @@ import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
import org.apache.phoenix.parse.ParseException;
-import org.apache.phoenix.schema.PArrayDataType;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PBinaryArray;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PArrayDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinaryArray;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
@BuiltInFunction(name = ArrayIndexFunction.NAME, args = {
- @Argument(allowedTypes = { PDataType.BINARY_ARRAY,
- PDataType.VARBINARY_ARRAY }),
- @Argument(allowedTypes = { PDataType.INTEGER }) })
+ @Argument(allowedTypes = { PBinaryArray.class,
+ PVarbinaryArray.class }),
+ @Argument(allowedTypes = { PInteger.class }) })
public class ArrayIndexFunction extends ScalarFunction {
public static final String NAME = "ARRAY_ELEM";
@@ -53,12 +56,13 @@ public class ArrayIndexFunction extends ScalarFunction {
return true;
}
// Use Codec to prevent Integer object allocation
- int index = PDataType.INTEGER.getCodec().decodeInt(ptr, indexExpr.getSortOrder());
+ int index = PInteger.INSTANCE.getCodec().decodeInt(ptr, indexExpr.getSortOrder());
if(index < 0) {
throw new ParseException("Index cannot be negative :" + index);
}
Expression arrayExpr = children.get(0);
- return PArrayDataType.positionAtArrayElement(tuple, ptr, index, arrayExpr, getDataType(), getMaxLength());
+ return PArrayDataType.positionAtArrayElement(tuple, ptr, index, arrayExpr, getDataType(),
+ getMaxLength());
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java
index 1988e9d..1c1c7df 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java
@@ -23,12 +23,15 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PArrayDataType;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PBinaryArray;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PArrayDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
import org.apache.phoenix.schema.tuple.Tuple;
@BuiltInFunction(name = ArrayLengthFunction.NAME, args = { @Argument(allowedTypes = {
- PDataType.BINARY_ARRAY, PDataType.VARBINARY_ARRAY }) })
+ PBinaryArray.class, PVarbinary.class }) })
public class ArrayLengthFunction extends ScalarFunction {
public static final String NAME = "ARRAY_LENGTH";
@@ -51,8 +54,8 @@ public class ArrayLengthFunction extends ScalarFunction {
.getSqlType()
- PDataType.ARRAY_TYPE_BASE);
int length = PArrayDataType.getArrayLength(ptr, baseType, arrayExpr.getMaxLength());
- byte[] lengthBuf = new byte[PDataType.INTEGER.getByteSize()];
- PDataType.INTEGER.getCodec().encodeInt(length, lengthBuf, 0);
+ byte[] lengthBuf = new byte[PInteger.INSTANCE.getByteSize()];
+ PInteger.INSTANCE.getCodec().encodeInt(length, lengthBuf, 0);
ptr.set(lengthBuf);
return true;
}
@@ -60,7 +63,7 @@ public class ArrayLengthFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
// Array length will return an Integer
- return PDataType.INTEGER;
+ return PInteger.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/AvgAggregateFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/AvgAggregateFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/AvgAggregateFunction.java
index db277a0..ccba14f 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/AvgAggregateFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/AvgAggregateFunction.java
@@ -26,12 +26,13 @@ import org.apache.phoenix.expression.LiteralExpression;
import org.apache.phoenix.parse.AvgAggregateParseNode;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDecimal;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
-@BuiltInFunction(name=AvgAggregateFunction.NAME, nodeClass=AvgAggregateParseNode.class, args= {@Argument(allowedTypes={PDataType.DECIMAL})} )
+@BuiltInFunction(name=AvgAggregateFunction.NAME, nodeClass=AvgAggregateParseNode.class, args= {@Argument(allowedTypes={PDecimal.class})} )
public class AvgAggregateFunction extends CompositeAggregateFunction {
public static final String NAME = "AVG";
private final CountAggregateFunction countFunc;
@@ -64,7 +65,7 @@ public class AvgAggregateFunction extends CompositeAggregateFunction {
@Override
public PDataType getDataType() {
- return PDataType.DECIMAL;
+ return PDecimal.INSTANCE;
}
@Override
@@ -80,17 +81,17 @@ public class AvgAggregateFunction extends CompositeAggregateFunction {
// Normal case where a column reference was used as the argument to AVG
if (!countFunc.isConstantExpression()) {
sumFunc.evaluate(tuple, ptr);
- BigDecimal sum = (BigDecimal)PDataType.DECIMAL.toObject(ptr, sumFunc.getDataType());
+ BigDecimal sum = (BigDecimal) PDecimal.INSTANCE.toObject(ptr, sumFunc.getDataType());
// For the final column projection, we divide the sum by the count, both coerced to BigDecimal.
// TODO: base the precision on column metadata instead of constant
BigDecimal avg = sum.divide(BigDecimal.valueOf(count), PDataType.DEFAULT_MATH_CONTEXT);
avg = avg.setScale(scale, BigDecimal.ROUND_DOWN);
- ptr.set(PDataType.DECIMAL.toBytes(avg));
+ ptr.set(PDecimal.INSTANCE.toBytes(avg));
return true;
}
BigDecimal value = (BigDecimal) ((LiteralExpression)countFunc.getChildren().get(0)).getValue();
value = value.setScale(scale, BigDecimal.ROUND_DOWN);
- ptr.set(PDataType.DECIMAL.toBytes(value));
+ ptr.set(PDecimal.INSTANCE.toBytes(value));
return true;
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDateExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDateExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDateExpression.java
index e5b2806..220b453 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDateExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDateExpression.java
@@ -25,7 +25,7 @@ import org.apache.phoenix.expression.Expression;
/**
*
- * Class encapsulating ceil operation on {@link org.apache.phoenix.schema.PDataType#DATE}.
+ * Class encapsulating ceil operation on {@link org.apache.phoenix.schema.types.PDataType#DATE}.
*
*
* @since 3.0.0
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDecimalExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDecimalExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDecimalExpression.java
index bd36d0f..208d5ee 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDecimalExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilDecimalExpression.java
@@ -24,19 +24,19 @@ import java.util.List;
import org.apache.phoenix.expression.Determinism;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.expression.LiteralExpression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDecimal;
import com.google.common.collect.Lists;
import java.math.BigDecimal;
import org.apache.phoenix.query.KeyRange;
-
-import static org.apache.phoenix.schema.PDataType.DECIMAL;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PLong;
/**
*
- * Class encapsulating the CEIL operation on a {@link org.apache.phoenix.schema.PDataType#DECIMAL}
+ * Class encapsulating the CEIL operation on a {@link org.apache.phoenix.schema.types.PDecimal}
*
*
* @since 3.0.0
@@ -54,21 +54,21 @@ public class CeilDecimalExpression extends RoundDecimalExpression {
*
*/
public static Expression create(Expression expr, int scale) throws SQLException {
- if (expr.getDataType().isCoercibleTo(PDataType.LONG)) {
+ if (expr.getDataType().isCoercibleTo(PLong.INSTANCE)) {
return expr;
}
- Expression scaleExpr = LiteralExpression.newConstant(scale, PDataType.INTEGER, Determinism.ALWAYS);
+ Expression scaleExpr = LiteralExpression.newConstant(scale, PInteger.INSTANCE, Determinism.ALWAYS);
List<Expression> expressions = Lists.newArrayList(expr, scaleExpr);
return new CeilDecimalExpression(expressions);
}
public static Expression create(List<Expression> exprs) throws SQLException {
Expression expr = exprs.get(0);
- if (expr.getDataType().isCoercibleTo(PDataType.LONG)) {
+ if (expr.getDataType().isCoercibleTo(PLong.INSTANCE)) {
return expr;
}
if (exprs.size() == 1) {
- Expression scaleExpr = LiteralExpression.newConstant(0, PDataType.INTEGER, Determinism.ALWAYS);
+ Expression scaleExpr = LiteralExpression.newConstant(0, PInteger.INSTANCE, Determinism.ALWAYS);
exprs = Lists.newArrayList(expr, scaleExpr);
}
return new CeilDecimalExpression(exprs);
@@ -101,8 +101,8 @@ public class CeilDecimalExpression extends RoundDecimalExpression {
throw new IllegalArgumentException("Cannot produce input range for decimal " + result
+ ", not enough precision with scale " + getRoundingScale());
}
- byte[] lowerRange = DECIMAL.toBytes(stepPrevInScale(result));
- byte[] upperRange = DECIMAL.toBytes(result);
+ byte[] lowerRange = PDecimal.INSTANCE.toBytes(stepPrevInScale(result));
+ byte[] upperRange = PDecimal.INSTANCE.toBytes(result);
return KeyRange.getKeyRange(lowerRange, false, upperRange, true);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilFunction.java
index 67d21a2..706aadf 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilFunction.java
@@ -23,7 +23,11 @@ import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.CeilParseNode;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDecimal;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PTimestamp;
+import org.apache.phoenix.schema.types.PVarchar;
+
/**
*
* Base class for built-in CEIL function.
@@ -34,9 +38,9 @@ import org.apache.phoenix.schema.PDataType;
@BuiltInFunction(name = CeilFunction.NAME,
nodeClass = CeilParseNode.class,
args = {
- @Argument(allowedTypes={PDataType.TIMESTAMP, PDataType.DECIMAL}),
- @Argument(allowedTypes={PDataType.VARCHAR, PDataType.INTEGER}, defaultValue = "null", isConstant=true),
- @Argument(allowedTypes={PDataType.INTEGER}, defaultValue="1", isConstant=true)
+ @Argument(allowedTypes={PTimestamp.class, PDecimal.class}),
+ @Argument(allowedTypes={PVarchar.class, PInteger.class}, defaultValue = "null", isConstant=true),
+ @Argument(allowedTypes={PInteger.class}, defaultValue="1", isConstant=true)
}
)
public abstract class CeilFunction extends ScalarFunction {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilTimestampExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilTimestampExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilTimestampExpression.java
index a22bdd2..c2d7daf 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilTimestampExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CeilTimestampExpression.java
@@ -27,14 +27,18 @@ import com.google.common.collect.Lists;
import org.apache.phoenix.expression.CoerceExpression;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.expression.LiteralExpression;
+import org.apache.phoenix.schema.types.PDate;
+import org.apache.phoenix.schema.types.PTimestamp;
+import org.apache.phoenix.schema.types.PUnsignedDate;
+import org.apache.phoenix.schema.types.PUnsignedTimestamp;
import org.apache.phoenix.schema.SortOrder;
-import org.apache.phoenix.schema.PDataType;
-import org.apache.phoenix.schema.PDataType.PDataCodec;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PDataType.PDataCodec;
import org.apache.phoenix.schema.tuple.Tuple;
/**
*
- * Class encapsulating the CEIL operation on {@link org.apache.phoenix.schema.PDataType#TIMESTAMP}
+ * Class encapsulating the CEIL operation on {@link org.apache.phoenix.schema.types.PTimestamp}
* This class only supports CEIL {@link TimeUnit#MILLISECOND}. If you want more options of CEIL like
* using {@link TimeUnit#HOUR} use {@link CeilDateExpression}
*
@@ -67,7 +71,8 @@ public class CeilTimestampExpression extends CeilDateExpression {
}
// Coerce TIMESTAMP to DATE, as the nanos has no affect
List<Expression> newChildren = Lists.newArrayListWithExpectedSize(children.size());
- newChildren.add(CoerceExpression.create(firstChild, firstChildDataType == PDataType.TIMESTAMP ? PDataType.DATE : PDataType.UNSIGNED_DATE));
+ newChildren.add(CoerceExpression.create(firstChild, firstChildDataType == PTimestamp.INSTANCE ?
+ PDate.INSTANCE : PUnsignedDate.INSTANCE));
newChildren.addAll(children.subList(1, children.size()));
return CeilDateExpression.create(newChildren);
}
@@ -82,10 +87,10 @@ public class CeilTimestampExpression extends CeilDateExpression {
@Override
protected PDataCodec getKeyRangeCodec(PDataType columnDataType) {
- return columnDataType == PDataType.TIMESTAMP
- ? PDataType.DATE.getCodec()
- : columnDataType == PDataType.UNSIGNED_TIMESTAMP
- ? PDataType.UNSIGNED_DATE.getCodec()
+ return columnDataType == PTimestamp.INSTANCE
+ ? PDate.INSTANCE.getCodec()
+ : columnDataType == PUnsignedTimestamp.INSTANCE
+ ? PUnsignedDate.INSTANCE.getCodec()
: super.getKeyRangeCodec(columnDataType);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CoalesceFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CoalesceFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CoalesceFunction.java
index 4c6d3a2..773120a 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CoalesceFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CoalesceFunction.java
@@ -28,7 +28,7 @@ import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ExpressionUtil;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ConvertTimezoneFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ConvertTimezoneFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ConvertTimezoneFunction.java
index b8e5edb..dcde31f 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ConvertTimezoneFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ConvertTimezoneFunction.java
@@ -26,7 +26,9 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode;
import org.apache.phoenix.schema.IllegalDataException;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PDate;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.tuple.Tuple;
/**
@@ -35,9 +37,9 @@ import org.apache.phoenix.schema.tuple.Tuple;
*
*/
@FunctionParseNode.BuiltInFunction(name = ConvertTimezoneFunction.NAME, args = {
- @FunctionParseNode.Argument(allowedTypes = {PDataType.DATE}),
- @FunctionParseNode.Argument(allowedTypes = {PDataType.VARCHAR}),
- @FunctionParseNode.Argument(allowedTypes = {PDataType.VARCHAR})})
+ @FunctionParseNode.Argument(allowedTypes = { PDate.class }),
+ @FunctionParseNode.Argument(allowedTypes = { PVarchar.class }),
+ @FunctionParseNode.Argument(allowedTypes = { PVarchar.class })})
public class ConvertTimezoneFunction extends ScalarFunction {
public static final String NAME = "CONVERT_TZ";
@@ -61,7 +63,7 @@ public class ConvertTimezoneFunction extends ScalarFunction {
return false;
}
- Date dateo = (Date) PDataType.DATE.toObject(ptr, children.get(0).getSortOrder());
+ Date dateo = (Date) PDate.INSTANCE.toObject(ptr, children.get(0).getSortOrder());
Long date = dateo.getTime();
if (!children.get(1).evaluate(tuple, ptr)) {
@@ -77,7 +79,7 @@ public class ConvertTimezoneFunction extends ScalarFunction {
long dateInUtc = date - timezoneFrom.getOffset(date);
long dateInTo = dateInUtc + timezoneTo.getOffset(dateInUtc);
- ptr.set(PDataType.DATE.toBytes(new Date(dateInTo)));
+ ptr.set(PDate.INSTANCE.toBytes(new Date(dateInTo)));
return true;
}
@@ -96,6 +98,6 @@ public class ConvertTimezoneFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
- return PDataType.DATE;
+ return PDate.INSTANCE;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CountAggregateFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CountAggregateFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CountAggregateFunction.java
index f1e8ab5..6eef42d 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CountAggregateFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CountAggregateFunction.java
@@ -30,7 +30,8 @@ import org.apache.phoenix.expression.aggregator.CountAggregator;
import org.apache.phoenix.expression.aggregator.LongSumAggregator;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PLong;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.util.SchemaUtil;
@@ -79,7 +80,7 @@ public class CountAggregateFunction extends SingleAggregateFunction {
@Override
public PDataType getDataType() {
- return PDataType.LONG;
+ return PLong.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentDateFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentDateFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentDateFunction.java
index 1ef48e9..57b82e4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentDateFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentDateFunction.java
@@ -22,7 +22,8 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.CurrentDateTimeFunction;
import org.apache.phoenix.parse.CurrentDateParseNode;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDate;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
@@ -39,7 +40,7 @@ import org.apache.phoenix.schema.tuple.Tuple;
@BuiltInFunction(name=CurrentDateFunction.NAME, nodeClass=CurrentDateParseNode.class, args= {} )
public class CurrentDateFunction extends CurrentDateTimeFunction {
public static final String NAME = "CURRENT_DATE";
- private final ImmutableBytesWritable currentDate = new ImmutableBytesWritable(new byte[PDataType.DATE.getByteSize()]);
+ private final ImmutableBytesWritable currentDate = new ImmutableBytesWritable(new byte[PDate.INSTANCE.getByteSize()]);
public CurrentDateFunction() {
this(System.currentTimeMillis());
@@ -51,13 +52,13 @@ public class CurrentDateFunction extends CurrentDateTimeFunction {
@Override
public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) {
- ptr.set(currentDate.get(), 0, PDataType.DATE.getByteSize());
+ ptr.set(currentDate.get(), 0, PDate.INSTANCE.getByteSize());
return true;
}
@Override
public final PDataType getDataType() {
- return PDataType.DATE;
+ return PDate.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentTimeFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentTimeFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentTimeFunction.java
index ab59609..12abb3b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentTimeFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/CurrentTimeFunction.java
@@ -22,7 +22,8 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.CurrentDateTimeFunction;
import org.apache.phoenix.parse.CurrentTimeParseNode;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PTime;
import org.apache.phoenix.schema.tuple.Tuple;
@@ -39,7 +40,7 @@ import org.apache.phoenix.schema.tuple.Tuple;
@BuiltInFunction(name=CurrentTimeFunction.NAME, nodeClass=CurrentTimeParseNode.class, args={} )
public class CurrentTimeFunction extends CurrentDateTimeFunction {
public static final String NAME = "CURRENT_TIME";
- private final ImmutableBytesWritable currentDate = new ImmutableBytesWritable(new byte[PDataType.TIME.getByteSize()]);
+ private final ImmutableBytesWritable currentDate = new ImmutableBytesWritable(new byte[PTime.INSTANCE.getByteSize()]);
public CurrentTimeFunction() {
this(System.currentTimeMillis());
@@ -51,13 +52,13 @@ public class CurrentTimeFunction extends CurrentDateTimeFunction {
@Override
public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) {
- ptr.set(currentDate.get(), 0, PDataType.TIME.getByteSize());
+ ptr.set(currentDate.get(), 0, PTime.INSTANCE.getByteSize());
return true;
}
@Override
public final PDataType getDataType() {
- return PDataType.TIME;
+ return PTime.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DecodeFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DecodeFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DecodeFunction.java
index 2107ab9..7b6ef38 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DecodeFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DecodeFunction.java
@@ -26,14 +26,16 @@ import org.apache.phoenix.exception.SQLExceptionInfo;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode;
import org.apache.phoenix.schema.IllegalDataException;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.tuple.Tuple;
/**
* Convert string to bytes
*/
@FunctionParseNode.BuiltInFunction(name = DecodeFunction.NAME, args = {
- @FunctionParseNode.Argument(allowedTypes = {PDataType.VARCHAR}),
+ @FunctionParseNode.Argument(allowedTypes = { PVarchar.class }),
@FunctionParseNode.Argument(enumeration = "EncodeFormat")})
public class DecodeFunction extends ScalarFunction {
@@ -105,7 +107,7 @@ public class DecodeFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
- return PDataType.VARBINARY;
+ return PVarbinary.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DelegateConstantToCountAggregateFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DelegateConstantToCountAggregateFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DelegateConstantToCountAggregateFunction.java
index 9c4700e..e6532c6 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DelegateConstantToCountAggregateFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DelegateConstantToCountAggregateFunction.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PLong;
import org.apache.phoenix.schema.tuple.Tuple;
@@ -36,7 +36,7 @@ import org.apache.phoenix.schema.tuple.Tuple;
* @since 0.1
*/
abstract public class DelegateConstantToCountAggregateFunction extends SingleAggregateFunction {
- private static final ImmutableBytesWritable ZERO = new ImmutableBytesWritable(PDataType.LONG.toBytes(0L));
+ private static final ImmutableBytesWritable ZERO = new ImmutableBytesWritable(PLong.INSTANCE.toBytes(0L));
private CountAggregateFunction delegate;
public DelegateConstantToCountAggregateFunction() {
@@ -58,7 +58,7 @@ abstract public class DelegateConstantToCountAggregateFunction extends SingleAgg
return super.evaluate(tuple, ptr);
}
delegate.evaluate(tuple, ptr);
- if (PDataType.LONG.compareTo(ptr,ZERO) == 0) {
+ if (PLong.INSTANCE.compareTo(ptr,ZERO) == 0) {
return false;
}
return true;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctCountAggregateFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctCountAggregateFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctCountAggregateFunction.java
index a17eee5..6ce3c27 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctCountAggregateFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctCountAggregateFunction.java
@@ -28,7 +28,8 @@ import org.apache.phoenix.expression.aggregator.DistinctCountClientAggregator;
import org.apache.phoenix.expression.aggregator.DistinctValueWithCountServerAggregator;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PLong;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.SchemaUtil;
@@ -44,8 +45,8 @@ import org.apache.phoenix.util.SchemaUtil;
public class DistinctCountAggregateFunction extends DelegateConstantToCountAggregateFunction {
public static final String NAME = "DISTINCT_COUNT";
public static final String NORMALIZED_NAME = SchemaUtil.normalizeIdentifier(NAME);
- public final static byte[] ZERO = PDataType.LONG.toBytes(0L);
- public final static byte[] ONE = PDataType.LONG.toBytes(1L);
+ public final static byte[] ZERO = PLong.INSTANCE.toBytes(0L);
+ public final static byte[] ONE = PLong.INSTANCE.toBytes(1L);
public DistinctCountAggregateFunction() {
}
@@ -84,7 +85,7 @@ public class DistinctCountAggregateFunction extends DelegateConstantToCountAggre
@Override
public PDataType getDataType() {
- return PDataType.LONG;
+ return PLong.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctValueAggregateFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctValueAggregateFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctValueAggregateFunction.java
index 6877409..a48e523 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctValueAggregateFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/DistinctValueAggregateFunction.java
@@ -27,7 +27,8 @@ import org.apache.phoenix.expression.aggregator.DistinctValueWithCountClientAggr
import org.apache.phoenix.expression.aggregator.DistinctValueWithCountServerAggregator;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarbinary;
@BuiltInFunction(name=DistinctValueAggregateFunction.NAME, args= {@Argument()} )
public class DistinctValueAggregateFunction extends DistinctValueWithCountAggregateFunction {
@@ -47,7 +48,8 @@ public class DistinctValueAggregateFunction extends DistinctValueWithCountAggreg
@Override
public DistinctValueWithCountClientAggregator newClientAggregator() {
- PDataType baseType = getAggregatorExpression().getDataType().isArrayType() ? PDataType.VARBINARY : getAggregatorExpression().getDataType();
+ PDataType baseType = getAggregatorExpression().getDataType().isArrayType() ?
+ PVarbinary.INSTANCE : getAggregatorExpression().getDataType();
PDataType resultType = PDataType.fromTypeId(baseType.getSqlType() + PDataType.ARRAY_TYPE_BASE);
return new DistinctValueClientAggregator(getAggregatorExpression().getSortOrder(), baseType, resultType);
}
@@ -59,7 +61,7 @@ public class DistinctValueAggregateFunction extends DistinctValueWithCountAggreg
@Override
public PDataType getDataType() {
- PDataType baseType = getAggregatorExpression().getDataType().isArrayType() ? PDataType.VARBINARY : getAggregatorExpression().getDataType();
+ PDataType baseType = getAggregatorExpression().getDataType().isArrayType() ? PVarbinary.INSTANCE : getAggregatorExpression().getDataType();
return PDataType.fromTypeId(baseType.getSqlType() + PDataType.ARRAY_TYPE_BASE);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/EncodeFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/EncodeFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/EncodeFunction.java
index 8a0f9e1..ebb4953 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/EncodeFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/EncodeFunction.java
@@ -23,7 +23,9 @@ import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
import org.apache.phoenix.schema.IllegalDataException;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PLong;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.Base62Encoder;
@@ -32,7 +34,7 @@ import org.apache.phoenix.util.Base62Encoder;
*
* Converts the given base 10 number to a base 62 number and returns a string representing the number.
*/
-@BuiltInFunction(name = EncodeFunction.NAME, args = { @Argument(allowedTypes = { PDataType.LONG }),
+@BuiltInFunction(name = EncodeFunction.NAME, args = { @Argument(allowedTypes = { PLong.class }),
@Argument(enumeration = "EncodeFormat") })
public class EncodeFunction extends ScalarFunction {
public static final String NAME = "ENCODE";
@@ -67,7 +69,7 @@ public class EncodeFunction extends ScalarFunction {
switch (format) {
case BASE62:
String encodedString = Base62Encoder.toString(num);
- ptr.set(PDataType.VARCHAR.toBytes(encodedString));
+ ptr.set(PVarchar.INSTANCE.toBytes(encodedString));
break;
default:
throw new IllegalDataException(getUnsupportedEncodeFormatMsg(encodingFormat));
@@ -85,7 +87,7 @@ public class EncodeFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
- return PDataType.VARCHAR;
+ return PVarchar.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ExternalSqlTypeIdFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ExternalSqlTypeIdFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ExternalSqlTypeIdFunction.java
index ba8a875..f510181 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ExternalSqlTypeIdFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ExternalSqlTypeIdFunction.java
@@ -22,7 +22,8 @@ import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
import org.apache.phoenix.schema.IllegalDataException;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ByteUtil;
@@ -44,7 +45,7 @@ import java.util.List;
* @since 3.0
*/
@BuiltInFunction(name=ExternalSqlTypeIdFunction.NAME, args= {
- @Argument(allowedTypes=PDataType.INTEGER)} )
+ @Argument(allowedTypes= PInteger.class )} )
public class ExternalSqlTypeIdFunction extends ScalarFunction {
public static final String NAME = "ExternalSqlTypeId";
@@ -66,8 +67,8 @@ public class ExternalSqlTypeIdFunction extends ScalarFunction {
}
int sqlType = child.getDataType().getCodec().decodeInt(ptr, child.getSortOrder());
try {
- byte[] externalIdTypeBytes = PDataType.INTEGER.toBytes(
- PDataType.fromTypeId(sqlType).getResultSetSqlType());
+ byte[] externalIdTypeBytes = PInteger.INSTANCE.toBytes(
+ PDataType.fromTypeId(sqlType).getResultSetSqlType());
ptr.set(externalIdTypeBytes);
} catch (IllegalDataException e) {
ptr.set(ByteUtil.EMPTY_BYTE_ARRAY);
@@ -77,7 +78,7 @@ public class ExternalSqlTypeIdFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
- return PDataType.INTEGER;
+ return PInteger.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstLastValueBaseFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstLastValueBaseFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstLastValueBaseFunction.java
index 0c14c18..5b2c8a1 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstLastValueBaseFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstLastValueBaseFunction.java
@@ -20,7 +20,7 @@ package org.apache.phoenix.expression.function;
import java.util.List;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
/**
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstValueFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstValueFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstValueFunction.java
index ef01534..df9d26b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstValueFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FirstValueFunction.java
@@ -26,7 +26,7 @@ import org.apache.phoenix.expression.aggregator.FirstLastValueBaseClientAggregat
import org.apache.phoenix.expression.aggregator.FirstLastValueServerAggregator;
import org.apache.phoenix.parse.FirstValueAggregateParseNode;
import org.apache.phoenix.parse.FunctionParseNode;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PBoolean;
/**
* Built-in function for FIRST_VALUE(<expression>) WITHIN GROUP (ORDER BY <expression> ASC/DESC) aggregate
@@ -35,7 +35,7 @@ import org.apache.phoenix.schema.PDataType;
*/
@FunctionParseNode.BuiltInFunction(name = FirstValueFunction.NAME, nodeClass = FirstValueAggregateParseNode.class, args = {
@FunctionParseNode.Argument(),
- @FunctionParseNode.Argument(allowedTypes = {PDataType.BOOLEAN}, isConstant = true),
+ @FunctionParseNode.Argument(allowedTypes = { PBoolean.class }, isConstant = true),
@FunctionParseNode.Argument()})
public class FirstValueFunction extends FirstLastValueBaseFunction {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDateExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDateExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDateExpression.java
index ab4e554..e3d0543 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDateExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDateExpression.java
@@ -23,12 +23,16 @@ import java.util.List;
import com.google.common.collect.Lists;
import org.apache.phoenix.expression.CoerceExpression;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDate;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PTimestamp;
+import org.apache.phoenix.schema.types.PUnsignedDate;
+import org.apache.phoenix.schema.types.PUnsignedTimestamp;
/**
*
* Class encapsulating the FLOOR operation on
- * a column/literal of type {@link org.apache.phoenix.schema.PDataType#DATE}.
+ * a column/literal of type {@link org.apache.phoenix.schema.types.PDate}.
*
*
* @since 3.0.0
@@ -44,10 +48,10 @@ public class FloorDateExpression extends RoundDateExpression {
public static Expression create(List<Expression> children) throws SQLException {
Expression firstChild = children.get(0);
PDataType firstChildDataType = firstChild.getDataType();
- if (firstChildDataType == PDataType.TIMESTAMP || firstChildDataType == PDataType.UNSIGNED_TIMESTAMP){
+ if (firstChildDataType == PTimestamp.INSTANCE || firstChildDataType == PUnsignedTimestamp.INSTANCE){
// Coerce TIMESTAMP to DATE, as the nanos has no affect
List<Expression> newChildren = Lists.newArrayListWithExpectedSize(children.size());
- newChildren.add(CoerceExpression.create(firstChild, firstChildDataType == PDataType.TIMESTAMP ? PDataType.DATE : PDataType.UNSIGNED_DATE));
+ newChildren.add(CoerceExpression.create(firstChild, firstChildDataType == PTimestamp.INSTANCE ? PDate.INSTANCE : PUnsignedDate.INSTANCE));
newChildren.addAll(children.subList(1, children.size()));
children = newChildren;
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDecimalExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDecimalExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDecimalExpression.java
index 037fcc5..2d81c2e 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDecimalExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorDecimalExpression.java
@@ -24,20 +24,20 @@ import java.util.List;
import org.apache.phoenix.expression.Determinism;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.expression.LiteralExpression;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDecimal;
import com.google.common.collect.Lists;
import java.math.BigDecimal;
import org.apache.phoenix.query.KeyRange;
-
-import static org.apache.phoenix.schema.PDataType.DECIMAL;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PLong;
/**
*
* Class encapsulating the FLOOR operation on
- * a column/literal of type {@link org.apache.phoenix.schema.PDataType#DECIMAL}.
+ * a column/literal of type {@link org.apache.phoenix.schema.types.PDecimal}.
*
*
* @since 3.0.0
@@ -55,21 +55,21 @@ public class FloorDecimalExpression extends RoundDecimalExpression {
*
*/
public static Expression create(Expression expr, int scale) throws SQLException {
- if (expr.getDataType().isCoercibleTo(PDataType.LONG)) {
+ if (expr.getDataType().isCoercibleTo(PLong.INSTANCE)) {
return expr;
}
- Expression scaleExpr = LiteralExpression.newConstant(scale, PDataType.INTEGER, Determinism.ALWAYS);
+ Expression scaleExpr = LiteralExpression.newConstant(scale, PInteger.INSTANCE, Determinism.ALWAYS);
List<Expression> expressions = Lists.newArrayList(expr, scaleExpr);
return new FloorDecimalExpression(expressions);
}
public static Expression create(List<Expression> exprs) throws SQLException {
Expression expr = exprs.get(0);
- if (expr.getDataType().isCoercibleTo(PDataType.LONG)) {
+ if (expr.getDataType().isCoercibleTo(PLong.INSTANCE)) {
return expr;
}
if (exprs.size() == 1) {
- Expression scaleExpr = LiteralExpression.newConstant(0, PDataType.INTEGER, Determinism.ALWAYS);
+ Expression scaleExpr = LiteralExpression.newConstant(0, PInteger.INSTANCE, Determinism.ALWAYS);
exprs = Lists.newArrayList(expr, scaleExpr);
}
return new FloorDecimalExpression(exprs);
@@ -102,8 +102,8 @@ public class FloorDecimalExpression extends RoundDecimalExpression {
throw new IllegalArgumentException("Cannot produce input range for decimal " + result
+ ", not enough precision with scale " + getRoundingScale());
}
- byte[] lowerRange = DECIMAL.toBytes(result);
- byte[] upperRange = DECIMAL.toBytes(stepNextInScale(result));
+ byte[] lowerRange = PDecimal.INSTANCE.toBytes(result);
+ byte[] upperRange = PDecimal.INSTANCE.toBytes(stepNextInScale(result));
return KeyRange.getKeyRange(lowerRange, upperRange);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorFunction.java
index a177068..7938324 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/FloorFunction.java
@@ -23,7 +23,11 @@ import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FloorParseNode;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDecimal;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PTimestamp;
+import org.apache.phoenix.schema.types.PVarchar;
+
/**
*
* Base class for built-in FLOOR function.
@@ -34,9 +38,9 @@ import org.apache.phoenix.schema.PDataType;
@BuiltInFunction(name = FloorFunction.NAME,
nodeClass = FloorParseNode.class,
args = {
- @Argument(allowedTypes={PDataType.TIMESTAMP, PDataType.DECIMAL}),
- @Argument(allowedTypes={PDataType.VARCHAR, PDataType.INTEGER}, defaultValue = "null", isConstant=true),
- @Argument(allowedTypes={PDataType.INTEGER}, defaultValue="1", isConstant=true)
+ @Argument(allowedTypes={PTimestamp.class, PDecimal.class}),
+ @Argument(allowedTypes={PVarchar.class, PInteger.class}, defaultValue = "null", isConstant=true),
+ @Argument(allowedTypes={PInteger.class}, defaultValue="1", isConstant=true)
}
)
public abstract class FloorFunction extends ScalarFunction {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/IndexStateNameFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/IndexStateNameFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/IndexStateNameFunction.java
index fe37c52..d8440df 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/IndexStateNameFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/IndexStateNameFunction.java
@@ -25,8 +25,10 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PChar;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.PIndexState;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.tuple.Tuple;
@@ -41,7 +43,7 @@ import org.apache.phoenix.schema.tuple.Tuple;
* @since 2.1
*/
@BuiltInFunction(name=IndexStateNameFunction.NAME, args= {
- @Argument(allowedTypes=PDataType.CHAR)} )
+ @Argument(allowedTypes= PChar.class)} )
public class IndexStateNameFunction extends ScalarFunction {
public static final String NAME = "IndexStateName";
@@ -69,7 +71,7 @@ public class IndexStateNameFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
- return PDataType.VARCHAR;
+ return PVarchar.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InlineArrayElemRefExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InlineArrayElemRefExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InlineArrayElemRefExpression.java
index 9082911..c5c1eea 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InlineArrayElemRefExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InlineArrayElemRefExpression.java
@@ -25,8 +25,8 @@ import java.util.List;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.BaseCompoundExpression;
import org.apache.phoenix.expression.Expression;
-import org.apache.phoenix.schema.PArrayDataType;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PArrayDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.tuple.Tuple;
public class InlineArrayElemRefExpression extends BaseCompoundExpression {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
index 6756806..3dcbf7c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/InvertFunction.java
@@ -28,7 +28,7 @@ import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
import org.apache.phoenix.query.KeyRange;
import org.apache.phoenix.schema.PColumn;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LTrimFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LTrimFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LTrimFunction.java
index 987b006..bfbe2f1 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LTrimFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LTrimFunction.java
@@ -24,7 +24,8 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ByteUtil;
@@ -41,7 +42,7 @@ import org.apache.phoenix.util.StringUtil;
* @since 0.1
*/
@BuiltInFunction(name=LTrimFunction.NAME, args={
- @Argument(allowedTypes={PDataType.VARCHAR})})
+ @Argument(allowedTypes={PVarchar.class})})
public class LTrimFunction extends ScalarFunction {
public static final String NAME = "LTRIM";
@@ -94,7 +95,7 @@ public class LTrimFunction extends ScalarFunction {
@Override
public PDataType getDataType() {
- return PDataType.VARCHAR;
+ return PVarchar.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LastValueFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LastValueFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LastValueFunction.java
index 9c5f133..9f01c61 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LastValueFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LastValueFunction.java
@@ -26,7 +26,7 @@ import org.apache.phoenix.expression.aggregator.FirstLastValueBaseClientAggregat
import org.apache.phoenix.expression.aggregator.FirstLastValueServerAggregator;
import org.apache.phoenix.parse.FunctionParseNode;
import org.apache.phoenix.parse.LastValueAggregateParseNode;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PBoolean;
/**
* Built-in function for LAST_VALUE(<expression>) WITHIN GROUP (ORDER BY <expression> ASC/DESC) aggregate
@@ -35,7 +35,7 @@ import org.apache.phoenix.schema.PDataType;
*/
@FunctionParseNode.BuiltInFunction(name = LastValueFunction.NAME, nodeClass = LastValueAggregateParseNode.class, args = {
@FunctionParseNode.Argument(),
- @FunctionParseNode.Argument(allowedTypes = {PDataType.BOOLEAN}, isConstant = true),
+ @FunctionParseNode.Argument(allowedTypes = { PBoolean.class}, isConstant = true),
@FunctionParseNode.Argument()})
public class LastValueFunction extends FirstLastValueBaseFunction {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LengthFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LengthFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LengthFunction.java
index 5822759..76d9e59 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LengthFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LengthFunction.java
@@ -25,7 +25,10 @@ import org.apache.phoenix.exception.UndecodableByteException;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode.Argument;
import org.apache.phoenix.parse.FunctionParseNode.BuiltInFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PChar;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ByteUtil;
import org.apache.phoenix.util.StringUtil;
@@ -41,7 +44,7 @@ import org.apache.phoenix.util.StringUtil;
* @since 0.1
*/
@BuiltInFunction(name=LengthFunction.NAME, args={
- @Argument(allowedTypes={PDataType.VARCHAR})} )
+ @Argument(allowedTypes={ PVarchar.class })} )
public class LengthFunction extends ScalarFunction {
public static final String NAME = "LENGTH";
@@ -66,7 +69,7 @@ public class LengthFunction extends ScalarFunction {
return true;
}
int len;
- if (child.getDataType() == PDataType.CHAR) {
+ if (child.getDataType() == PChar.INSTANCE) {
// Only single-byte characters allowed in CHAR
len = ptr.getLength();
} else {
@@ -76,13 +79,13 @@ public class LengthFunction extends ScalarFunction {
return false;
}
}
- ptr.set(PDataType.INTEGER.toBytes(len));
+ ptr.set(PInteger.INSTANCE.toBytes(len));
return true;
}
@Override
public PDataType getDataType() {
- return PDataType.INTEGER;
+ return PInteger.INSTANCE;
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java
index 5ee869e..0d8d817 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/LowerFunction.java
@@ -25,11 +25,12 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.parse.FunctionParseNode;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PVarchar;
import org.apache.phoenix.schema.tuple.Tuple;
@FunctionParseNode.BuiltInFunction(name=LowerFunction.NAME, args={
- @FunctionParseNode.Argument(allowedTypes={PDataType.VARCHAR})} )
+ @FunctionParseNode.Argument(allowedTypes={PVarchar.class})} )
public class LowerFunction extends ScalarFunction {
public static final String NAME = "LOWER";
@@ -46,13 +47,13 @@ public class LowerFunction extends ScalarFunction {
return false;
}
- String sourceStr = (String)PDataType.VARCHAR.toObject(ptr, getStrExpression().getSortOrder());
+ String sourceStr = (String) PVarchar.INSTANCE.toObject(ptr, getStrExpression().getSortOrder());
if (sourceStr == null) {
return true;
}
- ptr.set(PDataType.VARCHAR.toBytes(sourceStr.toLowerCase()));
+ ptr.set(PVarchar.INSTANCE.toBytes(sourceStr.toLowerCase()));
return true;
}