You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tajo.apache.org by "KyoungBok Lee (JIRA)" <ji...@apache.org> on 2013/12/07 14:13:35 UTC

[jira] [Comment Edited] (TAJO-343) Implement locate function

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

KyoungBok Lee edited comment on TAJO-343 at 12/7/13 1:13 PM:
-------------------------------------------------------------

Hyunsik Choi, I have a question.
# If *pos* is a negative integer, what should be returned? null or 0?
# If *substr* is the empty string(""),  how process this case?

※ locate() seems to be mysql's function. right? Then,
function signature is bellow.
{code}
int4 locate(substr text, string text, [, pos])

SELECT locate('bar', 'foobarbar', 5);
-> 7
{code}
And, result is bellow case by case.
{code}
mysql> select locate('bar', 'foobarbar', 5) as col1;
+------+
| col1 |
+------+
|    7 |
+------+
1 row in set (0.00 sec)

mysql> select locate('bar', 'foobarbar') as col1;
+------+
| col1 |
+------+
|    4 |
+------+
1 row in set (0.00 sec)

mysql> select locate('', 'foobarbar') as col1;
+------+
| col1 |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

mysql> select locate('bar', 'foobarbar', -1) as col1;
+------+
| col1 |
+------+
|    0 |
+------+
1 row in set (0.00 sec)
{code}

Anyway, I will implement as requested now.


was (Author: deepblue.kblee):
Hyunsik Choi, I have a question.
If *pos* is a negative integer, what should be returned? null or 0?

> Implement locate function
> -------------------------
>
>                 Key: TAJO-343
>                 URL: https://issues.apache.org/jira/browse/TAJO-343
>             Project: Tajo
>          Issue Type: New Feature
>          Components: operator/function/udf
>            Reporter: Hyunsik Choi
>            Assignee: KyoungBok Lee
>            Priority: Minor
>             Fix For: 0.8-incubating
>
>
> h3. Function definition
> {code}
> int4 locate(string text, substr text, [, pos])
> {code}
> h3. Description
> Returns the position of the first occurance of substr in str after position pos
>  * The result is one-based index.
>  * If string or substr is null, the result should be null.
>  * *pos* is one-based index.
>  * *pos* cannot be a negative integer.
>  * If 0 is given to *pos*, the function considers that pos is 1.
>  * If there is no pos, the function considers that pos is 1.
>  * If there is no matched substring, the result should be 0.
> h3. Example
> {code}
> SELECT locate('foobarbar', 'bar',5);
> -> 7
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)