Github user ravipesala commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2659#discussion_r212829790
  
    --- Diff: 
integration/spark-datasource/src/test/scala/org/apache/spark/sql/carbondata/datasource/SparkCarbonDataSourceTest.scala
 ---
    @@ -285,6 +285,44 @@ class SparkCarbonDataSourceTest extends FunSuite  with 
BeforeAndAfterAll {
         spark.sql("drop table if exists date_parquet_table")
       }
     
    +  test("test write with array type with filter") {
    +    spark.sql("drop table if exists carbon_table")
    +    spark.sql("drop table if exists parquet_table")
    +    import spark.implicits._
    +    val df = spark.sparkContext.parallelize(1 to 10)
    +      .map(x => ("a" + x % 10, Array("b", "c"), x))
    +      .toDF("c1", "c2", "number")
    +
    +    df.write
    +      .format("parquet").saveAsTable("parquet_table")
    +    spark.sql("create table carbon_table(c1 string, c2 array<string>, 
number int) using carbon")
    +    spark.sql("insert into carbon_table select * from parquet_table")
    +    assert(spark.sql("select * from carbon_table").count() == 10)
    +    TestUtil.checkAnswer(spark.sql("select * from carbon_table where 
c1='a1' and c2[0]='b'"), spark.sql("select * from parquet_table where c1='a1' 
and c2[0]='b'"))
    +    TestUtil.checkAnswer(spark.sql("select * from carbon_table"), 
spark.sql("select * from parquet_table"))
    +    spark.sql("drop table if exists carbon_table")
    +    spark.sql("drop table if exists parquet_table")
    +  }
    +
    +  test("test write with struct type with filter") {
    +    spark.sql("drop table if exists carbon_table")
    +    spark.sql("drop table if exists parquet_table")
    +    import spark.implicits._
    +    val df = spark.sparkContext.parallelize(1 to 10)
    +      .map(x => ("a" + x % 10, ("b", "c"), x))
    +      .toDF("c1", "c2", "number")
    +
    +    df.write
    +      .format("parquet").saveAsTable("parquet_table")
    +    spark.sql("create table carbon_table(c1 string, c2 struct<a1:string, 
a2:string>, number int) using carbon")
    --- End diff --
    
    ok


---

Reply via email to