Re: Implement waiting for wal lsn replay: reloaded
| От | Chao Li |
|---|---|
| Тема | Re: Implement waiting for wal lsn replay: reloaded |
| Дата | |
| Msg-id | 2D1099A6-C823-4560-9968-D946378FF5D2@gmail.com обсуждение исходный текст |
| Ответ на | Re: Implement waiting for wal lsn replay: reloaded (Xuneng Zhou <xunengzhou@gmail.com>) |
| Ответы |
Re: Implement waiting for wal lsn replay: reloaded
|
| Список | pgsql-hackers |
> On Oct 4, 2025, at 09:35, Xuneng Zhou <xunengzhou@gmail.com> wrote: > > Hi, > > On Sun, Sep 28, 2025 at 5:02 PM Xuneng Zhou <xunengzhou@gmail.com> wrote: >> >> Hi, >> >> On Fri, Sep 26, 2025 at 7:22 PM Xuneng Zhou <xunengzhou@gmail.com> wrote: >>> >>> Hi Álvaro, >>> >>> Thanks for your review. >>> >>> On Tue, Sep 16, 2025 at 4:24 AM Álvaro Herrera <alvherre@kurilemu.de> wrote: >>>> >>>> On 2025-Sep-15, Alexander Korotkov wrote: >>>> >>>>>> It's LGTM. The same pattern is observed in VACUUM, EXPLAIN, and CREATE >>>>>> PUBLICATION - all use minimal grammar rules that produce generic >>>>>> option lists, with the actual interpretation done in their respective >>>>>> implementation files. The moderate complexity in wait.c seems >>>>>> acceptable. >>>> >>>> Actually I find the code in ExecWaitStmt pretty unusual. We tend to use >>>> lists of DefElem (a name optionally followed by a value) instead of >>>> individual scattered elements that must later be matched up. Why not >>>> use utility_option_list instead and then loop on the list of DefElems? >>>> It'd be a lot simpler. >>> >>> I took a look at commands like VACUUM and EXPLAIN and they do follow >>> this pattern. v11 will make use of utility_option_list. >>> >>>> Also, we've found that failing to surround the options by parens leads >>>> to pain down the road, so maybe add that. Given that the LSN seems to >>>> be mandatory, maybe make it something like >>>> >>>> WAIT FOR LSN 'xy/zzy' [ WITH ( utility_option_list ) ] >>>> >>>> This requires that you make LSN a keyword, albeit unreserved. Or you >>>> could make it >>>> WAIT FOR Ident [the rest] >>>> and then ensure in C that the identifier matches the word LSN, such as >>>> we do for "permissive" and "restrictive" in >>>> RowSecurityDefaultPermissive. >>> >>> Shall make LSN an unreserved keyword as well. >> >> Here's the updated v11. Many thanks Jian for off-list discussions and review. > > v12 removed unused > +WaitStmt > +WaitStmtParam in pgindent/typedefs.list. > > Best, > Xuneng > <v12-0001-Implement-WAIT-FOR-command.patch> I just tried to review v12 but failed to “git am”. Can you please rebase the change? Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
В списке pgsql-hackers по дате отправления: