On Tue, Jan 21, 2025 at 11:21 PM jian he <jian.universal...@gmail.com>
wrote:

> hi.
>
> attached patch add function argument name to function substring and substr
> you can see the visual changes.
> mater behavior:
>
> \df substring
>                              List of functions
>    Schema   |   Name    | Result data type |   Argument data types   | Type
>
> ------------+-----------+------------------+-------------------------+------
>  pg_catalog | substring | bit              | bit, integer            | func
>  pg_catalog | substring | bit              | bit, integer, integer   | func
>  pg_catalog | substring | bytea         | bytea, integer          | func
>  pg_catalog | substring | bytea         | bytea, integer, integer | func
>  pg_catalog | substring | text             | text, integer           | func
>  pg_catalog | substring | text             | text, integer, integer  | func
>  pg_catalog | substring | text             | text, text              | func
>  pg_catalog | substring | text             | text, text, text        | func
>
> with patch
>                                           List of functions
>    Schema   |   Name    | Result data type |               Argument
> data types                | Type
>
> ------------+-----------+------------------+--------------------------------------------------+------
>  pg_catalog | substring | bit              | bits bit, start integer
>                        | func
>  pg_catalog | substring | bit              | bits bit, start integer,
> count integer           | func
>  pg_catalog | substring | bytea         | bytes bytea, start integer
>                     | func
>  pg_catalog | substring | bytea         | bytes bytea, start integer,
> count integer        | func
>  pg_catalog | substring | text             | string text, pattern text
>                        | func
>  pg_catalog | substring | text             | string text, pattern
> text, escape_character text | func
>  pg_catalog | substring | text             | string text, start
> integer                       | func
>  pg_catalog | substring | text             | string text, start
> integer, count integer        | func
>
> I did the same change to the function substr.
> since 9.7.2. SIMILAR TO Regular Expressions we use
> substring(string, pattern, escape-character)
> so i refactor the substring function argument name to
> substring(string text, pattern text, escape_character text).
>
> we can make it as ``substring(string text, pattern text, escape text).``
> then in 9.7.2, we need to change the substring synopsis section.
>
>
>

> one thing I am not sure is about
> 9.4. String Functions and Operators
> Table 9.9. SQL String Functions and Operators.
> Do we need entries for substring related functions?
>
> current signature
> substring ( string text [ FROM start integer ] [ FOR count integer ] )
> is kind of different from
> substring(string text, start integer, count integer).
> since the previous one can allow keywords "FROM", "FOR", the latter one
> won't.
>
>
Table 9.9 limits itself to those functions defined in the SQL standard;
which are basically the ones that use keywords instead of commas.

The substring(string, start, count) function you note is already covered in
Table 9.10 but we spell it substr(...)

I don't think adding yet more spellings of this same function is warranted
or desirable at this point.  I'd maybe add a note if substring(,,,) works
to substr saying that substring is a valid alias.  I could be convinced to
just document though.

David J.

Reply via email to