You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ra...@apache.org on 2017/09/22 06:09:35 UTC
carbondata git commit: [CARBONDATA-1448] fix partitionInfo null issue
in CarbonTableInputFormat
Repository: carbondata
Updated Branches:
refs/heads/master 1e7da59b4 -> 80fa37c55
[CARBONDATA-1448] fix partitionInfo null issue in CarbonTableInputFormat
This closes #1369
Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/80fa37c5
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/80fa37c5
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/80fa37c5
Branch: refs/heads/master
Commit: 80fa37c5547f7d19ee5471602ed16ca2b5303bcd
Parents: 1e7da59
Author: lionelcao <wh...@gmail.com>
Authored: Tue Sep 19 16:50:16 2017 +0800
Committer: Ravindra Pesala <ra...@gmail.com>
Committed: Fri Sep 22 11:39:15 2017 +0530
----------------------------------------------------------------------
.../ThriftWrapperSchemaConverterImpl.java | 4 +-
.../core/metadata/schema/BucketingInfo.java | 32 ++++++-
.../core/metadata/schema/PartitionInfo.java | 95 ++++++++++++++++++--
.../core/metadata/schema/table/TableSchema.java | 25 ++++++
.../src/test/resources/partition_data.csv | 1 -
.../partition/TestAlterPartitionTable.scala | 69 +++++++-------
6 files changed, 179 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/carbondata/blob/80fa37c5/core/src/main/java/org/apache/carbondata/core/metadata/converter/ThriftWrapperSchemaConverterImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/converter/ThriftWrapperSchemaConverterImpl.java b/core/src/main/java/org/apache/carbondata/core/metadata/converter/ThriftWrapperSchemaConverterImpl.java
index 2887d2a..bc877b7 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/converter/ThriftWrapperSchemaConverterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/converter/ThriftWrapperSchemaConverterImpl.java
@@ -219,7 +219,7 @@ public class ThriftWrapperSchemaConverterImpl implements SchemaConverter {
externalPartitionInfo.setList_info(wrapperPartitionInfo.getListInfo());
externalPartitionInfo.setRange_info(wrapperPartitionInfo.getRangeInfo());
externalPartitionInfo.setNum_partitions(wrapperPartitionInfo.getNumPartitions());
- externalPartitionInfo.setMax_partition(wrapperPartitionInfo.getMAX_PARTITION());
+ externalPartitionInfo.setMax_partition(wrapperPartitionInfo.getMaxPartitionId());
externalPartitionInfo.setPartition_ids(wrapperPartitionInfo
.getPartitionIds());
return externalPartitionInfo;
@@ -454,7 +454,7 @@ public class ThriftWrapperSchemaConverterImpl implements SchemaConverter {
wrapperPartitionInfo.setNumPartitions(externalPartitionInfo.getNum_partitions());
wrapperPartitionInfo.setPartitionIds(externalPartitionInfo
.getPartition_ids());
- wrapperPartitionInfo.setMAX_PARTITION(externalPartitionInfo.getMax_partition());
+ wrapperPartitionInfo.setMaxPartitionId(externalPartitionInfo.getMax_partition());
return wrapperPartitionInfo;
}
http://git-wip-us.apache.org/repos/asf/carbondata/blob/80fa37c5/core/src/main/java/org/apache/carbondata/core/metadata/schema/BucketingInfo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/schema/BucketingInfo.java b/core/src/main/java/org/apache/carbondata/core/metadata/schema/BucketingInfo.java
index 8434601..569241d 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/schema/BucketingInfo.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/schema/BucketingInfo.java
@@ -17,15 +17,20 @@
package org.apache.carbondata.core.metadata.schema;
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.List;
+import org.apache.carbondata.core.metadata.schema.table.Writable;
import org.apache.carbondata.core.metadata.schema.table.column.ColumnSchema;
/**
* Bucketing information
*/
-public class BucketingInfo implements Serializable {
+public class BucketingInfo implements Serializable, Writable {
private static final long serialVersionUID = -0L;
@@ -33,6 +38,10 @@ public class BucketingInfo implements Serializable {
private int numberOfBuckets;
+ public BucketingInfo() {
+
+ }
+
public BucketingInfo(List<ColumnSchema> listOfColumns, int numberOfBuckets) {
this.listOfColumns = listOfColumns;
this.numberOfBuckets = numberOfBuckets;
@@ -46,4 +55,25 @@ public class BucketingInfo implements Serializable {
return numberOfBuckets;
}
+ @Override
+ public void write(DataOutput output) throws IOException {
+ output.writeInt(numberOfBuckets);
+ output.writeInt(listOfColumns.size());
+ for (ColumnSchema aColSchema : listOfColumns) {
+ aColSchema.write(output);
+ }
+ }
+
+ @Override
+ public void readFields(DataInput input) throws IOException {
+ this.numberOfBuckets = input.readInt();
+ int colSchemaSize = input.readInt();
+ this.listOfColumns = new ArrayList<>(colSchemaSize);
+ for (int i = 0; i < colSchemaSize; i++) {
+ ColumnSchema aSchema = new ColumnSchema();
+ aSchema.readFields(input);
+ this.listOfColumns.add(aSchema);
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/carbondata/blob/80fa37c5/core/src/main/java/org/apache/carbondata/core/metadata/schema/PartitionInfo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/schema/PartitionInfo.java b/core/src/main/java/org/apache/carbondata/core/metadata/schema/PartitionInfo.java
index d0c4447..7a0e17f 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/schema/PartitionInfo.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/schema/PartitionInfo.java
@@ -17,17 +17,21 @@
package org.apache.carbondata.core.metadata.schema;
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.apache.carbondata.core.metadata.schema.partition.PartitionType;
+import org.apache.carbondata.core.metadata.schema.table.Writable;
import org.apache.carbondata.core.metadata.schema.table.column.ColumnSchema;
/**
* Partition information of carbon partition table
*/
-public class PartitionInfo implements Serializable {
+public class PartitionInfo implements Serializable, Writable {
private static final long serialVersionUID = -0L;
@@ -53,7 +57,7 @@ public class PartitionInfo implements Serializable {
/**
* current max partition id, increase only, will be used in alter table partition operation
*/
- private int MAX_PARTITION;
+ private int maxPartitionId;
/**
* record the partitionId in the logical ascending order
@@ -61,6 +65,10 @@ public class PartitionInfo implements Serializable {
*/
private List<Integer> partitionIds;
+ public PartitionInfo() {
+
+ }
+
public PartitionInfo(List<ColumnSchema> columnSchemaList, PartitionType partitionType) {
this.columnSchemaList = columnSchemaList;
this.partitionType = partitionType;
@@ -72,7 +80,7 @@ public class PartitionInfo implements Serializable {
*/
public void addPartition(int addPartitionCount) {
for (int i = 0; i < addPartitionCount; i++) {
- partitionIds.add(++MAX_PARTITION);
+ partitionIds.add(++maxPartitionId);
numPartitions++;
}
}
@@ -87,7 +95,7 @@ public class PartitionInfo implements Serializable {
public void splitPartition(int sourcePartitionIndex, int newPartitionNumbers) {
partitionIds.remove(sourcePartitionIndex);
for (int i = 0; i < newPartitionNumbers; i++) {
- partitionIds.add(sourcePartitionIndex + i, ++MAX_PARTITION);
+ partitionIds.add(sourcePartitionIndex + i, ++maxPartitionId);
}
numPartitions = numPartitions - 1 + newPartitionNumbers;
}
@@ -129,7 +137,7 @@ public class PartitionInfo implements Serializable {
for (int i = 0; i < partitionNum; i++) {
partitionIds.add(i);
}
- MAX_PARTITION = partitionNum - 1;
+ maxPartitionId = partitionNum - 1;
numPartitions = partitionNum;
}
@@ -141,12 +149,12 @@ public class PartitionInfo implements Serializable {
return numPartitions;
}
- public int getMAX_PARTITION() {
- return MAX_PARTITION;
+ public int getMaxPartitionId() {
+ return maxPartitionId;
}
- public void setMAX_PARTITION(int max_partition) {
- this.MAX_PARTITION = max_partition;
+ public void setMaxPartitionId(int maxPartitionId) {
+ this.maxPartitionId = maxPartitionId;
}
public List<Integer> getPartitionIds() {
@@ -161,4 +169,73 @@ public class PartitionInfo implements Serializable {
return partitionIds.get(index);
}
+ @Override
+ public void write(DataOutput output) throws IOException {
+ output.writeInt(columnSchemaList.size());
+ for (ColumnSchema columnSchema: columnSchemaList) {
+ columnSchema.write(output);
+ }
+ output.writeInt(partitionType.ordinal());
+ if (PartitionType.RANGE.equals(partitionType)) {
+ output.writeInt(rangeInfo.size());
+ for (String value: rangeInfo) {
+ output.writeUTF(value);
+ }
+ }
+ output.writeInt(partitionIds.size());
+ for (Integer value: partitionIds) {
+ output.writeInt(value);
+ }
+ if (PartitionType.LIST.equals(partitionType)) {
+ output.writeInt(listInfo.size());
+ for (List<String> listValue: listInfo) {
+ output.writeInt(listValue.size());
+ for (String value: listValue) {
+ output.writeUTF(value);
+ }
+ }
+ }
+ output.writeInt(numPartitions);
+ output.writeInt(maxPartitionId);
+ }
+
+ @Override
+ public void readFields(DataInput input) throws IOException {
+ int colSchemaSize = input.readInt();
+ this.columnSchemaList = new ArrayList<>(colSchemaSize);
+ for (int i = 0;i < colSchemaSize; i++) {
+ ColumnSchema colSchema = new ColumnSchema();
+ colSchema.readFields(input);
+ this.columnSchemaList.add(colSchema);
+ }
+ this.partitionType = PartitionType.values()[input.readInt()];
+ if (PartitionType.RANGE.equals(this.partitionType)) {
+ int rangeSize = input.readInt();
+ this.rangeInfo = new ArrayList<>(rangeSize);
+ for (int i = 0; i < rangeSize; i++) {
+ rangeInfo.add(input.readUTF());
+ }
+ }
+ int partitionIdSize = input.readInt();
+ partitionIds = new ArrayList<>(partitionIdSize);
+ for (int i = 0; i < partitionIdSize; i++) {
+ partitionIds.add(input.readInt());
+ }
+ if (PartitionType.LIST.equals(partitionType)) {
+ int listInfoSize = input.readInt();
+ int aListSize;
+ this.listInfo = new ArrayList<>(listInfoSize);
+ for (int i = 0; i < listInfoSize; i++) {
+ aListSize = input.readInt();
+ List<String> aList = new ArrayList<>(aListSize);
+ for (int j = 0; j < aListSize; j++) {
+ aList.add(input.readUTF());
+ }
+ this.listInfo.add(aList);
+ }
+ }
+
+ numPartitions = input.readInt();
+ maxPartitionId = input.readInt();
+ }
}
http://git-wip-us.apache.org/repos/asf/carbondata/blob/80fa37c5/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/TableSchema.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/TableSchema.java b/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/TableSchema.java
index a396d19..7dc41a4 100644
--- a/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/TableSchema.java
+++ b/core/src/main/java/org/apache/carbondata/core/metadata/schema/table/TableSchema.java
@@ -210,6 +210,19 @@ public class TableSchema implements Serializable, Writable {
for (ColumnSchema column : listOfColumns) {
column.write(out);
}
+
+ if (null != partitionInfo) {
+ out.writeBoolean(true);
+ partitionInfo.write(out);
+ } else {
+ out.writeBoolean(false);
+ }
+ if (null != bucketingInfo) {
+ out.writeBoolean(true);
+ bucketingInfo.write(out);
+ } else {
+ out.writeBoolean(false);
+ }
}
@Override
@@ -223,6 +236,18 @@ public class TableSchema implements Serializable, Writable {
schema.readFields(in);
this.listOfColumns.add(schema);
}
+
+ boolean partitionExists = in.readBoolean();
+ if (partitionExists) {
+ this.partitionInfo = new PartitionInfo();
+ this.partitionInfo.readFields(in);
+ }
+
+ boolean bucketingExists = in.readBoolean();
+ if (bucketingExists) {
+ this.bucketingInfo = new BucketingInfo();
+ this.bucketingInfo.readFields(in);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/carbondata/blob/80fa37c5/integration/spark-common-test/src/test/resources/partition_data.csv
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/resources/partition_data.csv b/integration/spark-common-test/src/test/resources/partition_data.csv
index ec20d92..ae83c56 100644
--- a/integration/spark-common-test/src/test/resources/partition_data.csv
+++ b/integration/spark-common-test/src/test/resources/partition_data.csv
@@ -25,4 +25,3 @@ id,vin,logdate,phonenumber,country,area,salary
24,A41158494839,2016/07/12,625371324,China,Asia,10023
25,A41158494840,2016/07/12,626381324,Good,OutSpace,10024
26,A41158494843,2016/07/12,625378824,NotGood,OutSpace,10025
-27,A41158494999,2016/07/12,625378824,Other,,10026
http://git-wip-us.apache.org/repos/asf/carbondata/blob/80fa37c5/integration/spark2/src/test/scala/org/apache/carbondata/spark/testsuite/partition/TestAlterPartitionTable.scala
----------------------------------------------------------------------
diff --git a/integration/spark2/src/test/scala/org/apache/carbondata/spark/testsuite/partition/TestAlterPartitionTable.scala b/integration/spark2/src/test/scala/org/apache/carbondata/spark/testsuite/partition/TestAlterPartitionTable.scala
index 29daac9..a4a431d 100644
--- a/integration/spark2/src/test/scala/org/apache/carbondata/spark/testsuite/partition/TestAlterPartitionTable.scala
+++ b/integration/spark2/src/test/scala/org/apache/carbondata/spark/testsuite/partition/TestAlterPartitionTable.scala
@@ -242,21 +242,21 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
}
- ignore("Alter table add partition: List Partition") {
+ test("Alter table add partition: List Partition") {
sql("""ALTER TABLE list_table_area ADD PARTITION ('OutSpace', 'Hi')""".stripMargin)
val carbonTable = CarbonMetadata.getInstance().getCarbonTable("default_list_table_area")
val partitionInfo = carbonTable.getPartitionInfo(carbonTable.getFactTableName)
val partitionIds = partitionInfo.getPartitionIds
val list_info = partitionInfo.getListInfo
assert(partitionIds == List(0, 1, 2, 3, 4, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 5)
+ assert(partitionInfo.getMaxPartitionId == 5)
assert(partitionInfo.getNumPartitions == 6)
assert(list_info.get(0).get(0) == "Asia")
assert(list_info.get(1).get(0) == "America")
assert(list_info.get(2).get(0) == "Europe")
assert(list_info.get(3).get(0) == "OutSpace")
assert(list_info.get(4).get(0) == "Hi")
- validateDataFiles("default_list_table_area", "0", Seq(0, 1, 2, 4))
+ validateDataFiles("default_list_table_area", "0", Seq(1, 2, 4))
val result_after = sql("select id, vin, logdate, phonenumber, country, area, salary from list_table_area")
val result_origin = sql("select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin")
checkAnswer(result_after, result_origin)
@@ -290,13 +290,13 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds2 = partitionInfo2.getPartitionIds
val list_info2 = partitionInfo2.getListInfo
assert(partitionIds2 == List(0, 1, 3, 4, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo2.getMAX_PARTITION == 5)
+ assert(partitionInfo2.getMaxPartitionId == 5)
assert(partitionInfo2.getNumPartitions == 5)
assert(list_info2.get(0).get(0) == "Asia")
assert(list_info2.get(1).get(0) == "Europe")
assert(list_info2.get(2).get(0) == "OutSpace")
assert(list_info2.get(3).get(0) == "Hi")
- validateDataFiles("default_list_table_area", "0", Seq(0, 1, 4))
+ validateDataFiles("default_list_table_area", "0", Seq(1, 4))
checkAnswer(sql("select id, vin, logdate, phonenumber, country, area, salary from list_table_area"),
sql("select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area <> 'America' "))
}
@@ -308,7 +308,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds = partitionInfo.getPartitionIds
val range_info = partitionInfo.getRangeInfo
assert(partitionIds == List(0, 1, 2, 3, 4, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 5)
+ assert(partitionInfo.getMaxPartitionId == 5)
assert(partitionInfo.getNumPartitions == 6)
assert(range_info.get(0) == "2014/01/01")
assert(range_info.get(1) == "2015/01/01")
@@ -346,7 +346,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds1 = partitionInfo1.getPartitionIds
val range_info1 = partitionInfo1.getRangeInfo
assert(partitionIds1 == List(0, 1, 2, 4, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo1.getMAX_PARTITION == 5)
+ assert(partitionInfo1.getMaxPartitionId == 5)
assert(partitionInfo1.getNumPartitions == 5)
assert(range_info1.get(0) == "2014/01/01")
assert(range_info1.get(1) == "2015/01/01")
@@ -377,7 +377,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds = partitionInfo.getPartitionIds
val list_info = partitionInfo.getListInfo
assert(partitionIds == List(0, 1, 2, 3, 6, 7, 8, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 8)
+ assert(partitionInfo.getMaxPartitionId == 8)
assert(partitionInfo.getNumPartitions == 8)
assert(list_info.get(0).get(0) == "China")
assert(list_info.get(0).get(1) == "US")
@@ -388,7 +388,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
assert(list_info.get(5).get(0) == "Good")
assert(list_info.get(5).get(1) == "NotGood")
assert(list_info.get(6).get(0) == "Korea")
- validateDataFiles("default_list_table_country", "0", Seq(0, 1, 2, 3, 8))
+ validateDataFiles("default_list_table_country", "0", Seq(1, 2, 3, 8))
val result_after = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_country""")
val result_origin = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_country_origin""")
checkAnswer(result_after, result_origin)
@@ -419,7 +419,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds1 = partitionInfo1.getPartitionIds
val list_info1 = partitionInfo1.getListInfo
assert(partitionIds1 == List(0, 1, 2, 3, 6, 7, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo1.getMAX_PARTITION == 8)
+ assert(partitionInfo1.getMaxPartitionId == 8)
assert(partitionInfo1.getNumPartitions == 7)
assert(list_info1.get(0).get(0) == "China")
assert(list_info1.get(0).get(1) == "US")
@@ -442,7 +442,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds = partitionInfo.getPartitionIds
val list_info = partitionInfo.getListInfo
assert(partitionIds == List(0, 1, 2, 3, 6, 7, 5, 10, 11, 12).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 12)
+ assert(partitionInfo.getMaxPartitionId == 12)
assert(partitionInfo.getNumPartitions == 10)
assert(list_info.get(0).get(0) == "China")
assert(list_info.get(0).get(1) == "US")
@@ -483,44 +483,45 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
test("Alter table split partition with extra space in New SubList: List Partition") {
sql("""ALTER TABLE list_table_area ADD PARTITION ('(One,Two, Three, Four)')""".stripMargin)
- sql("""ALTER TABLE list_table_area SPLIT PARTITION(4) INTO ('One', '(Two, Three )', 'Four')""".stripMargin)
+ sql("""ALTER TABLE list_table_area SPLIT PARTITION(6) INTO ('One', '(Two, Three )', 'Four')""".stripMargin)
val carbonTable = CarbonMetadata.getInstance().getCarbonTable("default_list_table_area")
val partitionInfo = carbonTable.getPartitionInfo(carbonTable.getFactTableName)
val partitionIds = partitionInfo.getPartitionIds
val list_info = partitionInfo.getListInfo
- assert(partitionIds == List(0, 1, 2, 3, 5, 6, 7).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 7)
- assert(partitionInfo.getNumPartitions == 7)
+ assert(partitionIds == List(0, 1, 3, 4, 5, 7, 8, 9).map(Integer.valueOf(_)).asJava)
+ assert(partitionInfo.getMaxPartitionId == 9)
+ assert(partitionInfo.getNumPartitions == 8)
assert(list_info.get(0).get(0) == "Asia")
- assert(list_info.get(1).get(0) == "America")
- assert(list_info.get(2).get(0) == "Europe")
- assert(list_info.get(3).get(0) == "One")
- assert(list_info.get(4).get(0) == "Two")
- assert(list_info.get(4).get(1) == "Three")
- assert(list_info.get(5).get(0) == "Four")
- validateDataFiles("default_list_table_area", "0", Seq(0, 1, 2))
+ assert(list_info.get(1).get(0) == "Europe")
+ assert(list_info.get(2).get(0) == "OutSpace")
+ assert(list_info.get(3).get(0) == "Hi")
+ assert(list_info.get(4).get(0) == "One")
+ assert(list_info.get(5).get(0) == "Two")
+ assert(list_info.get(5).get(1) == "Three")
+ assert(list_info.get(6).get(0) == "Four")
+ validateDataFiles("default_list_table_area", "0", Seq(1, 4))
val result_after = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area""")
- val result_origin = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin""")
+ val result_origin = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area <> 'America' """)
checkAnswer(result_after, result_origin)
val result_after1 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area where area < 'Four' """)
- val result_origin1 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area < 'Four' """)
+ val result_origin1 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area < 'Four' and area <> 'America' """)
checkAnswer(result_after1, result_origin1)
val result_after2 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area where area <= 'Four' """)
- val result_origin2 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area <= 'Four' """)
+ val result_origin2 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area <= 'Four' and area <> 'America' """)
checkAnswer(result_after2, result_origin2)
val result_after3 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area where area = 'Four' """)
- val result_origin3 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area = 'Four' """)
+ val result_origin3 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area = 'Four' and area <> 'America' """)
checkAnswer(result_after3, result_origin3)
val result_after4 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area where area >= 'Four' """)
- val result_origin4 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area >= 'Four' """)
+ val result_origin4 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area >= 'Four' and area <> 'America' """)
checkAnswer(result_after4, result_origin4)
val result_after5 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area where area > 'Four' """)
- val result_origin5 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area > 'Four' """)
+ val result_origin5 = sql("""select id, vin, logdate, phonenumber, country, area, salary from list_table_area_origin where area > 'Four' and area <> 'America' """)
checkAnswer(result_after5, result_origin5)
}
@@ -531,7 +532,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds = partitionInfo.getPartitionIds
val rangeInfo = partitionInfo.getRangeInfo
assert(partitionIds == List(0, 1, 2, 3, 5, 6).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 6)
+ assert(partitionInfo.getMaxPartitionId == 6)
assert(partitionInfo.getNumPartitions == 6)
assert(rangeInfo.get(0) == "2014/01/01")
assert(rangeInfo.get(1) == "2015/01/01")
@@ -569,7 +570,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds1 = partitionInfo1.getPartitionIds
val rangeInfo1 = partitionInfo1.getRangeInfo
assert(partitionIds1 == List(0, 1, 2, 3, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo1.getMAX_PARTITION == 6)
+ assert(partitionInfo1.getMaxPartitionId == 6)
assert(partitionInfo1.getNumPartitions == 5)
assert(rangeInfo1.get(0) == "2014/01/01")
assert(rangeInfo1.get(1) == "2015/01/01")
@@ -589,7 +590,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds = partitionInfo.getPartitionIds
val rangeInfo = partitionInfo.getRangeInfo
assert(partitionIds == List(0, 1, 2, 3, 5, 6).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo.getMAX_PARTITION == 6)
+ assert(partitionInfo.getMaxPartitionId == 6)
assert(partitionInfo.getNumPartitions == 6)
assert(rangeInfo.get(0) == "2014/01/01")
assert(rangeInfo.get(1) == "2015/01/01")
@@ -627,7 +628,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds1 = partitionInfo1.getPartitionIds
val rangeInfo1 = partitionInfo1.getRangeInfo
assert(partitionIds1 == List(0, 1, 2, 3, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo1.getMAX_PARTITION == 6)
+ assert(partitionInfo1.getMaxPartitionId == 6)
assert(partitionInfo1.getNumPartitions == 5)
assert(rangeInfo1.get(0) == "2014/01/01")
assert(rangeInfo1.get(1) == "2015/01/01")
@@ -645,7 +646,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds2 = partitionInfo2.getPartitionIds
val rangeInfo2 = partitionInfo2.getRangeInfo
assert(partitionIds2 == List(0, 1, 2, 5).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo2.getMAX_PARTITION == 6)
+ assert(partitionInfo2.getMaxPartitionId == 6)
assert(partitionInfo2.getNumPartitions == 4)
assert(rangeInfo2.get(0) == "2014/01/01")
assert(rangeInfo2.get(1) == "2015/01/01")
@@ -662,7 +663,7 @@ class TestAlterPartitionTable extends QueryTest with BeforeAndAfterAll {
val partitionIds3 = partitionInfo3.getPartitionIds
val rangeInfo3 = partitionInfo3.getRangeInfo
assert(partitionIds3 == List(0, 1, 2).map(Integer.valueOf(_)).asJava)
- assert(partitionInfo3.getMAX_PARTITION == 6)
+ assert(partitionInfo3.getMaxPartitionId == 6)
assert(partitionInfo3.getNumPartitions == 3)
assert(rangeInfo3.get(0) == "2014/01/01")
assert(rangeInfo3.get(1) == "2015/01/01")