trafodion-codereview mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DaveBirdsall <...@git.apache.org>
Subject [GitHub] trafodion pull request #1502: various fixes, details in pull request
Date Thu, 05 Apr 2018 17:51:51 GMT
Github user DaveBirdsall commented on a diff in the pull request:

    https://github.com/apache/trafodion/pull/1502#discussion_r179543357
  
    --- Diff: core/sql/executor/ExExeUtilGet.cpp ---
    @@ -5795,40 +5833,51 @@ short ExExeUtilHiveMDaccessTcb::work()
                 str_cpy(infoCol->colName, 
                         (hcd ? hcd->name_ : hpd->name_), 256, ' ');
     
    -            infoCol->fsDatatype = 
    -              getFSTypeFromHiveColType(hcd ? hcd->type_ : hpd->type_);
    -
    -	    if (infoCol->fsDatatype < 0)
    +            Lng32 fstype = -1;
    +            Lng32 length = -1;
    +            Lng32 precision = -1;
    +            Lng32 scale = -1;
    +            char sqlType[50];
    +            char displayType[100];
    +            char charset[50];
    +            retcode = 
    +              getTypeAttrsFromHiveColType(hcd ? hcd->type_ : hpd->type_,
    +                                          htd->getSDs()->isOrcFile(),
    +                                          fstype, length, precision, scale,
    +                                          sqlType, displayType, charset);
    +                 
    +	    if (retcode < 0)
     	      {
    +                // add a warning and continue.
     		char strP[300];
    -		sprintf(strP, "Datatype %s is not supported.", 
    -                        (hcd ? hcd->type_ : hpd->type_));
    -		*diags << DgSqlCode(-CLI_GET_METADATA_INFO_ERROR)
    +		sprintf(strP, "Datatype %s for column '%s' in table %s.%s.%s is not supported. This
table will be ignored.", 
    +                        (hcd ? hcd->type_ : hpd->type_),
    +                        (hcd ? hcd->name_ : hpd->name_),
    +                        hiveCat_, hiveSch_, htd->tblName_);
    +		*diags << DgSqlCode(CLI_GET_METADATA_INFO_ERROR)
     		       << DgString0(strP);
    -		
    -		step_ = HANDLE_ERROR_;
    -		break;
    +
    +                step_ = ADVANCE_ROW_;
    --- End diff --
    
    getTypeAttrsFromHiveColType only initializes some of the output fields when it returns
an error. Since we are converting the error to a warning now, it seems like it should initialize
all of the output fields, or we should initialize them here.


---

Mime
View raw message