Re: doc: improve PG 12 to_timestamp()/to_date() wording

2019-07-08 Thread Bruce Momjian
On Sat, Jul  6, 2019 at 03:24:25PM -0500, Justin Pryzby wrote:
> On Tue, Apr 30, 2019 at 07:14:04PM -0500, Justin Pryzby wrote:
> > On Tue, Apr 30, 2019 at 09:48:14PM +0300, Alexander Korotkov wrote:
> > > I'd like to add couple of comments from my side.
> > 
> > > > -   returns an error because the second template string space is 
> > > > consumed
> > > > -   by the letter J in the input string.
> > > > +   returns an error because the second space in the template 
> > > > string consumes
> > > > +   the letter M from the input string.
> > > 
> > > Why M?  There is no letter "M" is input string.
> > > The issue here is that we already consumed "J" from "JUN" and trying
> > > to match "UN" to "MON".  So, I think we should live
> > > J here.  The rest of this change looks good.
> > 
> > Seems like I confused myself while resolving rebase conflict.
> > 
> > Thanks for checking.
> 
> Find attached updated patch, which seems to still be needed.
> 
> This was subsumed and now extracted from a larger patch, from which Michael at
> one point applied a few hunks.
> I have some minor updates based on review from Andres, but there didn't seem 
> to
> be much interest so I haven't pursued it.
> https://www.postgresql.org/message-id/20190520182001.GA25675%40telsasoft.com

Patch applied back through PG 12.  Thanks.

-- 
  Bruce Momjian  http://momjian.us
  EnterpriseDB http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+  Ancient Roman grave inscription +




Re: doc: improve PG 12 to_timestamp()/to_date() wording

2019-07-06 Thread Justin Pryzby
On Tue, Apr 30, 2019 at 07:14:04PM -0500, Justin Pryzby wrote:
> On Tue, Apr 30, 2019 at 09:48:14PM +0300, Alexander Korotkov wrote:
> > I'd like to add couple of comments from my side.
> 
> > > -   returns an error because the second template string space is 
> > > consumed
> > > -   by the letter J in the input string.
> > > +   returns an error because the second space in the template string 
> > > consumes
> > > +   the letter M from the input string.
> > 
> > Why M?  There is no letter "M" is input string.
> > The issue here is that we already consumed "J" from "JUN" and trying
> > to match "UN" to "MON".  So, I think we should live
> > J here.  The rest of this change looks good.
> 
> Seems like I confused myself while resolving rebase conflict.
> 
> Thanks for checking.

Find attached updated patch, which seems to still be needed.

This was subsumed and now extracted from a larger patch, from which Michael at
one point applied a few hunks.
I have some minor updates based on review from Andres, but there didn't seem to
be much interest so I haven't pursued it.
https://www.postgresql.org/message-id/20190520182001.GA25675%40telsasoft.com

Justin
>From 2ca5c2f2f8ad8bb8a681aea7ca78131f1f99d756 Mon Sep 17 00:00:00 2001
From: Justin Pryzby 
Date: Sat, 30 Mar 2019 03:42:35 -0500
Subject: [PATCH v3 08/12] Clean up language in cf984672: Improve behavior of
 to_timestamp()/to_date() functions

---
 doc/src/sgml/func.sgml | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index d425731..c5f1828 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -6426,20 +6426,20 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}');
   
   
If FX is specified, a separator in the template string
-   matches exactly one character in input string.  Notice we don't insist the
-   input string character be the same as the template string separator.
+   matches exactly one character in the input string.  But note that the
+   input string character is not required to be the same as the separator from the template string.
For example, to_timestamp('2000/JUN', 'FX MON')
works, but to_timestamp('2000/JUN', 'FXMON')
-   returns an error because the second template string space is consumed
-   by the letter J in the input string.
+   returns an error because the second space in the template string consumes
+   the letter J from the input string.
   
  
 
  
   
A TZH template pattern can match a signed number.
-   Without the FX option, it can lead to ambiguity in
-   interpretation of the minus sign, which can also be interpreted as a separator.
+   Without the FX option, minus signs may be ambiguous,
+   and could be interpreted as a separator.
This ambiguity is resolved as follows:  If the number of separators before
TZH in the template string is less than the number of
separators before the minus sign in the input string, the minus sign
-- 
2.7.4



