diff -U3 /usr/local/src/pgsql/current/postgresql/src/test/regress/expected/rpr_explain.out /usr/local/src/pgsql/current/postgresql/src/test/regress/results/rpr_explain.out --- /usr/local/src/pgsql/current/postgresql/src/test/regress/expected/rpr_explain.out 2026-01-18 16:28:43.075296790 +0900 +++ /usr/local/src/pgsql/current/postgresql/src/test/regress/results/rpr_explain.out 2026-01-20 12:13:25.358105865 +0900 @@ -58,7 +58,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 101 total, 0 merged NFA Contexts: 3 peak, 101 total, 80 pruned - NFA: 20 matched (len 2/2/2), 0 mismatched + NFA: 20 matched (len 2/2/2.0), 0 mismatched -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -102,7 +102,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 101 total, 0 merged NFA Contexts: 2 peak, 101 total, 0 pruned - NFA: 100 matched (len 1/1/1), 0 mismatched + NFA: 100 matched (len 1/1/1.0), 0 mismatched -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -127,7 +127,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 3 peak, 76 total, 0 merged NFA Contexts: 3 peak, 51 total, 25 pruned - NFA: 25 matched (len 1/1/1), 0 mismatched + NFA: 25 matched (len 1/1/1.0), 0 mismatched -> Function Scan on generate_series s (actual rows=50.00 loops=1) (8 rows) @@ -149,9 +149,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b | c d | e) Storage: Memory Maximum Storage: 17kB - NFA States: 4 peak, 361 total, 0 merged + NFA States: 5 peak, 363 total, 0 merged NFA Contexts: 3 peak, 101 total, 40 pruned - NFA: 20 matched (len 2/2/2), 40 mismatched (len 2/2/2) + NFA: 20 matched (len 2/2/2.0), 40 mismatched (len 2/2/2.0) -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -174,9 +174,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b* c+ Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 267 total, 99 merged + NFA States: 5 peak, 235 total, 0 merged NFA Contexts: 3 peak, 101 total, 67 pruned - NFA: 33 matched (len 3/3/3), 0 mismatched + NFA: 33 matched (len 3/3/3.0), 0 mismatched -> Function Scan on generate_series s (actual rows=100.00 loops=1) (8 rows) @@ -196,10 +196,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a b)+ Storage: Memory Maximum Storage: 19kB - NFA States: 4 peak, 91 total, 0 merged + NFA States: 3 peak, 91 total, 0 merged NFA Contexts: 3 peak, 61 total, 30 pruned - NFA: 1 matched (len 60/60/60), 0 mismatched - NFA: 29 absorbed (len 1/1/1), 0 skipped + NFA: 1 matched (len 60/60/60.0), 0 mismatched + NFA: 29 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=60.00 loops=1) (9 rows) @@ -220,10 +220,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b a | b a | b a | b a | b a | b a | b a | b) Storage: Memory Maximum Storage: 17kB - NFA States: 9 peak, 548 total, 0 merged + NFA States: 17 peak, 632 total, 0 merged NFA Contexts: 9 peak, 101 total, 1 pruned - NFA: 12 matched (len 8/8/8), 3 mismatched (len 2/4/3) - NFA: 0 absorbed, 84 skipped (len 1/7/4) + NFA: 12 matched (len 8/8/8.0), 3 mismatched (len 2/4/3.0) + NFA: 0 absorbed, 84 skipped (len 1/7/4.0) -> Function Scan on generate_series s (actual rows=100.00 loops=1) (9 rows) @@ -243,10 +243,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b | c)+ d Storage: Memory Maximum Storage: 17kB - NFA States: 9 peak, 751 total, 0 merged + NFA States: 15 peak, 753 total, 0 merged NFA Contexts: 5 peak, 101 total, 25 pruned - NFA: 25 matched (len 4/4/4), 0 mismatched - NFA: 0 absorbed, 50 skipped (len 2/3/2) + NFA: 25 matched (len 4/4/4.0), 0 mismatched + NFA: 0 absorbed, 50 skipped (len 2/3/2.5) -> Function Scan on generate_series s (actual rows=100.00 loops=1) (9 rows) @@ -265,11 +265,11 @@ WindowAgg (actual rows=1000.00 loops=1) Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: ((a | b)+)+ - Storage: Memory Maximum Storage: 56kB - NFA States: 2664 peak, 892447 total, 0 merged - NFA Contexts: 668 peak, 1001 total, 333 pruned - NFA: 1 matched (len 1000/1000/1000), 0 mismatched - NFA: 0 absorbed, 666 skipped (len 1/999/500) + Storage: Memory Maximum Storage: 17kB + NFA States: 16 peak, 7334 total, 0 merged + NFA Contexts: 4 peak, 1001 total, 333 pruned + NFA: 334 matched (len 1/2/2.0), 0 mismatched + NFA: 0 absorbed, 333 skipped (len 2/2/2.0) -> Function Scan on generate_series s (actual rows=1000.00 loops=1) (9 rows) @@ -292,10 +292,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 121 total, 0 merged + NFA States: 3 peak, 91 total, 0 merged NFA Contexts: 3 peak, 51 total, 10 pruned - NFA: 10 matched (len 5/5/5), 0 mismatched - NFA: 30 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 5/5/5.0), 0 mismatched + NFA: 30 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -315,10 +315,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a{2,4} b Storage: Memory Maximum Storage: 17kB - NFA States: 7 peak, 141 total, 0 merged + NFA States: 7 peak, 101 total, 0 merged NFA Contexts: 6 peak, 51 total, 10 pruned - NFA: 10 matched (len 5/5/5), 10 mismatched (len 2/2/2) - NFA: 0 absorbed, 20 skipped (len 3/4/4) + NFA: 10 matched (len 5/5/5.0), 10 mismatched (len 2/2/2.0) + NFA: 0 absorbed, 20 skipped (len 3/4/3.5) -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -340,7 +340,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 101 total, 0 merged NFA Contexts: 3 peak, 101 total, 90 pruned - NFA: 10 matched (len 3/3/3), 0 mismatched + NFA: 10 matched (len 3/3/3.0), 0 mismatched -> Function Scan on generate_series s (actual rows=100.00 loops=1) (8 rows) @@ -362,7 +362,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 3 peak, 134 total, 0 merged NFA Contexts: 3 peak, 101 total, 67 pruned - NFA: 33 matched (len 3/3/3), 0 mismatched + NFA: 33 matched (len 3/3/3.0), 0 mismatched -> Function Scan on generate_series s (actual rows=100.00 loops=1) (8 rows) @@ -389,7 +389,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 101 total, 0 merged NFA Contexts: 3 peak, 101 total, 80 pruned - NFA: 20 matched (len 5/5/5), 0 mismatched + NFA: 20 matched (len 5/5/5.0), 0 mismatched -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -409,10 +409,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 271 total, 0 merged + NFA States: 3 peak, 191 total, 0 merged NFA Contexts: 3 peak, 101 total, 10 pruned - NFA: 10 matched (len 10/10/10), 0 mismatched - NFA: 80 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 10/10/10.0), 0 mismatched + NFA: 80 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=100.00 loops=1) (9 rows) @@ -432,10 +432,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 24kB - NFA States: 5 peak, 590 total, 0 merged + NFA States: 3 peak, 396 total, 0 merged NFA Contexts: 3 peak, 201 total, 5 pruned - NFA: 1 matched (len 196/196/196), 0 mismatched - NFA: 194 absorbed (len 1/1/1), 0 skipped + NFA: 1 matched (len 196/196/196.0), 0 mismatched + NFA: 194 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=200.00 loops=1) (9 rows) @@ -457,10 +457,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 231 total, 0 merged + NFA States: 3 peak, 171 total, 0 merged NFA Contexts: 3 peak, 101 total, 30 pruned - NFA: 5 matched (len 5/5/5), 5 mismatched (len 11/11/11) - NFA: 60 absorbed (len 1/1/1), 0 skipped + NFA: 5 matched (len 5/5/5.0), 5 mismatched (len 11/11/11.0) + NFA: 60 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=100.00 loops=1) (9 rows) @@ -491,10 +491,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b+ c Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 181 total, 20 merged + NFA States: 3 peak, 151 total, 0 merged NFA Contexts: 3 peak, 101 total, 70 pruned - NFA: 10 matched (len 6/6/6), 0 mismatched - NFA: 20 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 6/6/6.0), 0 mismatched + NFA: 20 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=100.00 loops=1) (9 rows) @@ -526,10 +526,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b+ c Storage: Memory Maximum Storage: 18kB - NFA States: 5 peak, 159 total, 4 merged + NFA States: 3 peak, 115 total, 0 merged NFA Contexts: 3 peak, 61 total, 16 pruned - NFA: 1 matched (len 30/30/30), 1 mismatched (len 26/26/26) - NFA: 42 absorbed (len 1/1/1), 0 skipped + NFA: 1 matched (len 30/30/30.0), 1 mismatched (len 26/26/26.0) + NFA: 42 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series i (actual rows=60.00 loops=1) (9 rows) @@ -561,9 +561,9 @@ "Pattern": "a+ b+", + "Storage": "Memory", + "Maximum Storage": 17, + - "NFA States Peak": 5, + - "NFA States Total": 102, + - "NFA States Merged": 17, + + "NFA States Peak": 3, + + "NFA States Total": 85, + + "NFA States Merged": 0, + "NFA Contexts Peak": 3, + "NFA Contexts Total": 51, + "NFA Contexts Absorbed": 0, + @@ -573,7 +573,7 @@ "NFA Mismatched": 0, + "NFA Match Length Min": 2, + "NFA Match Length Max": 2, + - "NFA Match Length Avg": 2, + + "NFA Match Length Avg": 2.0, + "Plans": [ + { + "Node Type": "Function Scan", + @@ -619,8 +619,8 @@ "Pattern": "a+ b", + "Storage": "Memory", + "Maximum Storage": 17, + - "NFA States Peak": 5, + - "NFA States Total": 271, + + "NFA States Peak": 3, + + "NFA States Total": 191, + "NFA States Merged": 0, + "NFA Contexts Peak": 3, + "NFA Contexts Total": 101, + @@ -631,10 +631,10 @@ "NFA Mismatched": 0, + "NFA Match Length Min": 10, + "NFA Match Length Max": 10, + - "NFA Match Length Avg": 10, + + "NFA Match Length Avg": 10.0, + "NFA Absorbed Length Min": 1, + "NFA Absorbed Length Max": 1, + - "NFA Absorbed Length Avg": 1, + + "NFA Absorbed Length Avg": 1.0, + "Plans": [ + { + "Node Type": "Function Scan", + @@ -695,7 +695,7 @@ 0 + 2 + 2 + - 2 + + 2.0 + + + Function Scan + @@ -740,10 +740,10 @@ Window: w AS (PARTITION BY p.p ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 219 total, 0 merged + NFA States: 3 peak, 165 total, 0 merged NFA Contexts: 3 peak, 93 total, 18 pruned - NFA: 18 matched (len 5/5/5), 0 mismatched - NFA: 54 absorbed (len 1/1/1), 0 skipped + NFA: 18 matched (len 5/5/5.0), 0 mismatched + NFA: 54 absorbed (len 1/1/1.0), 0 skipped -> Sort (actual rows=90.00 loops=1) Sort Key: p.p Sort Method: quicksort Memory: 27kB @@ -774,10 +774,10 @@ Window: w AS (PARTITION BY (CASE WHEN (v.v <= 25) THEN 1 ELSE 2 END) ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 96 total, 0 merged + NFA States: 3 peak, 77 total, 0 merged NFA Contexts: 3 peak, 52 total, 26 pruned - NFA: 5 matched (len 5/6/6), 0 mismatched - NFA: 19 absorbed (len 1/1/1), 0 skipped + NFA: 5 matched (len 5/6/5.8), 0 mismatched + NFA: 19 absorbed (len 1/1/1.0), 0 skipped -> Sort (actual rows=50.00 loops=1) Sort Key: (CASE WHEN (v.v <= 25) THEN 1 ELSE 2 END) Sort Method: quicksort Memory: 26kB @@ -823,7 +823,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 2 total, 0 merged NFA Contexts: 2 peak, 2 total, 0 pruned - NFA: 1 matched (len 1/1/1), 0 mismatched + NFA: 1 matched (len 1/1/1.0), 0 mismatched -> Function Scan on generate_series s (actual rows=1.00 loops=1) (8 rows) @@ -847,7 +847,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 6 total, 0 merged NFA Contexts: 3 peak, 6 total, 4 pruned - NFA: 0 matched, 1 mismatched (len 5/5/5) + NFA: 0 matched, 1 mismatched (len 5/5/5.0) -> Function Scan on generate_series s (actual rows=5.00 loops=1) (8 rows) @@ -883,10 +883,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a b c)+ Storage: Memory Maximum Storage: 19kB - NFA States: 4 peak, 81 total, 0 merged + NFA States: 3 peak, 81 total, 0 merged NFA Contexts: 3 peak, 61 total, 40 pruned - NFA: 1 matched (len 60/60/60), 0 mismatched - NFA: 19 absorbed (len 1/1/1), 0 skipped + NFA: 1 matched (len 60/60/60.0), 0 mismatched + NFA: 19 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=60.00 loops=1) (9 rows) @@ -908,9 +908,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b c | d | e) Storage: Memory Maximum Storage: 17kB - NFA States: 4 peak, 281 total, 0 merged + NFA States: 5 peak, 282 total, 0 merged NFA Contexts: 3 peak, 101 total, 60 pruned - NFA: 20 matched (len 2/2/2), 20 mismatched (len 2/2/2) + NFA: 20 matched (len 2/2/2.0), 20 mismatched (len 2/2/2.0) -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -930,9 +930,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a b? c Storage: Memory Maximum Storage: 17kB - NFA States: 2 peak, 51 total, 0 merged + NFA States: 3 peak, 64 total, 0 merged NFA Contexts: 3 peak, 51 total, 37 pruned - NFA: 12 matched (len 3/3/3), 1 mismatched (len 2/2/2) + NFA: 12 matched (len 3/3/3.0), 1 mismatched (len 2/2/2.0) -> Function Scan on generate_series s (actual rows=50.00 loops=1) (8 rows) @@ -952,10 +952,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a{2,5} b Storage: Memory Maximum Storage: 17kB - NFA States: 9 peak, 401 total, 0 merged + NFA States: 9 peak, 311 total, 0 merged NFA Contexts: 7 peak, 101 total, 10 pruned - NFA: 10 matched (len 6/6/6), 50 mismatched (len 2/6/5) - NFA: 0 absorbed, 30 skipped (len 3/5/4) + NFA: 10 matched (len 6/6/6.0), 50 mismatched (len 2/6/5.2) + NFA: 0 absorbed, 30 skipped (len 3/5/4.0) -> Function Scan on generate_series s (actual rows=100.00 loops=1) (9 rows) @@ -975,9 +975,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a b* c Storage: Memory Maximum Storage: 17kB - NFA States: 4 peak, 86 total, 0 merged + NFA States: 3 peak, 91 total, 0 merged NFA Contexts: 3 peak, 51 total, 45 pruned - NFA: 5 matched (len 9/9/9), 0 mismatched + NFA: 5 matched (len 9/9/9.0), 0 mismatched -> Function Scan on generate_series s (actual rows=50.00 loops=1) (8 rows) @@ -1000,10 +1000,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: d+ u+ Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 70 total, 3 merged + NFA States: 4 peak, 58 total, 0 merged NFA Contexts: 3 peak, 31 total, 17 pruned - NFA: 3 matched (len 3/14/8), 1 mismatched (len 3/3/3) - NFA: 9 absorbed (len 1/1/1), 0 skipped + NFA: 3 matched (len 3/14/8.0), 1 mismatched (len 3/3/3.0) + NFA: 9 absorbed (len 1/1/1.0), 0 skipped -> Seq Scan on nfa_complex (actual rows=30.00 loops=1) (9 rows) @@ -1023,10 +1023,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: u+ s* d+ Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 76 total, 4 merged + NFA States: 5 peak, 76 total, 0 merged NFA Contexts: 3 peak, 31 total, 14 pruned - NFA: 4 matched (len 3/11/7), 0 mismatched - NFA: 12 absorbed (len 1/1/1), 0 skipped + NFA: 4 matched (len 3/11/7.2), 0 mismatched + NFA: 12 absorbed (len 1/1/1.0), 0 skipped -> Seq Scan on nfa_complex (actual rows=30.00 loops=1) (9 rows) @@ -1052,10 +1052,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a{3,} Storage: Memory Maximum Storage: 18kB - NFA States: 4 peak, 150 total, 0 merged - NFA Contexts: 3 peak, 51 total, 0 pruned - NFA: 1 matched (len 50/50/50), 0 mismatched - NFA: 49 absorbed (len 1/1/1), 0 skipped + NFA States: 3 peak, 99 total, 0 merged + NFA Contexts: 2 peak, 51 total, 0 pruned + NFA: 1 matched (len 50/50/50.0), 0 mismatched + NFA: 49 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1080,7 +1080,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 1001 total, 0 merged NFA Contexts: 3 peak, 1001 total, 500 pruned - NFA: 500 matched (len 2/2/2), 0 mismatched + NFA: 500 matched (len 2/2/2.0), 0 mismatched -> Function Scan on generate_series s (actual rows=1000.00 loops=1) (8 rows) @@ -1100,10 +1100,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 21kB - NFA States: 5 peak, 2971 total, 0 merged + NFA States: 3 peak, 1991 total, 0 merged NFA Contexts: 3 peak, 1001 total, 10 pruned - NFA: 10 matched (len 100/100/100), 0 mismatched - NFA: 980 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 100/100/100.0), 0 mismatched + NFA: 980 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=1000.00 loops=1) (9 rows) @@ -1123,10 +1123,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b)+ c Storage: Memory Maximum Storage: 17kB - NFA States: 6 peak, 2004 total, 0 merged + NFA States: 8 peak, 2004 total, 0 merged NFA Contexts: 4 peak, 501 total, 167 pruned - NFA: 166 matched (len 3/3/3), 1 mismatched (len 2/2/2) - NFA: 0 absorbed, 166 skipped (len 2/2/2) + NFA: 166 matched (len 3/3/3.0), 1 mismatched (len 2/2/2.0) + NFA: 0 absorbed, 166 skipped (len 2/2/2.0) -> Function Scan on generate_series s (actual rows=500.00 loops=1) (9 rows) @@ -1150,10 +1150,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 121 total, 0 merged + NFA States: 3 peak, 91 total, 0 merged NFA Contexts: 3 peak, 51 total, 10 pruned - NFA: 10 matched (len 5/5/5), 0 mismatched - NFA: 30 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 5/5/5.0), 0 mismatched + NFA: 30 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1173,10 +1173,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 121 total, 0 merged + NFA States: 3 peak, 91 total, 0 merged NFA Contexts: 3 peak, 51 total, 10 pruned - NFA: 10 matched (len 5/5/5), 0 mismatched - NFA: 30 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 5/5/5.0), 0 mismatched + NFA: 30 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1199,10 +1199,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 91 total, 0 merged + NFA States: 3 peak, 71 total, 0 merged NFA Contexts: 3 peak, 41 total, 10 pruned - NFA: 10 matched (len 3/3/3), 0 mismatched - NFA: 20 absorbed (len 1/1/1), 0 skipped + NFA: 10 matched (len 3/3/3.0), 0 mismatched + NFA: 20 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=40.00 loops=1) (9 rows) @@ -1222,10 +1222,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a* b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 71 total, 0 merged - NFA Contexts: 3 peak, 41 total, 10 pruned - NFA: 10 matched (len 3/3/3), 0 mismatched - NFA: 20 absorbed (len 1/1/1), 0 skipped + NFA States: 4 peak, 102 total, 0 merged + NFA Contexts: 2 peak, 41 total, 10 pruned + NFA: 10 matched (len 3/3/3.0), 0 mismatched + NFA: 20 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=40.00 loops=1) (9 rows) @@ -1245,10 +1245,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a? b c Storage: Memory Maximum Storage: 17kB - NFA States: 3 peak, 41 total, 0 merged + NFA States: 4 peak, 82 total, 0 merged NFA Contexts: 4 peak, 41 total, 20 pruned - NFA: 10 matched (len 3/3/3), 0 mismatched - NFA: 0 absorbed, 10 skipped (len 2/2/2) + NFA: 10 matched (len 3/3/3.0), 0 mismatched + NFA: 0 absorbed, 10 skipped (len 2/2/2.0) -> Function Scan on generate_series s (actual rows=40.00 loops=1) (9 rows) @@ -1268,9 +1268,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a{3} b Storage: Memory Maximum Storage: 17kB - NFA States: 4 peak, 121 total, 0 merged + NFA States: 4 peak, 51 total, 0 merged NFA Contexts: 5 peak, 51 total, 10 pruned - NFA: 10 matched (len 4/4/4), 30 mismatched (len 2/4/3) + NFA: 10 matched (len 4/4/4.0), 30 mismatched (len 2/4/3.0) -> Function Scan on generate_series s (actual rows=50.00 loops=1) (8 rows) @@ -1290,10 +1290,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a{2,4} b Storage: Memory Maximum Storage: 17kB - NFA States: 7 peak, 141 total, 0 merged + NFA States: 7 peak, 101 total, 0 merged NFA Contexts: 6 peak, 51 total, 10 pruned - NFA: 10 matched (len 5/5/5), 10 mismatched (len 2/2/2) - NFA: 0 absorbed, 20 skipped (len 3/4/4) + NFA: 10 matched (len 5/5/5.0), 10 mismatched (len 2/2/2.0) + NFA: 0 absorbed, 20 skipped (len 3/4/3.5) -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1313,10 +1313,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a{3,} b Storage: Memory Maximum Storage: 17kB - NFA States: 4 peak, 136 total, 0 merged + NFA States: 3 peak, 86 total, 0 merged NFA Contexts: 3 peak, 51 total, 5 pruned - NFA: 5 matched (len 10/10/10), 0 mismatched - NFA: 40 absorbed (len 1/1/1), 0 skipped + NFA: 5 matched (len 10/10/10.0), 0 mismatched + NFA: 40 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1340,10 +1340,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 49 total, 0 merged + NFA States: 3 peak, 37 total, 0 merged NFA Contexts: 3 peak, 21 total, 4 pruned - NFA: 4 matched (len 5/5/5), 0 mismatched - NFA: 12 absorbed (len 1/1/1), 0 skipped + NFA: 4 matched (len 5/5/5.0), 0 mismatched + NFA: 12 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=20.00 loops=1) (9 rows) @@ -1363,10 +1363,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b c Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 70 total, 3 merged + NFA States: 3 peak, 52 total, 0 merged NFA Contexts: 3 peak, 31 total, 9 pruned - NFA: 3 matched (len 9/9/9), 0 mismatched - NFA: 18 absorbed (len 1/1/1), 0 skipped + NFA: 3 matched (len 9/9/9.0), 0 mismatched + NFA: 18 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=30.00 loops=1) (9 rows) @@ -1388,7 +1388,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 31 total, 0 merged NFA Contexts: 3 peak, 31 total, 20 pruned - NFA: 10 matched (len 3/3/3), 0 mismatched + NFA: 10 matched (len 3/3/3.0), 0 mismatched -> Function Scan on generate_series s (actual rows=30.00 loops=1) (8 rows) @@ -1411,9 +1411,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b) c Storage: Memory Maximum Storage: 17kB - NFA States: 3 peak, 201 total, 0 merged + NFA States: 3 peak, 202 total, 0 merged NFA Contexts: 3 peak, 101 total, 60 pruned - NFA: 20 matched (len 2/2/2), 20 mismatched (len 2/2/2) + NFA: 20 matched (len 2/2/2.0), 20 mismatched (len 2/2/2.0) -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -1435,9 +1435,9 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b | c | d) e Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 401 total, 0 merged + NFA States: 5 peak, 404 total, 0 merged NFA Contexts: 3 peak, 101 total, 20 pruned - NFA: 20 matched (len 2/2/2), 60 mismatched (len 2/2/2) + NFA: 20 matched (len 2/2/2.0), 60 mismatched (len 2/2/2.0) -> Seq Scan on nfa_test (actual rows=100.00 loops=1) (8 rows) @@ -1457,10 +1457,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a | b)+ c Storage: Memory Maximum Storage: 17kB - NFA States: 6 peak, 204 total, 0 merged + NFA States: 8 peak, 204 total, 0 merged NFA Contexts: 4 peak, 51 total, 17 pruned - NFA: 16 matched (len 3/3/3), 1 mismatched (len 2/2/2) - NFA: 0 absorbed, 16 skipped (len 2/2/2) + NFA: 16 matched (len 3/3/3.0), 1 mismatched (len 2/2/2.0) + NFA: 0 absorbed, 16 skipped (len 2/2/2.0) -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1483,10 +1483,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: (a b)+ Storage: Memory Maximum Storage: 18kB - NFA States: 4 peak, 61 total, 0 merged + NFA States: 3 peak, 61 total, 0 merged NFA Contexts: 3 peak, 41 total, 20 pruned - NFA: 1 matched (len 40/40/40), 0 mismatched - NFA: 19 absorbed (len 1/1/1), 0 skipped + NFA: 1 matched (len 40/40/40.0), 0 mismatched + NFA: 19 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=40.00 loops=1) (9 rows) @@ -1508,8 +1508,8 @@ Storage: Memory Maximum Storage: 17kB NFA States: 7 peak, 66 total, 0 merged NFA Contexts: 6 peak, 41 total, 20 pruned - NFA: 5 matched (len 8/8/8), 0 mismatched - NFA: 0 absorbed, 15 skipped (len 2/6/4) + NFA: 5 matched (len 8/8/8.0), 0 mismatched + NFA: 0 absorbed, 15 skipped (len 2/6/4.0) -> Function Scan on generate_series s (actual rows=40.00 loops=1) (9 rows) @@ -1531,8 +1531,8 @@ Storage: Memory Maximum Storage: 19kB NFA States: 60 peak, 286 total, 0 merged NFA Contexts: 32 peak, 61 total, 30 pruned - NFA: 1 matched (len 60/60/60), 1 mismatched (len 2/2/2) - NFA: 0 absorbed, 28 skipped (len 4/58/31) + NFA: 1 matched (len 60/60/60.0), 1 mismatched (len 2/2/2.0) + NFA: 0 absorbed, 28 skipped (len 4/58/31.0) -> Function Scan on generate_series s (actual rows=60.00 loops=1) (9 rows) @@ -1555,10 +1555,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 73 total, 0 merged + NFA States: 3 peak, 55 total, 0 merged NFA Contexts: 3 peak, 31 total, 6 pruned - NFA: 6 matched (len 5/5/5), 0 mismatched - NFA: 18 absorbed (len 1/1/1), 0 skipped + NFA: 6 matched (len 5/5/5.0), 0 mismatched + NFA: 18 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=30.00 loops=1) (9 rows) @@ -1578,10 +1578,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 73 total, 0 merged + NFA States: 3 peak, 55 total, 0 merged NFA Contexts: 3 peak, 31 total, 6 pruned - NFA: 6 matched (len 5/5/5), 0 mismatched - NFA: 18 absorbed (len 1/1/1), 0 skipped + NFA: 6 matched (len 5/5/5.0), 0 mismatched + NFA: 18 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=30.00 loops=1) (9 rows) @@ -1601,10 +1601,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 18kB - NFA States: 5 peak, 73 total, 0 merged + NFA States: 3 peak, 55 total, 0 merged NFA Contexts: 3 peak, 31 total, 6 pruned - NFA: 6 matched (len 5/5/5), 0 mismatched - NFA: 18 absorbed (len 1/1/1), 0 skipped + NFA: 6 matched (len 5/5/5.0), 0 mismatched + NFA: 18 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=30.00 loops=1) (9 rows) @@ -1627,10 +1627,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 18kB - NFA States: 5 peak, 73 total, 0 merged + NFA States: 3 peak, 55 total, 0 merged NFA Contexts: 3 peak, 31 total, 6 pruned - NFA: 6 matched (len 5/5/5), 0 mismatched - NFA: 18 absorbed (len 1/1/1), 0 skipped + NFA: 6 matched (len 5/5/5.0), 0 mismatched + NFA: 18 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=30.00 loops=1) (9 rows) @@ -1655,10 +1655,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 88 total, 0 merged + NFA States: 3 peak, 78 total, 0 merged NFA Contexts: 3 peak, 51 total, 23 pruned - NFA: 17 matched (len 2/3/3), 0 mismatched - NFA: 10 absorbed (len 1/1/1), 0 skipped + NFA: 17 matched (len 2/3/2.6), 0 mismatched + NFA: 10 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=50.00 loops=1) (9 rows) @@ -1683,7 +1683,7 @@ Storage: Memory Maximum Storage: 18kB NFA States: 60 peak, 466 total, 0 merged NFA Contexts: 31 peak, 31 total, 1 pruned - NFA: 0 matched, 29 mismatched (len 2/30/16) + NFA: 0 matched, 29 mismatched (len 2/30/16.0) -> Function Scan on generate_series s (actual rows=30.00 loops=1) (8 rows) @@ -1706,10 +1706,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 73 total, 0 merged + NFA States: 3 peak, 55 total, 0 merged NFA Contexts: 3 peak, 31 total, 6 pruned - NFA: 6 matched (len 5/5/5), 0 mismatched - NFA: 18 absorbed (len 1/1/1), 0 skipped + NFA: 6 matched (len 5/5/5.0), 0 mismatched + NFA: 18 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series v (actual rows=30.00 loops=1) (9 rows) @@ -1732,10 +1732,10 @@ Window: w AS (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) Pattern: a+ b c Storage: Memory Maximum Storage: 17kB - NFA States: 5 peak, 1150 total, 50 merged + NFA States: 3 peak, 851 total, 0 merged NFA Contexts: 3 peak, 501 total, 151 pruned - NFA: 50 matched (len 8/9/9), 0 mismatched - NFA: 299 absorbed (len 1/1/1), 0 skipped + NFA: 50 matched (len 8/9/9.0), 0 mismatched + NFA: 299 absorbed (len 1/1/1.0), 0 skipped -> Function Scan on generate_series s (actual rows=500.00 loops=1) (9 rows) @@ -1757,7 +1757,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 501 total, 0 merged NFA Contexts: 3 peak, 501 total, 250 pruned - NFA: 250 matched (len 2/2/2), 0 mismatched + NFA: 250 matched (len 2/2/2.0), 0 mismatched -> Function Scan on generate_series s (actual rows=500.00 loops=1) (8 rows) @@ -1784,7 +1784,7 @@ Storage: Memory Maximum Storage: 17kB NFA States: 2 peak, 501 total, 0 merged NFA Contexts: 3 peak, 501 total, 495 pruned - NFA: 5 matched (len 5/5/5), 0 mismatched + NFA: 5 matched (len 5/5/5.0), 0 mismatched -> Function Scan on generate_series s (actual rows=500.00 loops=1) (8 rows)