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:12:00 UTC

[22/22] phoenix git commit: PHOENIX-1514 Break up PDataType Enum

PHOENIX-1514 Break up PDataType Enum


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/04ef859b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/04ef859b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/04ef859b

Branch: refs/heads/master
Commit: 04ef859b78704f5b56118ee30248652dcfcdee3f
Parents: a8d9eec
Author: Nick Dimiduk <nd...@apache.org>
Authored: Wed Dec 17 15:24:45 2014 -0800
Committer: Nick Dimiduk <nd...@apache.org>
Committed: Wed Dec 17 15:24:45 2014 -0800

----------------------------------------------------------------------
 .../org/apache/phoenix/end2end/ArrayIT.java     |    2 +-
 .../phoenix/end2end/CSVCommonsLoaderIT.java     |    6 +-
 .../end2end/ColumnProjectionOptimizationIT.java |   24 +-
 .../phoenix/end2end/DecodeFunctionIT.java       |    7 +-
 .../apache/phoenix/end2end/DynamicFamilyIT.java |   23 +-
 .../org/apache/phoenix/end2end/InListIT.java    |   23 +-
 .../phoenix/end2end/ParallelIteratorsIT.java    |    4 +-
 .../phoenix/end2end/ProductMetricsIT.java       |    6 +-
 .../end2end/QueryDatabaseMetaDataIT.java        |   37 +-
 .../org/apache/phoenix/end2end/QueryIT.java     |    6 +-
 .../phoenix/end2end/StatsCollectorIT.java       |   17 +
 .../phoenix/end2end/ToNumberFunctionIT.java     |    6 +-
 .../apache/phoenix/end2end/UpsertSelectIT.java  |   18 +-
 .../phoenix/end2end/index/IndexTestUtil.java    |    2 +-
 .../apache/phoenix/trace/TracingTestUtil.java   |   17 +
 phoenix-core/src/main/antlr3/PhoenixSQL.g       |    2 +-
 .../hbase/regionserver/LocalIndexSplitter.java  |    8 +-
 .../apache/phoenix/compile/ColumnProjector.java |    2 +-
 .../phoenix/compile/CreateSequenceCompiler.java |   13 +-
 .../apache/phoenix/compile/DeleteCompiler.java  |    6 +-
 .../phoenix/compile/ExpressionCompiler.java     |  204 +-
 .../phoenix/compile/ExpressionProjector.java    |    2 +-
 .../apache/phoenix/compile/GroupByCompiler.java |   13 +-
 .../apache/phoenix/compile/HavingCompiler.java  |    6 +-
 .../phoenix/compile/IndexStatementRewriter.java |    2 +-
 .../apache/phoenix/compile/JoinCompiler.java    |   61 +-
 .../apache/phoenix/compile/LimitCompiler.java   |    6 +-
 .../MutatingParallelIteratorFactory.java        |    4 +-
 .../apache/phoenix/compile/PostDDLCompiler.java |    4 +-
 .../phoenix/compile/ProjectionCompiler.java     |    2 +-
 .../apache/phoenix/compile/SequenceManager.java |    9 +-
 .../apache/phoenix/compile/UpsertCompiler.java  |    6 +-
 .../apache/phoenix/compile/WhereCompiler.java   |    8 +-
 .../apache/phoenix/compile/WhereOptimizer.java  |   10 +-
 .../GroupedAggregateRegionObserver.java         |    4 +-
 .../coprocessor/MetaDataEndpointImpl.java       |   48 +-
 .../coprocessor/MetaDataRegionObserver.java     |    8 +-
 .../coprocessor/SequenceRegionObserver.java     |   38 +-
 .../phoenix/coprocessor/SuffixFilter.java       |   17 +
 .../UngroupedAggregateRegionObserver.java       |    4 +-
 .../phoenix/exception/SQLExceptionCode.java     |    2 +-
 .../ValueTypeIncompatibleException.java         |    2 +-
 .../apache/phoenix/execute/AggregatePlan.java   |    4 +-
 .../apache/phoenix/execute/HashJoinPlan.java    |    7 +-
 .../phoenix/expression/AndExpression.java       |    6 +-
 .../phoenix/expression/AndOrExpression.java     |    7 +-
 .../expression/ArithmeticExpression.java        |    2 +-
 .../expression/ArrayConstructorExpression.java  |    4 +-
 .../expression/BaseAddSubtractExpression.java   |    2 +-
 .../phoenix/expression/BaseExpression.java      |   15 +-
 .../phoenix/expression/CaseExpression.java      |   10 +-
 .../phoenix/expression/CoerceExpression.java    |    2 +-
 .../phoenix/expression/ColumnExpression.java    |    2 +-
 .../expression/ComparisonExpression.java        |  131 +-
 .../phoenix/expression/DateAddExpression.java   |   16 +-
 .../expression/DateSubtractExpression.java      |   16 +-
 .../expression/DecimalAddExpression.java        |   11 +-
 .../expression/DecimalDivideExpression.java     |   11 +-
 .../expression/DecimalMultiplyExpression.java   |   11 +-
 .../expression/DecimalSubtractExpression.java   |   14 +-
 .../phoenix/expression/DelegateExpression.java  |    2 +-
 .../phoenix/expression/DivideExpression.java    |    2 +-
 .../phoenix/expression/DoubleAddExpression.java |    5 +-
 .../expression/DoubleDivideExpression.java      |    5 +-
 .../expression/DoubleMultiplyExpression.java    |    5 +-
 .../expression/DoubleSubtractExpression.java    |    5 +-
 .../phoenix/expression/InListExpression.java    |    9 +-
 .../phoenix/expression/IsNullExpression.java    |    9 +-
 .../phoenix/expression/LikeExpression.java      |   10 +-
 .../phoenix/expression/LiteralExpression.java   |   20 +-
 .../phoenix/expression/LongAddExpression.java   |    7 +-
 .../expression/LongDivideExpression.java        |    7 +-
 .../expression/LongMultiplyExpression.java      |    5 +-
 .../expression/LongSubtractExpression.java      |    8 +-
 .../phoenix/expression/ModulusExpression.java   |   11 +-
 .../phoenix/expression/MultiplyExpression.java  |    2 +-
 .../phoenix/expression/NotExpression.java       |   15 +-
 .../expression/RowKeyColumnExpression.java      |    2 +-
 .../phoenix/expression/RowKeyExpression.java    |    5 +-
 .../RowValueConstructorExpression.java          |    5 +-
 .../expression/StringConcatExpression.java      |    9 +-
 .../expression/TimestampAddExpression.java      |   22 +-
 .../expression/TimestampSubtractExpression.java |   22 +-
 .../aggregator/BaseDecimalStddevAggregator.java |   11 +-
 .../aggregator/BaseStddevAggregator.java        |   12 +-
 .../expression/aggregator/CountAggregator.java  |    5 +-
 .../aggregator/DecimalSumAggregator.java        |    9 +-
 .../DistinctCountClientAggregator.java          |    9 +-
 .../DistinctValueClientAggregator.java          |    4 +-
 .../DistinctValueWithCountClientAggregator.java |    5 +-
 .../DistinctValueWithCountServerAggregator.java |    5 +-
 .../aggregator/DoubleSumAggregator.java         |    9 +-
 .../FirstLastValueBaseClientAggregator.java     |    5 +-
 .../FirstLastValueServerAggregator.java         |    5 +-
 .../expression/aggregator/IntSumAggregator.java |    5 +-
 .../aggregator/LongSumAggregator.java           |    5 +-
 .../aggregator/NumberSumAggregator.java         |    7 +-
 .../aggregator/PercentRankClientAggregator.java |    7 +-
 .../aggregator/PercentileClientAggregator.java  |    7 +-
 .../PercentileDiscClientAggregator.java         |    5 +-
 .../aggregator/UnsignedIntSumAggregator.java    |    5 +-
 .../aggregator/UnsignedLongSumAggregator.java   |    5 +-
 .../function/ArrayAllComparisonExpression.java  |    2 +-
 .../function/ArrayAnyComparisonExpression.java  |    7 +-
 .../expression/function/ArrayIndexFunction.java |   18 +-
 .../function/ArrayLengthFunction.java           |   15 +-
 .../function/AvgAggregateFunction.java          |   13 +-
 .../expression/function/CeilDateExpression.java |    2 +-
 .../function/CeilDecimalExpression.java         |   20 +-
 .../expression/function/CeilFunction.java       |   12 +-
 .../function/CeilTimestampExpression.java       |   21 +-
 .../expression/function/CoalesceFunction.java   |    2 +-
 .../function/ConvertTimezoneFunction.java       |   16 +-
 .../function/CountAggregateFunction.java        |    5 +-
 .../function/CurrentDateFunction.java           |    9 +-
 .../function/CurrentTimeFunction.java           |    9 +-
 .../expression/function/DecodeFunction.java     |    8 +-
 ...elegateConstantToCountAggregateFunction.java |    6 +-
 .../DistinctCountAggregateFunction.java         |    9 +-
 .../DistinctValueAggregateFunction.java         |    8 +-
 .../expression/function/EncodeFunction.java     |   10 +-
 .../function/ExternalSqlTypeIdFunction.java     |   11 +-
 .../function/FirstLastValueBaseFunction.java    |    2 +-
 .../expression/function/FirstValueFunction.java |    4 +-
 .../function/FloorDateExpression.java           |   12 +-
 .../function/FloorDecimalExpression.java        |   20 +-
 .../expression/function/FloorFunction.java      |   12 +-
 .../function/IndexStateNameFunction.java        |    8 +-
 .../function/InlineArrayElemRefExpression.java  |    4 +-
 .../expression/function/InvertFunction.java     |    2 +-
 .../expression/function/LTrimFunction.java      |    7 +-
 .../expression/function/LastValueFunction.java  |    4 +-
 .../expression/function/LengthFunction.java     |   13 +-
 .../expression/function/LowerFunction.java      |    9 +-
 .../expression/function/LpadFunction.java       |   17 +-
 .../expression/function/MD5Function.java        |    5 +-
 .../function/MaxAggregateFunction.java          |    2 +-
 .../function/MinAggregateFunction.java          |    2 +-
 .../expression/function/NthValueFunction.java   |    7 +-
 .../function/PercentRankAggregateFunction.java  |    8 +-
 .../PercentileContAggregateFunction.java        |   12 +-
 .../PercentileDiscAggregateFunction.java        |   10 +-
 .../expression/function/PrefixFunction.java     |    2 +-
 .../expression/function/RTrimFunction.java      |    7 +-
 .../function/RegexpReplaceFunction.java         |   21 +-
 .../function/RegexpSplitFunction.java           |   22 +-
 .../function/RegexpSubstrFunction.java          |   16 +-
 .../expression/function/ReverseFunction.java    |    7 +-
 .../function/RoundDateExpression.java           |   12 +-
 .../function/RoundDecimalExpression.java        |   32 +-
 .../expression/function/RoundFunction.java      |   12 +-
 .../function/RoundTimestampExpression.java      |   21 +-
 .../function/SQLIndexTypeFunction.java          |    8 +-
 .../function/SQLTableTypeFunction.java          |    8 +-
 .../function/SQLViewTypeFunction.java           |    8 +-
 .../function/SingleAggregateFunction.java       |    2 +-
 .../function/SqlTypeNameFunction.java           |    8 +-
 .../expression/function/StddevPopFunction.java  |    9 +-
 .../expression/function/StddevSampFunction.java |    9 +-
 .../expression/function/SubstrFunction.java     |   16 +-
 .../function/SumAggregateFunction.java          |   69 +-
 .../function/TimezoneOffsetFunction.java        |   16 +-
 .../expression/function/ToCharFunction.java     |   11 +-
 .../expression/function/ToDateFunction.java     |   12 +-
 .../expression/function/ToNumberFunction.java   |   13 +-
 .../expression/function/TrimFunction.java       |    7 +-
 .../expression/function/TruncFunction.java      |   14 +-
 .../expression/function/UpperFunction.java      |    9 +-
 .../apache/phoenix/index/IndexMaintainer.java   |    2 +-
 .../phoenix/index/PhoenixIndexBuilder.java      |    4 +-
 .../index/PhoenixIndexFailurePolicy.java        |    4 +-
 .../apache/phoenix/iterate/ExplainTable.java    |    5 +-
 .../FilterAggregatingResultIterator.java        |    4 +-
 .../phoenix/iterate/FilterResultIterator.java   |    4 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |   30 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |    5 +-
 .../phoenix/jdbc/PhoenixParameterMetaData.java  |    2 +-
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |    2 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |   83 +-
 .../phoenix/jdbc/PhoenixResultSetMetaData.java  |    9 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   |    9 +-
 .../org/apache/phoenix/parse/CastParseNode.java |   13 +-
 .../org/apache/phoenix/parse/CeilParseNode.java |   12 +-
 .../org/apache/phoenix/parse/ColumnDef.java     |   17 +-
 .../apache/phoenix/parse/FloorParseNode.java    |    8 +-
 .../apache/phoenix/parse/FunctionParseNode.java |   43 +-
 .../apache/phoenix/parse/LiteralParseNode.java  |    7 +-
 .../apache/phoenix/parse/ParseNodeFactory.java  |    2 +-
 .../apache/phoenix/parse/RoundParseNode.java    |   11 +-
 .../apache/phoenix/parse/ToCharParseNode.java   |    9 +-
 .../apache/phoenix/parse/ToNumberParseNode.java |    8 +-
 .../query/ConnectionQueryServicesImpl.java      |   27 +-
 .../schema/ArgumentTypeMismatchException.java   |   17 +
 .../apache/phoenix/schema/DelegateDatum.java    |    2 +
 .../apache/phoenix/schema/KeyValueSchema.java   |    3 +-
 .../phoenix/schema/LocalIndexDataColumnRef.java |   17 +
 .../apache/phoenix/schema/MetaDataClient.java   |   23 +-
 .../apache/phoenix/schema/PArrayDataType.java   |  660 --
 .../org/apache/phoenix/schema/PColumnImpl.java  |    1 +
 .../org/apache/phoenix/schema/PDataType.java    | 7452 ------------------
 .../org/apache/phoenix/schema/PDateColumn.java  |    5 +-
 .../java/org/apache/phoenix/schema/PDatum.java  |    1 +
 .../org/apache/phoenix/schema/PIndexState.java  |    5 +-
 .../apache/phoenix/schema/PIntegerColumn.java   |    4 +-
 .../org/apache/phoenix/schema/PLongColumn.java  |    4 +-
 .../apache/phoenix/schema/PStringColumn.java    |    7 +-
 .../org/apache/phoenix/schema/PTableImpl.java   |    8 +-
 .../org/apache/phoenix/schema/PhoenixArray.java |  551 --
 .../org/apache/phoenix/schema/RowKeySchema.java |    2 +-
 .../org/apache/phoenix/schema/SaltingUtil.java  |    3 +-
 .../org/apache/phoenix/schema/Sequence.java     |   40 +-
 .../phoenix/schema/TypeMismatchException.java   |    1 +
 .../org/apache/phoenix/schema/ValueSchema.java  |    3 +-
 .../phoenix/schema/stats/StatisticsWriter.java  |   28 +-
 .../phoenix/schema/types/PArrayDataType.java    |  656 ++
 .../apache/phoenix/schema/types/PBinary.java    |  189 +
 .../phoenix/schema/types/PBinaryArray.java      |  108 +
 .../apache/phoenix/schema/types/PBoolean.java   |  140 +
 .../phoenix/schema/types/PBooleanArray.java     |  108 +
 .../org/apache/phoenix/schema/types/PChar.java  |  203 +
 .../apache/phoenix/schema/types/PCharArray.java |  108 +
 .../apache/phoenix/schema/types/PDataType.java  | 1178 +++
 .../phoenix/schema/types/PDataTypeFactory.java  |  118 +
 .../org/apache/phoenix/schema/types/PDate.java  |  192 +
 .../apache/phoenix/schema/types/PDateArray.java |  109 +
 .../apache/phoenix/schema/types/PDecimal.java   |  396 +
 .../phoenix/schema/types/PDecimalArray.java     |  110 +
 .../apache/phoenix/schema/types/PDouble.java    |  311 +
 .../phoenix/schema/types/PDoubleArray.java      |  108 +
 .../org/apache/phoenix/schema/types/PFloat.java |  308 +
 .../phoenix/schema/types/PFloatArray.java       |  109 +
 .../apache/phoenix/schema/types/PInteger.java   |  275 +
 .../phoenix/schema/types/PIntegerArray.java     |  109 +
 .../org/apache/phoenix/schema/types/PLong.java  |  331 +
 .../apache/phoenix/schema/types/PLongArray.java |  109 +
 .../apache/phoenix/schema/types/PSmallint.java  |  259 +
 .../phoenix/schema/types/PSmallintArray.java    |  109 +
 .../org/apache/phoenix/schema/types/PTime.java  |  137 +
 .../apache/phoenix/schema/types/PTimeArray.java |  110 +
 .../apache/phoenix/schema/types/PTimestamp.java |  209 +
 .../phoenix/schema/types/PTimestampArray.java   |  109 +
 .../apache/phoenix/schema/types/PTinyint.java   |  253 +
 .../phoenix/schema/types/PTinyintArray.java     |  109 +
 .../phoenix/schema/types/PUnsignedDate.java     |  164 +
 .../schema/types/PUnsignedDateArray.java        |  110 +
 .../phoenix/schema/types/PUnsignedDouble.java   |  158 +
 .../schema/types/PUnsignedDoubleArray.java      |  112 +
 .../phoenix/schema/types/PUnsignedFloat.java    |  152 +
 .../schema/types/PUnsignedFloatArray.java       |  109 +
 .../phoenix/schema/types/PUnsignedInt.java      |  178 +
 .../phoenix/schema/types/PUnsignedIntArray.java |  109 +
 .../phoenix/schema/types/PUnsignedLong.java     |  193 +
 .../schema/types/PUnsignedLongArray.java        |  109 +
 .../phoenix/schema/types/PUnsignedSmallint.java |  159 +
 .../schema/types/PUnsignedSmallintArray.java    |  110 +
 .../phoenix/schema/types/PUnsignedTime.java     |  115 +
 .../schema/types/PUnsignedTimeArray.java        |  109 +
 .../schema/types/PUnsignedTimestamp.java        |  151 +
 .../schema/types/PUnsignedTimestampArray.java   |  110 +
 .../phoenix/schema/types/PUnsignedTinyint.java  |  155 +
 .../schema/types/PUnsignedTinyintArray.java     |  110 +
 .../apache/phoenix/schema/types/PVarbinary.java |  171 +
 .../phoenix/schema/types/PVarbinaryArray.java   |  109 +
 .../apache/phoenix/schema/types/PVarchar.java   |  165 +
 .../phoenix/schema/types/PVarcharArray.java     |  109 +
 .../phoenix/schema/types/PhoenixArray.java      |  644 ++
 .../java/org/apache/phoenix/util/ByteUtil.java  |    2 +-
 .../apache/phoenix/util/CSVCommonsLoader.java   |    2 +-
 .../org/apache/phoenix/util/ColumnInfo.java     |    2 +-
 .../org/apache/phoenix/util/ExpressionUtil.java |    2 +-
 .../java/org/apache/phoenix/util/IndexUtil.java |   12 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   |   15 +-
 .../org/apache/phoenix/util/NumberUtil.java     |    2 +-
 .../org/apache/phoenix/util/PhoenixRuntime.java |    4 +-
 .../java/org/apache/phoenix/util/ScanUtil.java  |    6 +-
 .../org/apache/phoenix/util/SchemaUtil.java     |    8 +-
 .../org/apache/phoenix/util/UpgradeUtil.java    |   11 +-
 .../phoenix/util/csv/CsvUpsertExecutor.java     |    2 +-
 .../util/csv/StringToArrayConverter.java        |    2 +-
 .../arithmetic/ArithmeticOperationTest.java     |  114 +-
 .../phoenix/compile/LimitCompilerTest.java      |   14 +-
 .../compile/ScanRangesIntersectTest.java        |   11 +-
 .../apache/phoenix/compile/ScanRangesTest.java  |  286 +-
 .../phoenix/compile/WhereCompilerTest.java      |   62 +-
 .../phoenix/compile/WhereOptimizerTest.java     |  312 +-
 .../expression/CoerceExpressionTest.java        |   25 +-
 .../expression/ColumnExpressionTest.java        |   18 +-
 .../RoundFloorCeilExpressionsTest.java          |  243 +-
 .../expression/SortOrderExpressionTest.java     |  105 +-
 .../function/ExternalSqlTypeIdFunctionTest.java |   11 +-
 .../filter/SkipScanFilterIntersectTest.java     |  342 +-
 .../phoenix/filter/SkipScanFilterTest.java      |  114 +-
 .../iterate/AggregateResultScannerTest.java     |   16 +-
 .../mapreduce/CsvBulkImportUtilTest.java        |    4 +-
 .../mapreduce/CsvToKeyValueMapperTest.java      |   16 +-
 .../ColumnInfoToStringEncoderDecoderTest.java   |    9 +-
 .../phoenix/parse/BuiltInFunctionInfoTest.java  |   21 +-
 .../phoenix/query/ConnectionlessTest.java       |   20 +-
 .../phoenix/query/KeyRangeCoalesceTest.java     |   59 +-
 .../phoenix/query/KeyRangeIntersectTest.java    |   31 +-
 .../apache/phoenix/query/KeyRangeUnionTest.java |   33 +-
 .../query/ParallelIteratorsSplitTest.java       |   13 +-
 .../phoenix/schema/PDataTypeForArraysTest.java  |  500 +-
 .../apache/phoenix/schema/PDataTypeTest.java    | 1678 ----
 .../apache/phoenix/schema/RowKeySchemaTest.java |    1 +
 .../phoenix/schema/RowKeyValueAccessorTest.java |    1 +
 .../apache/phoenix/schema/SortOrderTest.java    |   23 +-
 .../apache/phoenix/schema/ValueBitSetTest.java  |    1 +
 .../phoenix/schema/types/PDataTypeTest.java     | 1710 ++++
 .../org/apache/phoenix/util/ByteUtilTest.java   |    8 +-
 .../apache/phoenix/util/PhoenixRuntimeTest.java |    2 +-
 .../org/apache/phoenix/util/ScanUtilTest.java   |  138 +-
 .../java/org/apache/phoenix/util/TestUtil.java  |    2 +-
 .../phoenix/util/csv/CsvUpsertExecutorTest.java |   13 +-
 .../util/csv/StringToArrayConverterTest.java    |    7 +-
 .../flume/serializer/RegexEventSerializer.java  |    2 +-
 .../phoenix/pig/util/PhoenixPigSchemaUtil.java  |    2 +-
 .../org/apache/phoenix/pig/util/TypeUtil.java   |  137 +-
 .../pig/writable/PhoenixPigDBWritable.java      |    2 +-
 319 files changed, 14812 insertions(+), 12713 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
