[ https://issues.apache.org/jira/browse/TRAFODION-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16550251#comment-16550251 ]
ASF GitHub Bot commented on TRAFODION-3136: ------------------------------------------- GitHub user zlei929 opened a pull request: https://github.com/apache/trafodion/pull/1654 [TRAFODION-3136] Bug fixed: If position is a negative value, the result does not match expectations. **Before this, the result of below SQL are incorrect:** >> select split_part('aaabbcc', 'bb', -2) from dual; (EXPR) ------ --- 1 row(s) selected. (error) **for now,** >> select split_part('aaabbcc', 'bb', -2) from dual; *** ERROR[8691] Field position must be greater than zero, currently is -2. --- 0 row(s) selected. You can merge this pull request into a Git repository by running: $ git pull https://github.com/zlei929/trafodion TRAFODION-3136 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/trafodion/pull/1654.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1654 ---- commit 153368d2d1e1f6f5e279ded0e6d4902bba43a498 Author: zlei929 <z_lei929@...> Date: 2018-07-20T04:18:28Z modified: ../generator/GenPreCode.cpp modified: ../optimizer/ItemFunc.h commit b054192046526e9569214f9305ba98d27595358d Author: zlei929 <z_lei929@...> Date: 2018-07-20T05:10:30Z modified: core/sql/regress/core/EXPECTED038.LINUX modified: core/sql/regress/core/TEST038 ---- > Improve on split_part builtin-function > -------------------------------------- > > Key: TRAFODION-3136 > URL: https://issues.apache.org/jira/browse/TRAFODION-3136 > Project: Apache Trafodion > Issue Type: Improvement > Reporter: zhang.lei > Assignee: zhang.lei > Priority: Major > > {color:#FF0000}use like below descripyon:{color} > > >>select split_part('sa:sbl:sc', ':', 1) from t038sf; > (EXPR) > --------- > sa > --- 1 row(s) selected. > >>select split_part('sa:sbl:sc', ':', 2) from t038sf; > (EXPR) > --------- > sbl > --- 1 row(s) selected. > >>select split_part('sa:sbl:sc', ':', 3) from t038sf; > (EXPR) > --------- > sc > --- 1 row(s) selected. > >> > >>-- **ERROR** > >>select split_part('sa:sbl:sc', ':', 0) from t038sf; > *** ERROR[4497] The Third operand of split_part must be greater than 0 > --- 0 row(s) selected. > >>–**EMPTY RESULT** > >>select split_part('sa:sbl:sc', ':', 4) from t038sf; > (EXPR) > --------- > > --- 1 row(s) selected. > > >> create table T038sf(a int, b char(10), c varchar(30)); > >>insert into T038sf values(110, 'a/b/c', 'sa/dsd/s'); > --- 1 row(s) inserted. > >>insert into T038sf values(111, 'sasd', 'dsa:/~sd'); > --- 1 row(s) inserted. > >>insert into T038sf values(112, '#$%$#@', 'dsasggggsad'); > --- 1 row(s) inserted. > >>insert into T038sf values(114, 'a', '这是^中文:测试'); > --- 1 row(s) inserted. > >>select split_part(c, '/', 2) from t038sf; > (EXPR) > ------------------------------ > dsd > ~sd > > > --- 4 row(s) selected. > >>select split_part(c, 'ggg', 2) from t038sf; > (EXPR) > ------------------------------ > > gsad > --- 4 row(s) selected. > >>select split_part(c, 'sd', 1) from t038sf; > (EXPR) > ------------------------------ > sa/d > dsa:/~ > > > --- 4 row(s) selected. > > >>select split_part(c, ':', 1) from t038sf; > (EXPR) > ------------------------------ > > 这是^中文 > --- 4 row(s) selected. -- This message was sent by Atlassian JIRA (v7.6.3#76005)