carbondata-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jackylk <...@git.apache.org>
Subject [GitHub] carbondata pull request #1524: [CARBONDATA-1762] Remove existing column leve...
Date Sat, 18 Nov 2017 06:53:35 GMT
Github user jackylk commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/1524#discussion_r151831356
  
    --- Diff: integration/spark-common/src/main/scala/org/apache/carbondata/spark/load/ValidateUtil.scala
---
    @@ -17,35 +17,32 @@
     
     package org.apache.carbondata.spark.load
     
    -import scala.collection.JavaConverters._
    +import java.text.SimpleDateFormat
     
    -import org.apache.carbondata.core.constants.CarbonCommonConstants
     import org.apache.carbondata.core.metadata.schema.table.CarbonTable
    -import org.apache.carbondata.processing.loading.model.CarbonLoadModel
     import org.apache.carbondata.processing.loading.sort.SortScopeOptions
     import org.apache.carbondata.spark.exception.MalformedCarbonCommandException
     
     object ValidateUtil {
    -  def validateDateFormat(dateFormat: String, table: CarbonTable, tableName: String):
Unit = {
    -    val dimensions = table.getDimensionByTableName(tableName).asScala
    +
    +  /**
    +   * validates both timestamp and date for illegal values
    +   *
    +   * @param dateTimeLoadFormat
    +   * @param dateTimeLoadOption
    +   */
    +  def validateDateTimeFormat(dateTimeLoadFormat: String, dateTimeLoadOption: String):
Unit = {
         // allowing empty value to be configured for dateformat option.
    -    if (dateFormat != null && dateFormat.trim != "") {
    -        val dateFormats: Array[String] = dateFormat.split(CarbonCommonConstants.COMMA)
    -        for (singleDateFormat <- dateFormats) {
    -          val dateFormatSplits: Array[String] = singleDateFormat.split(":", 2)
    -          val columnName = dateFormatSplits(0).trim.toLowerCase
    -          if (!dimensions.exists(_.getColName.equals(columnName))) {
    -            throw new MalformedCarbonCommandException("Error: Wrong Column Name " +
    -              dateFormatSplits(0) +
    -              " is provided in Option DateFormat.")
    -          }
    -          if (dateFormatSplits.length < 2 || dateFormatSplits(1).trim.isEmpty) {
    -            throw new MalformedCarbonCommandException("Error: Option DateFormat is not
provided " +
    -              "for " + "Column " + dateFormatSplits(0) +
    -              ".")
    -          }
    -        }
    +    if (dateTimeLoadFormat != null && dateTimeLoadFormat.trim != "") {
    +      try {
    +        new SimpleDateFormat(dateTimeLoadFormat)
           }
    +      catch {
    +        case _: IllegalArgumentException =>
    +          throw new MalformedCarbonCommandException("Error: Wrong option: " + dateTimeLoadFormat
+
    --- End diff --
    
    use $ for variable


---

Mime
View raw message