[
https://issues.apache.org/jira/browse/TRAFODION-2483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964406#comment-15964406
]
ASF GitHub Bot commented on TRAFODION-2483:
-------------------------------------------
Github user selvaganesang commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/1055#discussion_r110909382
--- Diff: core/sql/executor/ExHdfsScan.cpp ---
@@ -1653,7 +1653,7 @@ char *
ExHdfsScanTcb::extractAndTransformAsciiSourceToSqlRow(int &err,
// for non-varchar, length of zero indicates a null
value.
// For all datatypes, HIVE_DEFAULT_NULL_STRING('\N')
indicates a null value.
if (((len == 0) && (tgtAttr && (NOT
DFS2REC::isSQLVarChar(tgtAttr->getDatatype())))) ||
- ((len > 0) && (memcmp(sourceData,
HIVE_DEFAULT_NULL_STRING, len) == 0)))
+ ((len == strlen(HIVE_DEFAULT_NULL_STRING)) &&
(memcmp(sourceData, HIVE_DEFAULT_NULL_STRING, len) == 0)))
--- End diff --
I am not sure if the c++ compiler would optimize this. You could improve
this further by getting the strlen only once in the TCB
> Trafodion treat '\' as NULL in hive table
> -----------------------------------------
>
> Key: TRAFODION-2483
> URL: https://issues.apache.org/jira/browse/TRAFODION-2483
> Project: Apache Trafodion
> Issue Type: Bug
> Reporter: liu ming
> Assignee: Yang, Yongfeng
>
> If the source data in a hive table have '\', it will be mistakenly treated as
> NULL value ('\N').
> Not correct string comparing inside
> ExHdfsScanTcb::extractAndTransformAsciiSourceToSqlRow
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)