[ 
https://issues.apache.org/jira/browse/TRAFODION-2353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15690301#comment-15690301
 ] 

ASF GitHub Bot commented on TRAFODION-2353:
-------------------------------------------

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

    https://github.com/apache/incubator-trafodion/pull/842#discussion_r89330936
  
    --- Diff: core/sql/exp/exp_like.cpp ---
    @@ -477,6 +501,51 @@ ex_like_clause_base::processNulls(char *op_data[], 
CollHeap *heap,
       return ex_expr::EXPR_OK;
     }
     
    +
    +ex_expr::exp_return_type ExRegexpClauseChar::eval(char *op_data[],
    +                                         CollHeap* exHeap,
    +                                         ComDiagsArea** diagsArea)
    +{
    +  NABoolean matchFlag = true;
    +  Lng32 len1 = getOperand(1)->getLength(op_data[-MAX_OPERANDS+1]);
    +  Lng32 len2 = getOperand(2)->getLength(op_data[-MAX_OPERANDS+2]);
    +  regex_t reg;
    +  regmatch_t pm[1];
    +  const size_t nmatch = 1;
    +  Lng32 cflags, z;
    +  char * pattern;
    +  char *srcStr= new (exHeap) char[len1+1];
    +
    +  cflags = REG_EXTENDED|REG_NEWLINE;
    +  pattern = new (exHeap) char[len2+1];
    +  pattern[len2]=0;
    +  srcStr[len1]=0;
    +
    +  str_cpy_all(pattern, op_data[2], len2);
    +  str_cpy_all(srcStr, op_data[1], len1);
    +
    +  z = regcomp(&reg, pattern, cflags);
    +
    +  if (z != 0){
    +    //ERROR
    +    ExRaiseSqlError(exHeap, diagsArea, EXE_BAD_ARG_TO_MATH_FUNC);
    --- End diff --
    
    yes, the current error handling is not quite correct, I misunderstand the 
regexec return value. Thanks Dave for your carefully review. We should return 
SQL Error when regexec return error. And enhance the error msg.


> support of the regexp operator
> ------------------------------
>
>                 Key: TRAFODION-2353
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2353
>             Project: Apache Trafodion
>          Issue Type: New Feature
>            Reporter: liu ming
>            Assignee: liu ming
>
> It is desired to have REGEXP.
> Some initial researching already done in: 
> https://cwiki.apache.org/confluence/display/TRAFODION/Example+Enhancement%3A+Add+a+New+Built-in+Function
> This JIRA is to add REGEXP operator, not including functions may required 
> future, if required, related JIRA will be created.
> The good advice in the wiki is to do new features incrementally. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to