Github user ramkrish86 commented on a diff in the pull request:
https://github.com/apache/incubator-phoenix/pull/8#discussion_r9982818
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/schema/PArrayDataType.java ---
@@ -146,11 +237,16 @@ public static void
positionAtArrayElement(ImmutableBytesWritable ptr, int arrayI
}
if (baseDataType.getByteSize() == null) {
- int offset = ptr.getOffset() + noOFElementsSize +
Bytes.SIZEOF_BYTE;
- int indexOffset = Bytes.toInt(bytes, offset) +
ptr.getOffset();
- int valArrayPostion = offset + Bytes.SIZEOF_INT;
- offset += Bytes.SIZEOF_INT;
+ int offset = ptr.getOffset();
--- End diff --
Okie.. I have used this logic now. I did not want to do checks with
comparing the byte, if it is a seperator byte or not. the reason i thought was
that it would always do a comparison. That is why wanted to ensure it thro
other ways.
One small thing if we see the first character as null in curroffset, we may
have to know the next offset to know if both are same and then say the needed
element is null if not we need to increase the currOff by 2 to read the next
element.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. To do so, please top-post your response.
If your project does not have this feature enabled and wishes so, or if the
feature is enabled but not working, please contact infrastructure at
[email protected] or file a JIRA ticket with INFRA.
---