| From: | jian he <jian(dot)universality(at)gmail(dot)com> |
|---|---|
| To: | Tatsuo Ishii <ishii(at)postgresql(dot)org> |
| Cc: | assam258(at)gmail(dot)com, zsolt(dot)parragi(at)percona(dot)com, sjjang112233(at)gmail(dot)com, vik(at)postgresfriends(dot)org, er(at)xs4all(dot)nl, jacob(dot)champion(at)enterprisedb(dot)com, david(dot)g(dot)johnston(at)gmail(dot)com, peter(at)eisentraut(dot)org, li(dot)evan(dot)chao(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Row pattern recognition |
| Date: | 2026-06-04 09:20:07 |
| Message-ID: | CACJufxFpfVRSHMtB=L8ojW7NeCpkuq4PpRMMR_XFmf=uZ9xBTA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi.
Please check the attached regression test refactoring and gram.y changes
------------------atatched patch commit
message-----------------------------------------------
v47 rpr reformat gram.y and improve regression tests
Reformat the first three alternatives of row_pattern_quantifier_opt
in gram.y (empty, '*', '+') from inline single-line actions to
multi-line blocks, making them consistent with the surrounding Op
and '{...}' alternatives.
Update regression tests to follow the convention established in
commit ecb2508aaf [1]: do not repeat exact error messages as comments
in regress test files, since such comments silently go stale when
error wording changes. Replace the removed "Expected: ERROR: ..."
comments with short descriptive comments that state what the test
is checking rather than what output it expects.
Also remove unnecessary newline/comments in src/test/regress/sql/rpr_base.sql.
Add test coverage for:
1. invalid token combinations after a quantifier (A+ !, A+ ?+,
A* ?+, A? ??), exercising the split-token error paths in
row_pattern_quantifier_opt
2. set-returning function (generate_series) in a DEFINE clause
[1]: https://git.postgresql.org/cgit/postgresql.git/commit/?id=ecb2508aaf9b978871734ea2fdf701ab7d593d0a
----------------------------end of commit
message-------------------------------------------------
It's based on latest commit in https://github.com/assam258-5892/postgres.git
It will have a small conflict (around 100 lines difference) with v47.
In src/test/regress/sql/rpr_base.sql, wording such as ``Jacob's
Patterns`` should be removed?
```
-- Serialization/Deserialization Tests (objects kept for pg_upgrade/pg_dump)
```
I am not sure what this refers to.
In gram.y:
errmsg("quantifier bound must be between 0 and %d", INT_MAX - 1),
errmsg("quantifier bound must be between 1 and %d", INT_MAX - 1),
Will these cause consistency issues?
| Attachment | Content-Type | Size |
|---|---|---|
| v47-0001-v47-rpr-reformat-gram.y-and-improve-regression-tests.nocfbot | application/octet-stream | 63.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dilip Kumar | 2026-06-04 09:24:26 | Re: Proposal: Conflict log history table for Logical Replication |
| Previous Message | Peter Eisentraut | 2026-06-04 09:18:24 | Re: Inconsistent trigger behavior between two temporal leftovers |