index e7221e9..ff8601b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayIT.java
@@ -39,7 +39,7 @@ import java.sql.Types;
 import java.util.Properties;
 
 import org.apache.phoenix.query.BaseTest;
-import org.apache.phoenix.schema.PhoenixArray;
+import org.apache.phoenix.schema.types.PhoenixArray;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.SchemaUtil;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
index 71616d2..dc25b19 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
@@ -36,8 +36,8 @@ import org.apache.commons.csv.CSVParser;
 import org.apache.commons.csv.CSVRecord;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixTestDriver;
-import org.apache.phoenix.schema.PArrayDataType;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PArrayDataType;
 import org.apache.phoenix.util.CSVCommonsLoader;
 import org.apache.phoenix.util.DateUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -639,7 +639,7 @@ public class CSVCommonsLoaderIT extends BaseHBaseManagedTimeIT {
             assertTrue(phoenixResultSet.next());
             assertEquals(1L, phoenixResultSet.getLong(1));
             assertEquals(
-                    PArrayDataType.instantiatePhoenixArray(PDataType.INTEGER, new Integer[]{2, 3, 4}),
+                    PArrayDataType.instantiatePhoenixArray(PInteger.INSTANCE, new Integer[]{2, 3, 4}),
                     phoenixResultSet.getArray(2));
             assertFalse(phoenixResultSet.next());
         } finally {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java
index 775bb46..e97c7e1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java
@@ -52,7 +52,9 @@ import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.jdbc.PhoenixConnection;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PLong;
+import org.apache.phoenix.schema.types.PVarchar;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.SchemaUtil;
@@ -247,20 +249,20 @@ public class ColumnProjectionOptimizationIT extends BaseClientManagedTimeIT {
         HTableInterface htable = null;
         try {
             htable = conn2.getQueryServices().getTable(htableName);
-            Put put = new Put(PDataType.INTEGER.toBytes(1));
-            put.add(cfB, c1, ts + 6, PDataType.INTEGER.toBytes(1));
-            put.add(cfC, c2, ts + 6, PDataType.LONG.toBytes(2));
+            Put put = new Put(PInteger.INSTANCE.toBytes(1));
+            put.add(cfB, c1, ts + 6, PInteger.INSTANCE.toBytes(1));
+            put.add(cfC, c2, ts + 6, PLong.INSTANCE.toBytes(2));
             htable.put(put);
 
-            put = new Put(PDataType.INTEGER.toBytes(2));
-            put.add(cfC, c2, ts + 6, PDataType.LONG.toBytes(10));
-            put.add(cfC, c3, ts + 6, PDataType.VARCHAR.toBytes("abcd"));
+            put = new Put(PInteger.INSTANCE.toBytes(2));
+            put.add(cfC, c2, ts + 6, PLong.INSTANCE.toBytes(10));
+            put.add(cfC, c3, ts + 6, PVarchar.INSTANCE.toBytes("abcd"));
             htable.put(put);
 
-            put = new Put(PDataType.INTEGER.toBytes(3));
-            put.add(cfB, c1, ts + 6, PDataType.INTEGER.toBytes(3));
-            put.add(cfC, c2, ts + 6, PDataType.LONG.toBytes(10));
-            put.add(cfC, c3, ts + 6, PDataType.VARCHAR.toBytes("abcd"));
+            put = new Put(PInteger.INSTANCE.toBytes(3));
+            put.add(cfB, c1, ts + 6, PInteger.INSTANCE.toBytes(3));
+            put.add(cfC, c2, ts + 6, PLong.INSTANCE.toBytes(10));
+            put.add(cfC, c3, ts + 6, PVarchar.INSTANCE.toBytes("abcd"));
             htable.put(put);
 
             conn2.close();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DecodeFunctionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DecodeFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DecodeFunctionIT.java
index ae259bc..68e0add 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DecodeFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DecodeFunctionIT.java
@@ -29,7 +29,8 @@ import java.sql.SQLException;
 
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.exception.SQLExceptionCode;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PUnsignedLong;
 import org.junit.Test;
 
 
@@ -44,7 +45,7 @@ public class DecodeFunctionIT extends BaseHBaseManagedTimeIT {
 		conn.createStatement().execute(ddl);
 		PreparedStatement ps = conn.prepareStatement("UPSERT INTO test_table (some_column) VALUES (?)");
 
-		byte[] kk = Bytes.add(PDataType.UNSIGNED_LONG.toBytes(2232594215l), PDataType.INTEGER.toBytes(-8));
+		byte[] kk = Bytes.add(PUnsignedLong.INSTANCE.toBytes(2232594215l), PInteger.INSTANCE.toBytes(-8));
 		ps.setBytes(1, kk);
 
 		ps.execute();
@@ -63,7 +64,7 @@ public class DecodeFunctionIT extends BaseHBaseManagedTimeIT {
 		conn.createStatement().execute(ddl);
 		PreparedStatement ps = conn.prepareStatement("UPSERT INTO test_table (some_column) VALUES (?)");
 
-		byte[] kk = Bytes.add(PDataType.UNSIGNED_LONG.toBytes(2232594215l), PDataType.INTEGER.toBytes(-8));
+		byte[] kk = Bytes.add(PUnsignedLong.INSTANCE.toBytes(2232594215l), PInteger.INSTANCE.toBytes(-8));
 		ps.setBytes(1, kk);
 
 		ps.execute();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicFamilyIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicFamilyIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicFamilyIT.java
index cb795c9..370cfab 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicFamilyIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicFamilyIT.java
@@ -43,7 +43,8 @@ import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.schema.ColumnFamilyNotFoundException;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.types.PTime;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.SchemaUtil;
@@ -115,24 +116,24 @@ public class DynamicFamilyIT extends BaseHBaseManagedTimeIT {
             List<Row> mutations = new ArrayList<Row>();
             put = new Put(Bytes.toBytes("entry1"));
             put.add(A_CF, QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, ByteUtil.EMPTY_BYTE_ARRAY);
-            put.add(A_CF, ByteUtil.concat(MAX_CLICK_COUNT_DYNCOL_PREFIX, USER_ID2_BYTES), PDataType.INTEGER.toBytes(ENTRY1_CLICK_COUNT));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID1_BYTES), PDataType.TIME.toBytes(ENTRY1_USER_ID1_LOGIN_TIME));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID2_BYTES), PDataType.TIME.toBytes(ENTRY1_USER_ID2_LOGIN_TIME));
+            put.add(A_CF, ByteUtil.concat(MAX_CLICK_COUNT_DYNCOL_PREFIX, USER_ID2_BYTES), PInteger.INSTANCE.toBytes(ENTRY1_CLICK_COUNT));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID1_BYTES), PTime.INSTANCE.toBytes(ENTRY1_USER_ID1_LOGIN_TIME));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID2_BYTES), PTime.INSTANCE.toBytes(ENTRY1_USER_ID2_LOGIN_TIME));
             mutations.add(put);
             
             put = new Put(Bytes.toBytes("entry2"));
             put.add(A_CF, QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, ByteUtil.EMPTY_BYTE_ARRAY);
