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 2016/11/22 02:54:40 UTC

[36/36] phoenix git commit: Fix test failure

Fix test failure


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

Branch: refs/heads/encodecolumns2
Commit: d49f619e68e41817e535cf1a6d004511193d2a28
Parents: 09eab86
Author: Samarth <sa...@salesforce.com>
Authored: Tue Nov 8 12:26:45 2016 -0800
Committer: Samarth <sa...@salesforce.com>
Committed: Mon Nov 21 18:51:17 2016 -0800

----------------------------------------------------------------------
 .../phoenix/compile/CreateTableCompiler.java    |  2 +-
 .../expression/ArrayColumnExpression.java       | 27 +++++++++++---------
 .../expression/KeyValueColumnExpression.java    |  2 +-
 3 files changed, 17 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d49f619e/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateTableCompiler.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateTableCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateTableCompiler.java
index c986c28..fae53e2 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateTableCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/CreateTableCompiler.java
@@ -329,7 +329,7 @@ public class CreateTableCompiler {
         @Override
         public Boolean visit(ArrayColumnExpression node) {
             try {
-                this.position = table.getColumnFamily(node.getColumnFamily()).getPColumnForColumnQualifier(node.getEncodedColumnQualifier()).getPosition();
+                this.position = table.getColumnFamily(node.getColumnFamily()).getPColumnForColumnQualifier(node.getPositionInArray()).getPosition();
             } catch (SQLException e) {
                 throw new RuntimeException(e);
             }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d49f619e/phoenix-core/src/main/java/org/apache/phoenix/expression/ArrayColumnExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/ArrayColumnExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/ArrayColumnExpression.java
index f4616da..0b5e5d7 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/ArrayColumnExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/ArrayColumnExpression.java
@@ -43,21 +43,21 @@ import org.apache.phoenix.util.SchemaUtil;
  */
 public class ArrayColumnExpression extends KeyValueColumnExpression {
     
-    private int encodedCQ;
-    private String displayName;
+    private int positionInArray;
+    private String arrayColDisplayName;
     
     public ArrayColumnExpression() {
     }
     
     public ArrayColumnExpression(PDatum column, byte[] cf, int encodedCQ) {
         super(column, cf, cf);
-        this.encodedCQ = encodedCQ;
+        this.positionInArray = encodedCQ;
     }
     
     public ArrayColumnExpression(PColumn column, String displayName, boolean encodedColumnName) {
         super(column, column.getFamilyName().getBytes(), column.getFamilyName().getBytes());
-        this.displayName = SchemaUtil.getColumnDisplayName(column.getFamilyName().getString(), column.getName().getString());
-        this.encodedCQ = column.getEncodedColumnQualifier();
+        this.arrayColDisplayName = displayName;
+        this.positionInArray = column.getEncodedColumnQualifier();
     }
 
     @Override
@@ -70,20 +70,20 @@ public class ArrayColumnExpression extends KeyValueColumnExpression {
 
         // Given a ptr to the entire array, set ptr to point to a particular element within that array
         // given the type of an array element (see comments in PDataTypeForArray)
-    	PArrayDataType.positionAtArrayElement(ptr, encodedCQ, PVarbinary.INSTANCE, null);
+    	PArrayDataType.positionAtArrayElement(ptr, positionInArray, PVarbinary.INSTANCE, null);
         return true;
     }
 
     @Override
     public void readFields(DataInput input) throws IOException {
         super.readFields(input);
-        encodedCQ = WritableUtils.readVInt(input);
+        positionInArray = WritableUtils.readVInt(input);
     }
 
     @Override
     public void write(DataOutput output) throws IOException {
         super.write(output);
-        WritableUtils.writeVInt(output, encodedCQ);
+        WritableUtils.writeVInt(output, positionInArray);
     }
     
     public KeyValueColumnExpression getKeyValueExpression() {
@@ -118,16 +118,19 @@ public class ArrayColumnExpression extends KeyValueColumnExpression {
 			public PDataType getDataType() {
 				return datatype;
 			}
-		}, getColumnFamily(), getEncodedColumnQualifier());
+		}, getColumnFamily(), getPositionInArray());
     }
     
     @Override
     public String toString() {
-        return displayName;
+        if (arrayColDisplayName == null) {
+            arrayColDisplayName = SchemaUtil.getColumnDisplayName(getColumnFamily(), getColumnQualifier());
+        }
+        return arrayColDisplayName;
     }
     
-    public byte[] getEncodedColumnQualifier() {
-        return EncodedColumnsUtil.getEncodedColumnQualifier(encodedCQ);
+    public byte[] getPositionInArray() {
+        return EncodedColumnsUtil.getEncodedColumnQualifier(positionInArray);
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d49f619e/phoenix-core/src/main/java/org/apache/phoenix/expression/KeyValueColumnExpression.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/KeyValueColumnExpression.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/KeyValueColumnExpression.java
index 6170418..5cd7433 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/KeyValueColumnExpression.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/KeyValueColumnExpression.java
@@ -42,7 +42,7 @@ import org.apache.phoenix.util.SchemaUtil;
 public class KeyValueColumnExpression extends ColumnExpression {
     private byte[] cf;
     private byte[] cq;
-    private String displayName; // client-side only. TODO: samarth see what can you do for encoded column names.
+    private String displayName; // client-side only.
 
     public KeyValueColumnExpression() {
     }