From 0e2921bfe1918693ac67fd4ab63d44007950c7ab Mon Sep 17 00:00:00 2001 From: Shubh18s Date: Fri, 14 Dec 2018 14:41:06 +0530 Subject: [PATCH] [CARBONDATA-3174]varchar column trailing space issue fixed --- .../TestNonTransactionalCarbonTable.scala | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/createTable/TestNonTransactionalCarbonTable.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/createTable/TestNonTransactionalCarbonTable.scala index 06d41b1c29c..8cd72eb90f2 100644 --- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/createTable/TestNonTransactionalCarbonTable.scala +++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/createTable/TestNonTransactionalCarbonTable.scala @@ -2537,6 +2537,54 @@ class TestNonTransactionalCarbonTable extends QueryTest with BeforeAndAfterAll { FileUtils.deleteDirectory(new File(writerPath)) } + test("check varchar with trailing space") { + FileUtils.deleteDirectory(new File(writerPath)) + val fields: Array[Field] = new Array[Field](8) + + fields(0) = new Field("Event_ID", DataTypes.STRING) + fields(1) = new Field("Event_Time", DataTypes.TIMESTAMP) + fields(2) = new Field("subject", DataTypes.VARCHAR) + fields(3) = new Field("From_Email", DataTypes.STRING) + fields(4) = new Field("To_Email", DataTypes.createArrayType(DataTypes.STRING)) + fields(5) = new Field("CC_Email", DataTypes.createArrayType(DataTypes.STRING)) + fields(6) = new Field("BCC_Email", DataTypes.createArrayType(DataTypes.STRING)) + fields(7) = new Field("messagebody ", DataTypes.VARCHAR) + + var options = Map("bAd_RECords_action" -> "FORCE").asJava + CarbonProperties.getInstance() + .addProperty(CarbonCommonConstants.CARBON_TIMESTAMP_FORMAT, "EEE, d MMM yyyy HH:mm:ss Z") + + val writer: CarbonWriter = CarbonWriter.builder + .outputPath(writerPath) + .withCsvInput(new Schema(fields)).writtenBy("TestNonTransactionalCarbonTable").build() + + writer + .write(Array("aaa", + "Fri, 4 May 2001 13:51:00 -0700 (PDT)", + "Re", + "cdn@ws.com", + "sd#er", + "sd", + "sds", + "ew")) + writer.close() + + sql("drop table if exists test") + sql( + s"""CREATE TABLE test using carbon options('long_string_columns'='subject,messagebody') + |LOCATION '$writerPath'""" + .stripMargin) + checkAnswer(sql("select * from test"), Seq(Row("aaa", + Timestamp.valueOf("2001-05-04 13:51:00.0"), + "Re", + "cdn@ws.com", + mutable.WrappedArray.make(Array("sd#er")), + mutable.WrappedArray.make(Array("sd")), + mutable.WrappedArray.make(Array("sds")), + "ew"))) + FileUtils.deleteDirectory(new File(writerPath)) + } + def generateCarbonData(builder :CarbonWriterBuilder): Unit ={ val fields = new Array[Field](3) fields(0) = new Field("name", DataTypes.STRING)