You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by sa...@apache.org on 2017/09/29 05:25:37 UTC
phoenix git commit: PHOENIX-4243 Using rowtimestamp column with RVC
causes an exception sometimes
Repository: phoenix
Updated Branches:
refs/heads/master d76a4f4e5 -> a4ce14bad
PHOENIX-4243 Using rowtimestamp column with RVC causes an exception sometimes
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/a4ce14ba
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/a4ce14ba
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/a4ce14ba
Branch: refs/heads/master
Commit: a4ce14badb00eb51c34059c602e33e1a889877e5
Parents: d76a4f4
Author: Samarth Jain <sa...@apache.org>
Authored: Thu Sep 28 22:25:32 2017 -0700
Committer: Samarth Jain <sa...@apache.org>
Committed: Thu Sep 28 22:25:32 2017 -0700
----------------------------------------------------------------------
.../apache/phoenix/end2end/UpsertSelectIT.java | 56 +++++++++-----------
.../org/apache/phoenix/compile/ScanRanges.java | 4 +-
2 files changed, 28 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/a4ce14ba/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
index 2dbb00b..fef5a25 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
@@ -1127,7 +1127,6 @@ public class UpsertSelectIT extends ParallelStatsDisabledIT {
assertEquals("KV2", rs.getString("KV2"));
assertEquals("KV3", rs.getString("KV3"));
assertFalse(rs.next());
-
// Query using the index on base table
stmt = conn.prepareStatement("SELECT KV1 FROM " + baseTable + " WHERE PK2 >= ? AND PK2 <= ? AND KV3 = ?");
stmt.setDate(1, new Date(startTime));
@@ -1220,39 +1219,36 @@ public class UpsertSelectIT extends ParallelStatsDisabledIT {
assertEquals("KV24", rs.getString("KV2"));
assertEquals("KV34", rs.getString("KV3"));
assertFalse(rs.next());
-
- // TODO: enable after PHOENIX-4243 is fixed
-// // Query using the index on base table
-// stmt = conn.prepareStatement("SELECT KV1 FROM " + baseTable + " WHERE (PK2, KV3) IN ((?, ?), (?, ?)) ORDER BY KV1");
-// stmt.setDate(1, upsertedDate);
-// stmt.setString(2, "KV33");
-// stmt.setDate(3, new Date(upsertedTs));
-// stmt.setString(4, "KV34");
-// rs = stmt.executeQuery();
-// QueryPlan plan = stmt.unwrap(PhoenixStatement.class).getQueryPlan();
-// assertTrue(plan.getTableRef().getTable().getName().getString().equals(baseTableIdx));
-// assertTrue(rs.next());
-// assertEquals("KV13", rs.getString("KV1"));
-// assertTrue(rs.next());
-// assertEquals("KV14", rs.getString("KV1"));
-// assertFalse(rs.next());
+ // Query using the index on base table
+ stmt = conn.prepareStatement("SELECT KV1 FROM " + baseTable + " WHERE (PK2, KV3) IN ((?, ?), (?, ?)) ORDER BY KV1");
+ stmt.setDate(1, upsertedDate);
+ stmt.setString(2, "KV33");
+ stmt.setDate(3, new Date(upsertedTs));
+ stmt.setString(4, "KV34");
+ rs = stmt.executeQuery();
+ QueryPlan plan = stmt.unwrap(PhoenixStatement.class).getQueryPlan();
+ assertTrue(plan.getTableRef().getTable().getName().getString().equals(baseTableIdx));
+ assertTrue(rs.next());
+ assertEquals("KV13", rs.getString("KV1"));
+ assertTrue(rs.next());
+ assertEquals("KV14", rs.getString("KV1"));
+ assertFalse(rs.next());
}
// Verify that the data upserted using the tenant view can now be queried using tenant view
try (Connection tenantConn = getTenantConnection(tenantId)) {
- //TODO: enable after PHOENIX-4243 is fixed
-// // Query the base table
-// PreparedStatement stmt = tenantConn.prepareStatement("SELECT * FROM " + tenantView + " WHERE (PK2, PK3) IN ((?, ?), (?, ?)) ORDER BY KV1");
-// stmt.setDate(1, upsertedDate);
-// stmt.setInt(2, 33);
-// stmt.setDate(3, new Date(upsertedTs));
-// stmt.setInt(4, 44);
-// ResultSet rs = stmt.executeQuery();
-// assertTrue(rs.next());
-// assertEquals("KV13", rs.getString("KV1"));
-// assertTrue(rs.next());
-// assertEquals("KV14", rs.getString("KV1"));
-// assertFalse(rs.next());
+ // Query the base table
+ PreparedStatement stmt = tenantConn.prepareStatement("SELECT * FROM " + tenantView + " WHERE (PK2, PK3) IN ((?, ?), (?, ?)) ORDER BY KV1");
+ stmt.setDate(1, upsertedDate);
+ stmt.setInt(2, 33);
+ stmt.setDate(3, new Date(upsertedTs));
+ stmt.setInt(4, 44);
+ ResultSet rs = stmt.executeQuery();
+ assertTrue(rs.next());
+ assertEquals("KV13", rs.getString("KV1"));
+ assertTrue(rs.next());
+ assertEquals("KV14", rs.getString("KV1"));
+ assertFalse(rs.next());
//TODO: uncomment the code after PHOENIX-2277 is fixed
// // Query using the index on the tenantView
http://git-wip-us.apache.org/repos/asf/phoenix/blob/a4ce14ba/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 5a1fcb7..a7909fb 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
@@ -650,8 +650,8 @@ public class ScanRanges {
//ranges.set(rowTimestampColPos, sortedRange); //TODO: do I really need to do this?
Field f = schema.getField(rowTimestampColPos);
SortOrder order = f.getSortOrder();
- KeyRange lowestRange = rowTimestampColRange.get(0);
- KeyRange highestRange = rowTimestampColRange.get(rowTimestampColRange.size() - 1);
+ KeyRange lowestRange = sortedRange.get(0);
+ KeyRange highestRange = sortedRange.get(rowTimestampColRange.size() - 1);
if (order == SortOrder.DESC) {
return getDescTimeRange(lowestRange, highestRange, f);
}