Re: add function argument name to substring and substr

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: add function argument name to substring and substr
Дата
Msg-id CAKFQuwa-j+oA23EVA7qk+AUdpi24d1LC_O9MH5oSnzOv2McEhg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: add function argument name to substring and substr  (jian he <jian.universality@gmail.com>)
Ответы Re: add function argument name to substring and substr
Список pgsql-hackers
On Tue, Mar 18, 2025 at 6:20 PM jian he <jian.universality@gmail.com> wrote:
On Wed, Mar 19, 2025 at 8:19 AM David G. Johnston
<david.g.johnston@gmail.com> wrote:
>
> The vast majority of examples throughout the manual use traditional function call syntax  func_name(arg1, arg2, etc.);  I'd rather keep with convention than start to scatter about alternative syntax choices just to give the random reader who happens upon this fairly esoteric part of the manual the benefit of seeing their options.  If that is a goal, then I'd suggest spending some time in our Tutorial adding some more examples with these alternative forms to people looking to be exposed to new things in the place they'd go to look for them.  They probably won't learn about them from the Syntax section.
>
> On the plus side, I agree now we should add:
> substring(string text, pattern text[, escape-character text])
> to Table 9.10
>
in Table Table 9.9 we have
```
substring ( string text FROM pattern text ) → text
Extracts the first substring matching POSIX regular expression; see
Section 9.7.3.
substring('Thomas' from '...$') → mas
```

can we change to
substring ( string text FROM pattern text ) → text
substring ( string text, pattern text ) → text
Extracts the first substring matching POSIX regular expression;
the second format is not standardized. see Section 9.7.3.
substring('Thomas' from '...$') → mas


No, based on the (I presume) fact that the substring(string, pattern) variant is not defined in the SQL standard and Table 9.9 is reserved for those functions.

It would be a different, but probably worth considering, patch to simply combine Tables 9.9 and 9.10 and just denote which entries are standard and which are not.  The decision to split the tables along that property came well before our current table format which seems much more amenable to merging them together.


if we add to
``substring ( string text, pattern text ) → text``
Table 9.10,
then maybe it feels like duplication?
(same function in Table 9.9, Table 9.10, then we also need some words
saying that they are the same)

We can/should add substring(string, pattern) to Table 9.10 for the same reason and the same general wording that substr(string, start) exists on that table.

I would be in favor of adding a similar "same as" comment to the functions in Table 9.9

I just now processed the cross references in Table 9.9 to the POSIX section.  The new entry in Table 9.10 would want that too.

David J.

В списке pgsql-hackers по дате отправления: