IGNITE-1961: Implemented opto for int lookups.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/44baff68 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/44baff68 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/44baff68 Branch: refs/heads/ignite-1961 Commit: 44baff68561e7dc9937e7ed0a400d8bf8b91b25c Parents: 2cb55c4 Author: vozerov-gridgain <[email protected]> Authored: Fri Nov 20 17:32:29 2015 +0300 Committer: vozerov-gridgain <[email protected]> Committed: Fri Nov 20 17:32:29 2015 +0300 ---------------------------------------------------------------------- .../ignite/internal/portable/BinaryReaderExImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/44baff68/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java index 4653ad3..7fcbd26 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java @@ -2523,7 +2523,10 @@ public class BinaryReaderExImpl implements BinaryReader, BinaryRawReaderEx, Obje // IDs matched, cache field name inside schema. schema.clarifyFieldName(expOrder, name); - order = expOrder; + if (expOrder == 0) + streamPosition(start + hdrLen); + + return true; } else { // No match, stop further speculations. @@ -2566,8 +2569,12 @@ public class BinaryReaderExImpl implements BinaryReader, BinaryRawReaderEx, Obje int realId = schema.fieldId(expOrder); - if (realId == id) - order = expOrder; + if (realId == id) { + if (expOrder == 0) + streamPosition(start + hdrLen); + + return true; + } else { // Mismatch detected, no need for further speculations. matching = false;