-            put.add(A_CF, ByteUtil.concat(MAX_CLICK_COUNT_DYNCOL_PREFIX, USER_ID3_BYTES), PDataType.INTEGER.toBytes(ENTRY2_CLICK_COUNT));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID2_BYTES), PDataType.TIME.toBytes(ENTRY2_USER_ID2_LOGIN_TIME));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID3_BYTES), PDataType.TIME.toBytes(ENTRY2_USER_ID3_LOGIN_TIME));
+            put.add(A_CF, ByteUtil.concat(MAX_CLICK_COUNT_DYNCOL_PREFIX, USER_ID3_BYTES), PInteger.INSTANCE.toBytes(ENTRY2_CLICK_COUNT));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID2_BYTES), PTime.INSTANCE.toBytes(ENTRY2_USER_ID2_LOGIN_TIME));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID3_BYTES), PTime.INSTANCE.toBytes(ENTRY2_USER_ID3_LOGIN_TIME));
             mutations.add(put);
             
             put = new Put(Bytes.toBytes("entry3"));
             put.add(A_CF, QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, ByteUtil.EMPTY_BYTE_ARRAY);
-            put.add(A_CF, ByteUtil.concat(MAX_CLICK_COUNT_DYNCOL_PREFIX, USER_ID1_BYTES), PDataType.INTEGER.toBytes(ENTRY3_CLICK_COUNT));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID1_BYTES), PDataType.TIME.toBytes(ENTRY3_USER_ID1_LOGIN_TIME));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID2_BYTES), PDataType.TIME.toBytes(ENTRY3_USER_ID2_LOGIN_TIME));
-            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID3_BYTES), PDataType.TIME.toBytes(ENTRY3_USER_ID3_LOGIN_TIME));
+            put.add(A_CF, ByteUtil.concat(MAX_CLICK_COUNT_DYNCOL_PREFIX, USER_ID1_BYTES), PInteger.INSTANCE.toBytes(ENTRY3_CLICK_COUNT));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID1_BYTES), PTime.INSTANCE.toBytes(ENTRY3_USER_ID1_LOGIN_TIME));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID2_BYTES), PTime.INSTANCE.toBytes(ENTRY3_USER_ID2_LOGIN_TIME));
+            put.add(B_CF, ByteUtil.concat(LAST_LOGIN_TIME_DYNCOL_PREFIX, USER_ID3_BYTES), PTime.INSTANCE.toBytes(ENTRY3_USER_ID3_LOGIN_TIME));
             mutations.add(put);
 
             hTable.batch(mutations);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
