asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Murtadha Hubail <hubail...@gmail.com>
Subject Re: Counting character positions inside a string
Date Tue, 30 Jan 2018 19:57:06 GMT
+1

Cheers,
Murtadha

On 01/30/2018, 10:55 PM, "Mike Carey" <dtabass@gmail.com> wrote:

    +1
    
    Likewise
    
    
    On 1/30/18 11:22 AM, Till Westmann wrote:
    > Sounds good to me.
    >
    > +1
    >
    > Cheers,
    > Till
    >
    > On 29 Jan 2018, at 18:54, Dmitry Lychagin wrote:
    >
    >> All,
    >>
    >> We would like to change how string functions count character 
    >> positions inside a string.
    >> Currently string functions position(), substring() and some others 
    >> assume that the first character is at position 1.
    >> The proposal is to change the first position to 0, to better align 
    >> with array element positions (which also start with 0), and other 
    >> languages (JavaScript, etc).
    >> This change will also apply to binary functions (see below) and will 
    >> be effective in both SQLPP and AQL.
    >>
    >> The following functions will be affected:
    >> position(),
    >> regexp_position(),
    >> substring()/substr(),
    >> sub_binary(),
    >> find_binary()
    >>
    >> This might be a disrupting change for some users so we will also 
    >> introduce a cluster-wide configuration parameter 
    >> (“compiler.stringoffset”) for backwards compatibility:
    >> compiler.stringoffset = 0   // first character position is assumed to 
    >> be 0 (new default)
    >> compiler.stringoffset = 1   // first character position is assumed to 
    >> be 1 (backwards-compatible setting)
    >>
    >> The query migration path is straightforward, for example:
    >> substring(“abcdef”, 1) will need to be changed to substring(“abcdef”,

    >> 0), etc, same applies to sub_binary().
    >> position(), regexp_position(), and find_binary() will return one less 
    >> than they used to, but would still return -1 if the value is not found.
    >>
    >> Please share your comments and concerns.
    >> Thanks,
    >> -- Dmitry
    
    



Mime
View raw message