Github user ottobackwards commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/3183#discussion_r238675406
  
    --- Diff: 
nifi-commons/nifi-record-path/src/main/java/org/apache/nifi/record/path/util/RecordPathUtils.java
 ---
    @@ -39,4 +39,52 @@ public static String getFirstStringValue(final 
RecordPathSegment segment, final
     
             return stringValue;
         }
    +
    +    /**
    +     * This method handles backslash sequences after ANTLR parser converts 
all backslash into double ones
    +     * with exception for \t, \r and \n. See
    +     * <a 
href="file:../../../../../../../../../src/main/antlr3/org/apache/nifi/record/path/RecordPathParser.g">org/apache/nifi/record/path/RecordPathParser.g</a>
    --- End diff --
    
    What would help, is one or more clear, failing unit tests  against the 
current code that illustrate the problem.
    
    We have regex escape routines in more than one place, some for places 
without grammars ( replace text).  Where we _do_ have a grammar, the correct 
thing, or the preferred thing in a vacuum would be to have the grammar handle 
this.  It is centralized and more maintainable.  We may want to evaluate the 
regression as a community, based on the fix and the implications wrt 
maintainability and correctness.
    
    I would almost say that we would want to have discussion and review of both 
approaches.
    
    That would be my preference.



---

Reply via email to