Re: doc: improve PG 12 to_timestamp()/to_date() wording

2019-04-30 Thread Justin Pryzby
On Tue, Apr 30, 2019 at 09:48:14PM +0300, Alexander Korotkov wrote:
> I'd like to add couple of comments from my side.

> > -   returns an error because the second template string space is 
> > consumed
> > -   by the letter J in the input string.
> > +   returns an error because the second space in the template string 
> > consumes
> > +   the letter M from the input string.
> 
> Why M?  There is no letter "M" is input string.
> The issue here is that we already consumed "J" from "JUN" and trying
> to match "UN" to "MON".  So, I think we should live
> J here.  The rest of this change looks good.

Seems like I confused myself while resolving rebase conflict.

Thanks for checking.

Justin




Re: doc: improve PG 12 to_timestamp()/to_date() wording

2019-04-30 Thread Justin Pryzby
Hi Bruce

I saw this commit;
commit ad23adc5a169b114f9ff325932cbf2ce1c5e69c1
|Author: Bruce Momjian 
|Date:   Tue Apr 30 14:06:57 2019 -0400
|
|doc:  improve PG 12 to_timestamp()/to_date() wording

which cleans up language added at cf984672.

Can I suggest this additional change, which is updated and extracted from my
larger set of documentation fixes.

Justin

diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 96fafdd..b420585 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -6400,20 +6400,20 @@ SELECT regexp_match('abc01234xyz', 
'(?:(.*?)(\d+)(.*)){1,1}');
   
   
If FX is specified, a separator in the template 
string
-   matches exactly one character in input string.  Notice we don't insist 
the
-   input string character be the same as the template string separator.
+   matches exactly one character in the input string.  But note that the
+   input string character is not required to be the same as the separator 
from the template string.
For example, to_timestamp('2000/JUN', 'FX MON')
works, but to_timestamp('2000/JUN', 
'FXMON')
-   returns an error because the second template string space is consumed
-   by the letter J in the input string.
+   returns an error because the second space in the template string 
consumes
+   the letter M from the input string.
   
  
 
  
   
A TZH template pattern can match a signed number.
-   Without the FX option, it can lead to ambiguity in
-   interpretation of the minus sign, which can also be interpreted as a 
separator.
+   Without the FX option, minus signs may be ambiguous,
+   and could be interpreted as a separator.
This ambiguity is resolved as follows:  If the number of separators 
before
TZH in the template string is less than the number of
separators before the minus sign in the input string, the minus sign
>From 0d304935aa5b83e56127b5a63aa3d180b4c42e16 Mon Sep 17 00:00:00 2001
From: Justin Pryzby 
Date: Sat, 30 Mar 2019 03:42:35 -0500
Subject: [PATCH v3] Clean up language in cf984672: Improve behavior of
 to_timestamp()/to_date() functions

---
 doc/src/sgml/func.sgml | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 96fafdd..b420585 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -6400,20 +6400,20 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}');
   
   
If FX is specified, a separator in the template string
-   matches exactly one character in input string.  Notice we don't insist the
-   input string character be the same as the template string separator.
+   matches exactly one character in the input string.  But note that the
+   input string character is not required to be the same as the separator from the template string.
For example, to_timestamp('2000/JUN', 'FX MON')
works, but to_timestamp('2000/JUN', 'FXMON')
-   returns an error because the second template string space is consumed
-   by the letter J in the input string.
+   returns an error because the second space in the template string consumes
+   the letter M from the input string.
   
  
 
  
   
A TZH template pattern can match a signed number.
-   Without the FX option, it can lead to ambiguity in
-   interpretation of the minus sign, which can also be interpreted as a separator.
+   Without the FX option, minus signs may be ambiguous,
+   and could be interpreted as a separator.
This ambiguity is resolved as follows:  If the number of separators before
TZH in the template string is less than the number of
separators before the minus sign in the input string, the minus sign
-- 
2.7.4