From e7bfc7e42cebf80507f9c9965dc4a572e9fb76a4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 16 May 2013 12:30:41 -0400 Subject: [PATCH] Fix some uses of "the quick brown fox". If we're going to quote a well-known pangram, we should quote it accurately. Per gripe from Thom Brown. --- doc/src/sgml/func.sgml | 12 +-- src/test/regress/expected/strings.out | 113 +++++++++++++------------- src/test/regress/sql/strings.sql | 28 +++---- 3 files changed, 75 insertions(+), 78 deletions(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index af00527fde3..5d13ba31365 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -4048,24 +4048,24 @@ SELECT col1, (SELECT regexp_matches(col2, '(bar)(beque)')) FROM tab; Some examples: -SELECT foo FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', E'\\s+') AS foo; +SELECT foo FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', E'\\s+') AS foo; foo --------- +------- the quick brown fox - jumped + jumps over the lazy dog (9 rows) -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', E'\\s+'); +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', E'\\s+'); regexp_split_to_array ------------------------------------------------- - {the,quick,brown,fox,jumped,over,the,lazy,dog} +----------------------------------------------- + {the,quick,brown,fox,jumps,over,the,lazy,dog} (1 row) SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo; diff --git a/src/test/regress/expected/strings.out b/src/test/regress/expected/strings.out index b87bd8024bc..281c69528aa 100644 --- a/src/test/regress/expected/strings.out +++ b/src/test/regress/expected/strings.out @@ -448,27 +448,27 @@ ERROR: invalid regular expression: parentheses () not balanced SELECT regexp_matches('foobarbequebaz', $re$(bar)(beque){2,1}$re$); ERROR: invalid regular expression: invalid repetition count(s) -- split string on regexp -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', $re$\s+$re$) AS foo; - foo | length ---------+-------- - the | 3 - quick | 5 - brown | 5 - fox | 3 - jumped | 6 - over | 4 - the | 3 - lazy | 4 - dog | 3 +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\s+$re$) AS foo; + foo | length +-------+-------- + the | 3 + quick | 5 + brown | 5 + fox | 3 + jumps | 5 + over | 4 + the | 3 + lazy | 4 + dog | 3 (9 rows) -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', $re$\s+$re$); - regexp_split_to_array ------------------------------------------------- - {the,quick,brown,fox,jumped,over,the,lazy,dog} +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', $re$\s+$re$); + regexp_split_to_array +----------------------------------------------- + {the,quick,brown,fox,jumps,over,the,lazy,dog} (1 row) -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', $re$\s*$re$) AS foo; +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\s*$re$) AS foo; foo | length -----+-------- t | 1 @@ -491,8 +491,7 @@ SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped o u | 1 m | 1 p | 1 - e | 1 - d | 1 + s | 1 o | 1 v | 1 e | 1 @@ -507,15 +506,15 @@ SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped o d | 1 o | 1 g | 1 -(36 rows) +(35 rows) -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', $re$\s*$re$); - regexp_split_to_array ---------------------------------------------------------------------------- - {t,h,e,q,u,i,c,k,b,r,o,w,n,f,o,x,j,u,m,p,e,d,o,v,e,r,t,h,e,l,a,z,y,d,o,g} +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', $re$\s*$re$); + regexp_split_to_array +------------------------------------------------------------------------- + {t,h,e,q,u,i,c,k,b,r,o,w,n,f,o,x,j,u,m,p,s,o,v,e,r,t,h,e,l,a,z,y,d,o,g} (1 row) -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', '') AS foo; +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', '') AS foo; foo | length -----+-------- t | 1 @@ -542,8 +541,7 @@ SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped o u | 1 m | 1 p | 1 - e | 1 - d | 1 + s | 1 | 1 o | 1 v | 1 @@ -562,42 +560,41 @@ SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped o d | 1 o | 1 g | 1 -(44 rows) +(43 rows) -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', ''); - regexp_split_to_array ------------------------------------------------------------------------------------------------------------ - {t,h,e," ",q,u,i,c,k," ",b,r,o,w,n," ",f,o,x," ",j,u,m,p,e,d," ",o,v,e,r," ",t,h,e," ",l,a,z,y," ",d,o,g} +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', ''); + regexp_split_to_array +--------------------------------------------------------------------------------------------------------- + {t,h,e," ",q,u,i,c,k," ",b,r,o,w,n," ",f,o,x," ",j,u,m,p,s," ",o,v,e,r," ",t,h,e," ",l,a,z,y," ",d,o,g} (1 row) -- case insensitive -SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'i') AS foo; - foo | length ------------------------+-------- - th | 2 - QUick bROWn FOx jUMP | 21 - d ov | 4 - r TH | 4 - lazy dOG | 9 -(5 rows) - -SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'i'); - regexp_split_to_array --------------------------------------------------------- - {th," QUick bROWn FOx jUMP","d ov","r TH"," lazy dOG"} +SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i') AS foo; + foo | length +---------------------------+-------- + th | 2 + QUick bROWn FOx jUMPs ov | 25 + r Th | 4 + lazy dOG | 9 +(4 rows) + +SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i'); + regexp_split_to_array +----------------------------------------------------- + {th," QUick bROWn FOx jUMPs ov","r Th"," lazy dOG"} (1 row) -- no match of pattern -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', 'nomatch') AS foo; - foo | length -----------------------------------------------+-------- - the quick brown fox jumped over the lazy dog | 44 +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', 'nomatch') AS foo; + foo | length +---------------------------------------------+-------- + the quick brown fox jumps over the lazy dog | 43 (1 row) -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', 'nomatch'); - regexp_split_to_array --------------------------------------------------- - {"the quick brown fox jumped over the lazy dog"} +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', 'nomatch'); + regexp_split_to_array +------------------------------------------------- + {"the quick brown fox jumps over the lazy dog"} (1 row) -- some corner cases @@ -620,14 +617,14 @@ SELECT regexp_split_to_array('123456','.'); (1 row) -- errors -SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'zippy') AS foo; +SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'zippy') AS foo; ERROR: invalid regexp option: "z" -SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'iz'); +SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'iz'); ERROR: invalid regexp option: "z" -- global option meaningless for regexp_split -SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'g') AS foo; +SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'g') AS foo; ERROR: regexp_split does not support the global option -SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'g'); +SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'g'); ERROR: regexp_split does not support the global option -- change NULL-display back \pset null '' diff --git a/src/test/regress/sql/strings.sql b/src/test/regress/sql/strings.sql index 89ba46fd999..e7841aa20d7 100644 --- a/src/test/regress/sql/strings.sql +++ b/src/test/regress/sql/strings.sql @@ -164,29 +164,29 @@ SELECT regexp_matches('foobarbequebaz', $re$(barbeque$re$); SELECT regexp_matches('foobarbequebaz', $re$(bar)(beque){2,1}$re$); -- split string on regexp -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', $re$\s+$re$) AS foo; -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', $re$\s+$re$); +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\s+$re$) AS foo; +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', $re$\s+$re$); -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', $re$\s*$re$) AS foo; -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', $re$\s*$re$); -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', '') AS foo; -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', ''); +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\s*$re$) AS foo; +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', $re$\s*$re$); +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', '') AS foo; +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', ''); -- case insensitive -SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'i') AS foo; -SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'i'); +SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i') AS foo; +SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i'); -- no match of pattern -SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog', 'nomatch') AS foo; -SELECT regexp_split_to_array('the quick brown fox jumped over the lazy dog', 'nomatch'); +SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', 'nomatch') AS foo; +SELECT regexp_split_to_array('the quick brown fox jumps over the lazy dog', 'nomatch'); -- some corner cases SELECT regexp_split_to_array('123456','1'); SELECT regexp_split_to_array('123456','6'); SELECT regexp_split_to_array('123456','.'); -- errors -SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'zippy') AS foo; -SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'iz'); +SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'zippy') AS foo; +SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'iz'); -- global option meaningless for regexp_split -SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'g') AS foo; -SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPed ovEr THE lazy dOG', 'e', 'g'); +SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'g') AS foo; +SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'g'); -- change NULL-display back \pset null '' -- 2.30.2