Hi Chao, Sorry, I missed this email.
>> 9 - 0002 - parse_clause.c > > I am continuing to review 0003 > > 10 - 0003 > ``` > + Assert(list_length(patternVariables) == list_length(defineClause)); > ``` > > Is this assert true? From what I learned, pattern length doesn’t have to > equal to define length. For example, I got an example from [1]: You are right. If PATTERN clause uses the same pattern variable more than once (which is perfectly valid), the assertion fails. I will remove the assersion and fix the subsequent forboth loop. > ``` > Example 4 > -- This example has three different patterns. > -- Comment two of them, to get error-free query. > SELECT company, price_date, price > FROM stock_price > MATCH_RECOGNIZE ( > partition by company > order by price_date > all rows per match > pattern ( limit_50 up up* down down* ) > define > limit_50 as price <= 50.00, > up as price > prev(price), > down as price < prev(price) > ) > WHERE company = 'B' > ORDER BY price_date; > ``` > > In this example, pattern has 5 elements and define has only 3 elements. Yes. > 11 - 0004 - plannodes.h > ``` > + /* Row Pattern Recognition AFTER MACH SKIP clause */ > + RPSkipTo rpSkipTo; /* Row Pattern Skip To type */ > ``` > > Typo: MACH -> MATCH Will fix/ > I’d stop here, and continue 0005 tomorrow. Thanks! > [1] https://link.springer.com/article/10.1007/s13222-022-00404-3 > > Best regards, > -- > Chao Li (Evan) > HighGo Software Co., Ltd. > https://www.highgo.com/ > > > >
