On Tue, Oct 6, 2026 at 11:25 AM Henson Choi <[email protected]> wrote: > > Thank you for the v54-0001 refactoring. > > Worse: when a navigation call is inside an offset. A navigation call > in the offset position is already the mistake; what is inside it is > secondary. Before, the caret was on that call. Now the inner call is > checked first, so the error is about its argument and the caret is on > that argument. The message no longer says that the offset cannot > contain a navigation operation; when the inner call has no column > reference it asks for one, and adding one only leads to the run-time > constant error. > > Before: > ERROR: row pattern navigation offset cannot contain a row pattern > navigation operation > LINE 6: DEFINE A AS PREV(val, FIRST(1)) > 0) > ^ > After: > ERROR: argument of row pattern navigation operation must include at > least one column reference > LINE 6: DEFINE A AS PREV(val, FIRST(1)) > 0) > ^
There is a different way to intrepert this. If we first process FIRST, the error message saying ERROR: argument of row pattern navigation operation must include at least one column reference If we first process PREV, then ERROR: row pattern navigation offset cannot contain a row pattern navigation operation My patch uses a bottom-up approach. DEFINE A AS PREV(val, FIRST(1)) > 0) first process expression (FIRST(1)) Different ways of processing the navigation yield different error messages, and therefore the error position also differs. So i think this should be ok.
