PHOENIX-777 - Support null value for fixed length ARRAY - Addendum (Ram)
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/58ee7062 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/58ee7062 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/58ee7062 Branch: refs/heads/4.x-HBase-1.1 Commit: 58ee7062c624dd72a5cdaa41ec5b107a1e7b14c2 Parents: 6f890ad Author: ramkrishna <ramkrishna.s.vasude...@gmail.com> Authored: Tue Jun 2 14:32:02 2015 +0530 Committer: ramkrishna <ramkrishna.s.vasude...@gmail.com> Committed: Tue Jun 2 14:36:05 2015 +0530 ---------------------------------------------------------------------- .../main/java/org/apache/phoenix/schema/types/PTimestamp.java | 5 +++++ 1 file changed, 5 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/58ee7062/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimestamp.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimestamp.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimestamp.java index d396adc..16b110e 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimestamp.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PTimestamp.java @@ -26,6 +26,7 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.query.QueryConstants; import org.apache.phoenix.schema.SortOrder; +import org.apache.phoenix.util.ByteUtil; import org.apache.phoenix.util.DateUtil; public class PTimestamp extends PDataType<Timestamp> { @@ -47,6 +48,10 @@ public class PTimestamp extends PDataType<Timestamp> { @Override public int toBytes(Object object, byte[] bytes, int offset) { if (object == null) { + // Create the byte[] of size MAX_TIMESTAMP_BYTES + if(bytes.length != getByteSize()) { + bytes = Bytes.padTail(bytes, (getByteSize() - bytes.length)); + } PDate.INSTANCE.getCodec().encodeLong(0l, bytes, offset); Bytes.putInt(bytes, offset + Bytes.SIZEOF_LONG, 0); return getByteSize();