You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ma...@apache.org on 2015/03/10 03:07:05 UTC

phoenix git commit: Fix bug in CalciteRuntime; Add value check in CalciteTest

Repository: phoenix
Updated Branches:
  refs/heads/calcite de6c14a14 -> b5a2913f6


Fix bug in CalciteRuntime; Add value check in CalciteTest


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b5a2913f
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b5a2913f
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b5a2913f

Branch: refs/heads/calcite
Commit: b5a2913f612e92f48c7b8f7c64f3900f223d0227
Parents: de6c14a
Author: maryannxue <we...@intel.com>
Authored: Mon Mar 9 22:06:56 2015 -0400
Committer: maryannxue <we...@intel.com>
Committed: Mon Mar 9 22:06:56 2015 -0400

----------------------------------------------------------------------
 .../org/apache/phoenix/calcite/CalciteTest.java | 22 +++++++++++++++++---
 .../apache/phoenix/calcite/CalciteRuntime.java  |  6 ++++--
 .../calcite/PhoenixRelImplementorImpl.java      |  6 +-----
 3 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b5a2913f/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteTest.java b/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteTest.java
index 6604bde..230ae66 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteTest.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/calcite/CalciteTest.java
@@ -183,9 +183,25 @@ public class CalciteTest extends BaseClientManagedTimeIT {
         calciteConnection.setSchema("phoenix");
         final Statement statement = calciteConnection.createStatement();
         final ResultSet resultSet = statement.executeQuery("select entity_id, a_string, organization_id from aTable where a_string = 'a'");
-        while (resultSet.next()) {
-            System.out.println("org_id=" + resultSet.getObject(3) + ",entity_id=" + resultSet.getObject(1) + ",a_string=" + resultSet.getObject("A_STRING"));
-        }
+
+        assertTrue(resultSet.next());
+        assertEquals("00D300000000XHP", resultSet.getObject(3));
+        assertEquals("00A123122312312", resultSet.getObject(1));
+        assertEquals("a", resultSet.getString("A_STRING"));
+        assertTrue(resultSet.next());
+        assertEquals("00D300000000XHP", resultSet.getObject(3));
+        assertEquals("00A223122312312", resultSet.getObject(1));
+        assertEquals("a", resultSet.getString("A_STRING"));
+        assertTrue(resultSet.next());
+        assertEquals("00D300000000XHP", resultSet.getObject(3));
+        assertEquals("00A323122312312", resultSet.getObject(1));
+        assertEquals("a", resultSet.getString("A_STRING"));
+        assertTrue(resultSet.next());
+        assertEquals("00D300000000XHP", resultSet.getObject(3));
+        assertEquals("00A423122312312", resultSet.getObject(1));
+        assertEquals("a", resultSet.getString("A_STRING"));
+        assertFalse(resultSet.next());
+        
         resultSet.close();
         statement.close();
         connection.close();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b5a2913f/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteRuntime.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteRuntime.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteRuntime.java
index a167ea6..0c7c495 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteRuntime.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteRuntime.java
@@ -35,7 +35,7 @@ public class CalciteRuntime {
 
     public static Enumerator<Object[]> toEnumerator(final ResultIterator iterator, final RowProjector rowProjector) {
         return new Enumerator<Object[]>() {
-            Object[] current = new Object[rowProjector.getColumnCount()];
+            Object[] current;
             private final ImmutableBytesWritable ptr = new ImmutableBytesWritable();
 
             @Override
@@ -51,7 +51,9 @@ public class CalciteRuntime {
                         current = null;
                         return false;
                     }
-                    for (int i = 0; i < current.length; i++) {
+                    int count = rowProjector.getColumnCount();
+                    current = new Object[count];
+                    for (int i = 0; i < count; i++) {
                         ColumnProjector projector = rowProjector.getColumnProjector(i);
                     	current[i] = projector.getValue(tuple, projector.getExpression().getDataType(), ptr);
                     }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/b5a2913f/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixRelImplementorImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixRelImplementorImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixRelImplementorImpl.java
index f672a9e..88fae57 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixRelImplementorImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixRelImplementorImpl.java
@@ -66,11 +66,7 @@ class PhoenixRelImplementorImpl implements PhoenixRel.Implementor {
 		PhoenixStatement stmt = new PhoenixStatement(conn);
         ColumnResolver resolver;
 		try {
-			resolver = FromCompiler.getResolver(
-			        NamedTableNode.create(
-			            null,
-			            TableName.create(tableRef.getTable().getSchemaName().getString(), tableRef.getTable().getTableName().getString()),
-			            ImmutableList.<ColumnDef>of()), conn);
+			resolver = FromCompiler.getResolver(tableRef);
 	        this.context = new StatementContext(stmt, resolver, new Scan(), new SequenceManager(stmt));
 	        this.select = SelectStatement.SELECT_STAR;
 	        if (filter != null) {