Repository: tajo
Updated Branches:
  refs/heads/branch-0.10.1 facbf4323 -> 74d8d8024


TAJO-1598: TableMeta should change equals mechanism.

Signed-off-by: Jihoon Son <[email protected]>


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

Branch: refs/heads/branch-0.10.1
Commit: 74d8d80242bf5e57e8f25605e5a0e91ba5a78915
Parents: facbf43
Author: DaeMyung Kang <[email protected]>
Authored: Wed May 13 00:07:45 2015 +0900
Committer: Jihoon Son <[email protected]>
Committed: Wed May 13 00:07:45 2015 +0900

----------------------------------------------------------------------
 CHANGES                                         |  3 +++
 .../java/org/apache/tajo/catalog/TableMeta.java |  6 +++--
 .../org/apache/tajo/catalog/TestTableMeta.java  | 27 ++++++++++++++++++++
 3 files changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/74d8d802/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 05ea1f2..c64309a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -39,6 +39,9 @@ Release 0.10.1 - unreleased
 
   BUG FIXES
 
+    TAJO-1598: TableMeta should change equals mechanism.
+    (Contributed by DaeMyung Kang, Committed by jihoon)
+
     TAJO-1556: "insert into select" with reordered column list does not work.
     (Contributed by Yongjin Choi, Committed by jihoon)
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/74d8d802/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
----------------------------------------------------------------------
diff --git 
a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
 
b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
index 2d95e6b..e14c1f5 100644
--- 
a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
+++ 
b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableMeta.java
@@ -136,8 +136,10 @@ public class TableMeta implements 
ProtoObject<CatalogProtos.TableProto>, GsonObj
        public boolean equals(Object object) {
                if(object instanceof TableMeta) {
                        TableMeta other = (TableMeta) object;
-                       
-                       return this.getProto().equals(other.getProto());
+
+                       boolean eq = 
this.getStoreType().equals(other.getStoreType());
+                       eq = eq && this.getOptions().equals(other.getOptions());
+                       return eq;
                }
                
                return false;           

http://git-wip-us.apache.org/repos/asf/tajo/blob/74d8d802/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
----------------------------------------------------------------------
diff --git 
a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
 
b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
index 904b4bc..3d6b390 100644
--- 
a/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
+++ 
b/tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableMeta.java
@@ -22,6 +22,7 @@ import org.apache.tajo.catalog.json.CatalogGsonHelper;
 import org.apache.tajo.catalog.proto.CatalogProtos.StoreType;
 import org.apache.tajo.catalog.proto.CatalogProtos.TableProto;
 import org.apache.tajo.common.TajoDataTypes.Type;
+import org.apache.tajo.rpc.protocolrecords.PrimitiveProtos;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -86,6 +87,32 @@ public class TestTableMeta {
     assertTrue(meta.equals(meta2));
     assertNotSame(meta, meta2);
   }
+
+       @Test
+       public void testEqualsObject2() {
+               //This testcases should insert more 2 items into one slot.
+               //HashMap's default slot count is 16
+               //so max_count is 17
+
+               int MAX_COUNT = 17;
+
+               TableMeta meta1 = 
CatalogUtil.newTableMeta(StoreType.CSV.toString());
+               for (int i = 0; i < MAX_COUNT; i++) {
+                       meta1.putOption("key"+i, "value"+i);
+               }
+
+               PrimitiveProtos.KeyValueSetProto.Builder optionBuilder = 
PrimitiveProtos.KeyValueSetProto.newBuilder();
+               for (int i = 1; i <= MAX_COUNT; i++) {
+                       PrimitiveProtos.KeyValueProto.Builder keyValueBuilder = 
PrimitiveProtos.KeyValueProto.newBuilder();
+                       
keyValueBuilder.setKey("key"+(MAX_COUNT-i)).setValue("value"+(MAX_COUNT-i));
+                       optionBuilder.addKeyval(keyValueBuilder);
+               }
+               TableProto.Builder builder = TableProto.newBuilder();
+               builder.setStoreType(StoreType.CSV.toString());
+               builder.setParams(optionBuilder);
+               TableMeta meta2 = new TableMeta(builder.build());
+               assertTrue(meta1.equals(meta2));
+       }
   
   @Test
   public void testGetProto() {

Reply via email to