You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2017/11/15 18:34:34 UTC
[06/40] phoenix git commit: Revert "PHOENIX-4373 Local index variable
length key can have trailing nulls while upserting"
Revert "PHOENIX-4373 Local index variable length key can have trailing nulls while upserting"
This reverts commit f0af02259a0f68eb520004d4f42a7e65954037a7.
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/3b536f4f
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/3b536f4f
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/3b536f4f
Branch: refs/heads/4.x-HBase-1.2
Commit: 3b536f4feac802cb2458b4a02337b36c65ce68e5
Parents: fa3884a
Author: James Taylor <jt...@salesforce.com>
Authored: Wed Nov 15 09:56:20 2017 -0800
Committer: James Taylor <jt...@salesforce.com>
Committed: Wed Nov 15 09:56:20 2017 -0800
----------------------------------------------------------------------
.../org/apache/phoenix/end2end/IndexToolIT.java | 40 --------------------
.../org/apache/phoenix/compile/ScanRanges.java | 11 ++----
.../apache/phoenix/compile/UpsertCompiler.java | 3 +-
3 files changed, 4 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3b536f4f/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
index a9128ab..913a147 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
@@ -209,46 +209,6 @@ public class IndexToolIT extends BaseTest {
}
}
- @Test
- public void testSaltedVariableLengthPK() throws Exception {
- String schemaName = generateUniqueName();
- String dataTableName = generateUniqueName();
- String dataTableFullName = SchemaUtil.getTableName(schemaName, dataTableName);
- String indexTableName = generateUniqueName();
- try (Connection conn =
- DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES))) {
- String dataDDL =
- "CREATE TABLE " + dataTableFullName + "(\n"
- + "ID VARCHAR NOT NULL PRIMARY KEY,\n"
- + "\"info\".CAR_NUM VARCHAR(18) NULL,\n"
- + "\"info\".CAP_DATE VARCHAR NULL,\n" + "\"info\".ORG_ID BIGINT NULL,\n"
- + "\"info\".ORG_NAME VARCHAR(255) NULL\n" + ") SALT_BUCKETS=3";
- conn.createStatement().execute(dataDDL);
-
- String upsert =
- "UPSERT INTO " + dataTableFullName
- + "(ID,CAR_NUM,CAP_DATE,ORG_ID,ORG_NAME) VALUES('1','car1','2016-01-01 00:00:00',11,'orgname1')";
- conn.createStatement().execute(upsert);
- conn.commit();
-
- String indexDDL =
- String.format(
- "CREATE %s INDEX %s on %s (\"info\".CAR_NUM,\"info\".CAP_DATE) ASYNC",
- (localIndex ? "LOCAL" : ""), indexTableName, dataTableFullName);
- conn.createStatement().execute(indexDDL);
-
- runIndexTool(directApi, useSnapshot, schemaName, dataTableName, indexTableName);
-
- ResultSet rs =
- conn.createStatement().executeQuery(
- "SELECT ORG_ID,CAP_DATE,CAR_NUM,ORG_NAME FROM " + dataTableFullName
- + " WHERE CAR_NUM='car1' AND CAP_DATE>='2016-01-01' AND CAP_DATE<='2016-05-02' LIMIT 10");
- assertTrue(rs.next());
- int orgId = rs.getInt(1);
- assertEquals(11, orgId);
- }
- }
-
public static void assertExplainPlan(boolean localIndex, String actualExplainPlan,
String dataTableFullName, String indexTableFullName) {
String expectedExplainPlan;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3b536f4f/phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java
index 817c1bc..1b94cff 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/ScanRanges.java
@@ -207,18 +207,13 @@ public class ScanRanges {
}
public static byte[] prefixKey(byte[] key, int keyOffset, byte[] prefixKey, int prefixKeyOffset) {
- return prefixKey(key, keyOffset, key.length, prefixKey, prefixKeyOffset);
- }
-
- public static byte[] prefixKey(byte[] key, int keyOffset, int keyLength, byte[] prefixKey,
- int prefixKeyOffset) {
- if (keyLength > 0) {
- byte[] newKey = new byte[keyLength + prefixKeyOffset];
+ if (key.length > 0) {
+ byte[] newKey = new byte[key.length + prefixKeyOffset];
int totalKeyOffset = keyOffset + prefixKeyOffset;
if (prefixKey.length >= totalKeyOffset) { // otherwise it's null padded
System.arraycopy(prefixKey, 0, newKey, 0, totalKeyOffset);
}
- System.arraycopy(key, keyOffset, newKey, totalKeyOffset, keyLength - keyOffset);
+ System.arraycopy(key, keyOffset, newKey, totalKeyOffset, key.length - keyOffset);
return newKey;
}
return key;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/3b536f4f/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
index 9eaaf62..6445894 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
@@ -162,8 +162,7 @@ public class UpsertCompiler {
.getRegionInfo().getEndKey().length] : region.getRegionInfo()
.getStartKey();
if (regionPrefix.length != 0) {
- ptr.set(ScanRanges.prefixKey(ptr.get(), 0, ptr.getLength(), regionPrefix,
- regionPrefix.length));
+ ptr.set(ScanRanges.prefixKey(ptr.get(), 0, regionPrefix, regionPrefix.length));
}
}
mutation.put(ptr, new RowMutationState(columnValues, statement.getConnection().getStatementExecutionCounter(), rowTsColInfo, onDupKeyBytes));