Revert "PHOENIX-4322 DESC primary key column with variable length does not work in SkipScanFilter"
This reverts commit b0220fa7522fd7e1848ad428a47121b205dec504. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/969b79c2 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/969b79c2 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/969b79c2 Branch: refs/heads/4.x-HBase-1.1 Commit: 969b79c22a377a0faf0d6195cdbcc878fffba36b Parents: 0ac0549 Author: James Taylor <jtay...@salesforce.com> Authored: Mon Oct 30 19:24:51 2017 -0700 Committer: James Taylor <jtay...@salesforce.com> Committed: Wed Nov 15 10:46:39 2017 -0800 ---------------------------------------------------------------------- .../src/it/java/org/apache/phoenix/end2end/SortOrderIT.java | 9 --------- .../src/main/java/org/apache/phoenix/util/ScanUtil.java | 7 ++----- 2 files changed, 2 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/969b79c2/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java index 58bbabb..655dbb1 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java @@ -167,15 +167,6 @@ public class SortOrderIT extends ParallelStatsDisabledIT { runQueryTest(ddl, upsert("oid", "code"), insertedRows, new Object[][]{{"o2", 2}}, new WhereCondition("oid", "IN", "('o2')"), table); } - - @Test - public void inDescCompositePK3() throws Exception { - String table = generateUniqueName(); - String ddl = "CREATE table " + table + " (oid INTEGER NOT NULL, code VARCHAR NOT NULL constraint pk primary key (oid DESC, code DESC))"; - Object[][] insertedRows = new Object[][]{{1, "o1"}, {2, "o2"}, {3, "o3"}}; - runQueryTest(ddl, upsert("oid", "code"), insertedRows, new Object[][]{{2, "o2"}, {1, "o1"}}, - new WhereCondition("(oid, code)", "IN", "((1, 'o1'), (2, 'o2'))"), table); - } @Test public void likeDescCompositePK1() throws Exception { http://git-wip-us.apache.org/repos/asf/phoenix/blob/969b79c2/phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java index 8ab4f20..a844226 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java @@ -431,11 +431,8 @@ public class ScanUtil { anyInclusiveUpperRangeKey |= !range.isSingleKey() && inclusiveUpper; // A null or empty byte array is always represented as a zero byte byte sepByte = SchemaUtil.getSeparatorByte(schema.rowKeyOrderOptimizable(), bytes.length == 0, field); - // The result of an RVC evaluation can come with a trailing separator already, so we - // should avoid adding another one. - if ( !isFixedWidth - && ( bytes.length == 0 || key[offset - 1] != sepByte ) - && ( sepByte == QueryConstants.DESC_SEPARATOR_BYTE + + if ( !isFixedWidth && ( sepByte == QueryConstants.DESC_SEPARATOR_BYTE || ( !exclusiveUpper && (fieldIndex < schema.getMaxFields() || inclusiveUpper || exclusiveLower) ) ) ) { key[offset++] = sepByte;