index 315a18f..3fdd906 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.end2end;
 
 import static java.util.Collections.singletonList;
@@ -15,7 +32,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-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.types.PLong;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
@@ -144,7 +163,7 @@ public class InListIT extends BaseHBaseManagedTimeIT {
     
     // the different combinations to check each test against
     private static final List<Boolean> TENANCIES = Arrays.asList(false, true);
-    private static final List<PDataType> INTEGER_TYPES = Arrays.asList(PDataType.INTEGER, PDataType.LONG);
+    private static final List<? extends PDataType> INTEGER_TYPES = Arrays.asList(PInteger.INSTANCE, PLong.INSTANCE);
     private static final List<Integer> SALT_BUCKET_NUMBERS = Arrays.asList(0, 4);
 
     private static final List<String> HINTS = Arrays.asList("", "/*+ SKIP_SCAN */", "/*+ RANGE_SCAN */");

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java
index 509ca90..df25c46 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java
@@ -34,7 +34,7 @@ import java.util.Map;
 
 import org.apache.phoenix.query.KeyRange;
 import org.apache.phoenix.query.QueryServices;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PChar;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -172,7 +172,7 @@ public class ParallelIteratorsIT extends BaseOwnClusterHBaseManagedTimeIT {
     }
 
     private static KeyRange newKeyRange(byte[] lowerRange, byte[] upperRange) {
-        return PDataType.CHAR.getKeyRange(lowerRange, true, upperRange, false);
+        return PChar.INSTANCE.getKeyRange(lowerRange, true, upperRange, false);
     }
     
     private static void initTableValues(Connection conn) throws Exception {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java
index 3d8c470..cd436e5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java
@@ -43,7 +43,7 @@ import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.ConnectionQueryServices;
 import org.apache.phoenix.query.QueryConstants;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDate;
 import org.apache.phoenix.util.ByteUtil;
 import org.apache.phoenix.util.DateUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -82,8 +82,8 @@ public class ProductMetricsIT extends BaseClientManagedTimeIT {
     
     private static byte[][] getSplits(String tenantId) {
         return new byte[][] { 
-            ByteUtil.concat(Bytes.toBytes(tenantId), PDataType.DATE.toBytes(D3)),
-            ByteUtil.concat(Bytes.toBytes(tenantId), PDataType.DATE.toBytes(D5)),
+            ByteUtil.concat(Bytes.toBytes(tenantId), PDate.INSTANCE.toBytes(D3)),
+            ByteUtil.concat(Bytes.toBytes(tenantId), PDate.INSTANCE.toBytes(D5)),
             };
     }
     

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index c0d1f00..0df47b3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -68,8 +68,11 @@ import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
 import org.apache.phoenix.query.QueryServices;
+import org.apache.phoenix.schema.types.PChar;
 import org.apache.phoenix.schema.ColumnNotFoundException;
-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.PLong;
 import org.apache.phoenix.schema.PTable.ViewType;
 import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.ReadOnlyTableException;
@@ -214,7 +217,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(null, rs.getString("TABLE_CAT"));
         assertEquals(SchemaUtil.normalizeIdentifier("id"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNoNulls, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.CHAR.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PChar.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(1, rs.getInt("ORDINAL_POSITION"));
         assertEquals(1, rs.getInt("COLUMN_SIZE"));
         assertEquals(0, rs.getInt("DECIMAL_DIGITS"));
@@ -225,7 +228,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("a"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col1"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.INTEGER.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PInteger.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(2, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -238,7 +241,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col2"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.LONG.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PLong.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(3, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -251,7 +254,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col3"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.DECIMAL.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PDecimal.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(4, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -264,7 +267,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col4"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.DECIMAL.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PDecimal.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(5, rs.getInt("ORDINAL_POSITION"));
         assertEquals(5, rs.getInt("COLUMN_SIZE"));
         assertEquals(0, rs.getInt("DECIMAL_DIGITS"));
@@ -275,7 +278,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col5"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.DECIMAL.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PDecimal.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(6, rs.getInt("ORDINAL_POSITION"));
         assertEquals(6, rs.getInt("COLUMN_SIZE"));
         assertEquals(3, rs.getInt("DECIMAL_DIGITS"));
@@ -290,7 +293,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("a"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col1"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.INTEGER.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PInteger.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(2, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -307,7 +310,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("a"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col1"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.INTEGER.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PInteger.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(2, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -320,7 +323,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col2"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.LONG.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PLong.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(3, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -333,7 +336,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col3"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.DECIMAL.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PDecimal.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(4, rs.getInt("ORDINAL_POSITION"));
         assertEquals(0, rs.getInt("COLUMN_SIZE"));
         assertTrue(rs.wasNull());
@@ -346,7 +349,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col4"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.DECIMAL.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PDecimal.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(5, rs.getInt("ORDINAL_POSITION"));
         assertEquals(5, rs.getInt("COLUMN_SIZE"));
         assertEquals(0, rs.getInt("DECIMAL_DIGITS"));
@@ -358,7 +361,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
         assertEquals(SchemaUtil.normalizeIdentifier("b"), rs.getString("COLUMN_FAMILY"));
         assertEquals(SchemaUtil.normalizeIdentifier("col5"), rs.getString("COLUMN_NAME"));
         assertEquals(DatabaseMetaData.attributeNullable, rs.getShort("NULLABLE"));
-        assertEquals(PDataType.DECIMAL.getSqlType(), rs.getInt("DATA_TYPE"));
+        assertEquals(PDecimal.INSTANCE.getSqlType(), rs.getInt("DATA_TYPE"));
         assertEquals(6, rs.getInt("ORDINAL_POSITION"));
         assertEquals(6, rs.getInt("COLUMN_SIZE"));
         assertEquals(3, rs.getInt("DECIMAL_DIGITS"));
@@ -761,8 +764,8 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
             
             HTableInterface htable = conn2.getQueryServices().getTable(SchemaUtil.getTableNameAsBytes(MDTEST_SCHEMA_NAME,MDTEST_NAME));
             Put put = new Put(Bytes.toBytes("0"));
-            put.add(cfB, Bytes.toBytes("COL1"), ts+6, PDataType.INTEGER.toBytes(1));
-            put.add(cfC, Bytes.toBytes("COL2"), ts+6, PDataType.LONG.toBytes(2));
+            put.add(cfB, Bytes.toBytes("COL1"), ts+6, PInteger.INSTANCE.toBytes(1));
+            put.add(cfC, Bytes.toBytes("COL2"), ts+6, PLong.INSTANCE.toBytes(2));
             htable.put(put);
             conn2.close();
             
@@ -826,8 +829,8 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
             conn92.close();
             
             put = new Put(Bytes.toBytes("1"));
-            put.add(cfB, Bytes.toBytes("COL1"), ts+39, PDataType.INTEGER.toBytes(3));
-            put.add(cfC, Bytes.toBytes("COL2"), ts+39, PDataType.LONG.toBytes(4));
+            put.add(cfB, Bytes.toBytes("COL1"), ts+39, PInteger.INSTANCE.toBytes(3));
+            put.add(cfC, Bytes.toBytes("COL2"), ts+39, PLong.INSTANCE.toBytes(4));
             htable.put(put);
 
             props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 40));

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
index baf0dec..d3bbe23 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
@@ -49,7 +49,7 @@ import java.util.Properties;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.phoenix.exception.SQLExceptionCode;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PTimestamp;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
@@ -245,7 +245,7 @@ public class QueryIT extends BaseQueryIT {
         stmt.setString(1, tenantId);
         stmt.setString(2, ROW4);
         Timestamp tsValue1 = new Timestamp(5000);
-        byte[] ts1 = PDataType.TIMESTAMP.toBytes(tsValue1);
+        byte[] ts1 = PTimestamp.INSTANCE.toBytes(tsValue1);
         stmt.setTimestamp(3, tsValue1);
         stmt.execute();
         
@@ -267,7 +267,7 @@ public class QueryIT extends BaseQueryIT {
         stmt.setString(2, ROW5);
         Timestamp tsValue2 = new Timestamp(5000);
         tsValue2.setNanos(200);
-        byte[] ts2 = PDataType.TIMESTAMP.toBytes(tsValue2);
+        byte[] ts2 = PTimestamp.INSTANCE.toBytes(tsValue2);
         stmt.setTimestamp(3, tsValue2);
         stmt.setTime(4, new Time(tsValue2.getTime()));
         stmt.execute();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsCollectorIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsCollectorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsCollectorIT.java
index 2986bf4..ca8ab81 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsCollectorIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsCollectorIT.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.end2end;
 
 import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
index daf2c63..90b860b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
@@ -34,7 +34,7 @@ import java.util.Locale;
 import java.util.Properties;
 
 import org.apache.phoenix.expression.function.ToNumberFunction;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDecimal;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.AfterClass;
@@ -181,7 +181,7 @@ public class ToNumberFunctionIT extends BaseClientManagedTimeIT {
     @Test
     public void testKeyProjectionWithDecimalValue() throws Exception {
         String query = "select to_number(a_string) from " + TO_NUMBER_TABLE_NAME + " where a_id = 2";
-        BigDecimal expectedDecimalValue = (BigDecimal)PDataType.DECIMAL.toObject("2.2");
+        BigDecimal expectedDecimalValue = (BigDecimal) PDecimal.INSTANCE.toObject("2.2");
         runOneRowQueryTest(query, expectedDecimalValue);
     }
     
@@ -195,7 +195,7 @@ public class ToNumberFunctionIT extends BaseClientManagedTimeIT {
     @Test
     public void testNonKeyProjectionWithDecimalValue() throws Exception {
         String query = "select to_number(b_string) from " + TO_NUMBER_TABLE_NAME + " where a_id = 2";
-        BigDecimal expectedDecimalValue = (BigDecimal)PDataType.DECIMAL.toObject("2.2");
+        BigDecimal expectedDecimalValue = (BigDecimal) PDecimal.INSTANCE.toObject("2.2");
         runOneRowQueryTest(query, expectedDecimalValue);
     }
     

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
index c1a960f..d319b4d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
@@ -45,7 +45,7 @@ import java.util.Properties;
 
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.apache.phoenix.util.QueryUtil;
@@ -451,8 +451,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
 
     @Test
     public void testUpsertSelectLongToInt() throws Exception {
-        byte[][] splits = new byte[][] {PDataType.INTEGER.toBytes(1), PDataType.INTEGER.toBytes(2),
-                PDataType.INTEGER.toBytes(3), PDataType.INTEGER.toBytes(4)};
+        byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2),
+                PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)};
         long ts = nextTimestamp();
         ensureTableCreated(getUrl(),"IntKeyTest",splits, ts-2);
         Properties props = new Properties();
@@ -488,8 +488,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
 
     @Test
     public void testUpsertSelectRunOnServer() throws Exception {
-        byte[][] splits = new byte[][] {PDataType.INTEGER.toBytes(1), PDataType.INTEGER.toBytes(2),
-                PDataType.INTEGER.toBytes(3), PDataType.INTEGER.toBytes(4)};
+        byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2),
+                PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)};
         long ts = nextTimestamp();
         createTestTable(getUrl(), "create table IntKeyTest (i integer not null primary key desc, j integer)" ,splits, ts-2);
         Properties props = new Properties();
@@ -551,8 +551,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
 
     @Test
     public void testUpsertSelectOnDescToAsc() throws Exception {
-        byte[][] splits = new byte[][] {PDataType.INTEGER.toBytes(1), PDataType.INTEGER.toBytes(2),
-                PDataType.INTEGER.toBytes(3), PDataType.INTEGER.toBytes(4)};
+        byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2),
+                PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)};
         long ts = nextTimestamp();
         createTestTable(getUrl(), "create table IntKeyTest (i integer not null primary key desc, j integer)" ,splits, ts-2);
         Properties props = new Properties();
@@ -591,8 +591,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
 
     @Test
     public void testUpsertSelectRowKeyMutationOnSplitedTable() throws Exception {
-        byte[][] splits = new byte[][] {PDataType.INTEGER.toBytes(1), PDataType.INTEGER.toBytes(2),
-                PDataType.INTEGER.toBytes(3), PDataType.INTEGER.toBytes(4)};
+        byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2),
+                PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)};
         long ts = nextTimestamp();
         ensureTableCreated(getUrl(),"IntKeyTest",splits,ts-2);
         Properties props = new Properties();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexTestUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexTestUtil.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexTestUtil.java
index 825c09b..ba04ad7 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexTestUtil.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexTestUtil.java
@@ -43,7 +43,7 @@ import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.schema.ColumnNotFoundException;
 import org.apache.phoenix.schema.PColumn;
 import org.apache.phoenix.schema.PColumnFamily;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
 import org.apache.phoenix.schema.PRow;
 import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.RowKeySchema;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/it/java/org/apache/phoenix/trace/TracingTestUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/trace/TracingTestUtil.java b/phoenix-core/src/it/java/org/apache/phoenix/trace/TracingTestUtil.java
index d502175..b2b12f7 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/trace/TracingTestUtil.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/trace/TracingTestUtil.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.trace;
 
 import org.apache.hadoop.metrics2.MetricsSink;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/antlr3/PhoenixSQL.g
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/antlr3/PhoenixSQL.g b/phoenix-core/src/main/antlr3/PhoenixSQL.g
index 9206cf4..2223380 100644
--- a/phoenix-core/src/main/antlr3/PhoenixSQL.g
+++ b/phoenix-core/src/main/antlr3/PhoenixSQL.g
@@ -147,11 +147,11 @@ import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.IllegalDataException;
-import org.apache.phoenix.schema.PDataType;
 import org.apache.phoenix.schema.PIndexState;
 import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.PTable.IndexType;
 import org.apache.phoenix.schema.stats.StatisticsCollectionScope;
+import org.apache.phoenix.schema.types.PDataType;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.parse.LikeParseNode.LikeType;
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java
index 9ec5d01..713fa59 100644
--- a/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java
+++ b/phoenix-core/src/main/java/org/apache/hadoop/hbase/regionserver/LocalIndexSplitter.java
@@ -31,17 +31,13 @@ import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
-import org.apache.hadoop.hbase.regionserver.HRegion;
-import org.apache.hadoop.hbase.regionserver.HRegionServer;
-import org.apache.hadoop.hbase.regionserver.RegionServerServices;
-import org.apache.hadoop.hbase.regionserver.IndexSplitTransaction;
 import org.apache.hadoop.hbase.util.PairOfSameType;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.parse.AlterIndexStatement;
 import org.apache.phoenix.parse.ParseNodeFactory;
 import org.apache.phoenix.parse.TableName;
 import org.apache.phoenix.schema.MetaDataClient;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PBoolean;
 import org.apache.phoenix.schema.PIndexState;
 import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.PTable.IndexType;
@@ -70,7 +66,7 @@ public class LocalIndexSplitter extends BaseRegionObserver {
         }
         RegionServerServices rss = ctx.getEnvironment().getRegionServerServices();
         if (tableDesc.getValue(MetaDataUtil.IS_LOCAL_INDEX_TABLE_PROP_BYTES) == null
-                || !Boolean.TRUE.equals(PDataType.BOOLEAN.toObject(tableDesc
+                || !Boolean.TRUE.equals(PBoolean.INSTANCE.toObject(tableDesc
                         .getValue(MetaDataUtil.IS_LOCAL_INDEX_TABLE_PROP_BYTES)))) {
             HRegion indexRegion = IndexUtil.getIndexRegion(environment);
             if (indexRegion == null) return;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/compile/ColumnProjector.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/ColumnProjector.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/ColumnProjector.java
index 59b5c10..934d73c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/ColumnProjector.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/ColumnProjector.java
@@ -22,7 +22,7 @@ import java.sql.SQLException;
 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/compile/CreateSequenceCompiler.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateSequenceCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateSequenceCompiler.java
index d31a8f1..65d2c04 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateSequenceCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateSequenceCompiler.java
@@ -23,7 +23,6 @@ import java.util.Collections;
 
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.phoenix.exception.SQLExceptionCode;
-import org.apache.phoenix.exception.SQLExceptionInfo;
 import org.apache.phoenix.execute.MutationState;
 import org.apache.phoenix.expression.Expression;
 import org.apache.phoenix.jdbc.PhoenixConnection;
@@ -34,9 +33,11 @@ import org.apache.phoenix.parse.ParseNode;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.parse.TableName;
 import org.apache.phoenix.query.QueryServicesOptions;
+import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.schema.MetaDataClient;
-import org.apache.phoenix.schema.PDataType;
+import org.apache.phoenix.schema.types.PDataType;
 import org.apache.phoenix.schema.PDatum;
+import org.apache.phoenix.schema.types.PLong;
 import org.apache.phoenix.schema.SortOrder;
 
 import org.apache.phoenix.util.SequenceUtil;
@@ -57,7 +58,7 @@ public class CreateSequenceCompiler {
 
         @Override
         public PDataType getDataType() {
-            return PDataType.LONG;
+            return PLong.INSTANCE;
         }
 
         @Override
@@ -85,7 +86,7 @@ public class CreateSequenceCompiler {
 
         @Override
         public PDataType getDataType() {
-            return PDataType.INTEGER;
+            return PInteger.INSTANCE;
         }
 
         @Override
@@ -119,11 +120,11 @@ public class CreateSequenceCompiler {
             Expression expression, SQLExceptionCode code) throws SQLException {
         ImmutableBytesWritable ptr = context.getTempPtr();
         expression.evaluate(null, ptr);
-        if (ptr.getLength() == 0 || !expression.getDataType().isCoercibleTo(PDataType.LONG)) {
+        if (ptr.getLength() == 0 || !expression.getDataType().isCoercibleTo(PLong.INSTANCE)) {
             TableName sequenceName = sequence.getSequenceName();
             throw SequenceUtil.getException(sequenceName.getSchemaName(), sequenceName.getTableName(), code);
         }
-        return (Long) PDataType.LONG.toObject(ptr, expression.getDataType());
+        return (Long) PLong.INSTANCE.toObject(ptr, expression.getDataType());
     }
 
     public MutationPlan compile(final CreateSequenceStatement sequence) throws SQLException {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/04ef859b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
index b04d6e3..0a2ee38 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java
@@ -64,8 +64,8 @@ import org.apache.phoenix.query.QueryServicesOptions;
 import org.apache.phoenix.schema.MetaDataClient;
 import org.apache.phoenix.schema.MetaDataEntityNotFoundException;
 import org.apache.phoenix.schema.PColumn;
-import org.apache.phoenix.schema.PDataType;
 import org.apache.phoenix.schema.PIndexState;
+import org.apache.phoenix.schema.types.PLong;
 import org.apache.phoenix.schema.PName;
 import org.apache.phoenix.schema.PRow;
 import org.apache.phoenix.schema.PTable;
@@ -495,7 +495,7 @@ public class DeleteCompiler {
                             ResultIterator iterator = aggPlan.iterator();
                             try {
                                 Tuple row = iterator.next();
-                                final long mutationCount = (Long)projector.getColumnProjector(0).getValue(row, PDataType.LONG, ptr);
+                                final long mutationCount = (Long)projector.getColumnProjector(0).getValue(row, PLong.INSTANCE, ptr);
                                 return new MutationState(maxSize, connection) {
                                     @Override
                                     public long getUpdateCount() {
@@ -554,7 +554,7 @@ public class DeleteCompiler {
                             long totalRowCount = 0;
                             while ((tuple=iterator.next()) != null) {// Runs query
                                 Cell kv = tuple.getValue(0);
-                                totalRowCount += PDataType.LONG.getCodec().decodeLong(kv.getValueArray(), kv.getValueOffset(), SortOrder.getDefault());
+                                totalRowCount += PLong.INSTANCE.getCodec().decodeLong(kv.getValueArray(), kv.getValueOffset(), SortOrder.getDefault());
                             }
                             // Return total number of rows that have been delete. In the case of auto commit being off
                             // the mutations will all be in the mutation state of the current connection.