@Override
    protected SymbolFunctionResult match(Object row, PTFPartitionIterator<Object> pItr)
        throws HiveException
    {
      result.matches = true;
      SymbolFunctionResult rowResult = symbolFn.match(row, pItr);

      while (rowResult.matches && pItr.hasNext())
      {
        row = pItr.next();
        rowResult = symbolFn.match(row, pItr);
      }

      result.nextRow = pItr.getIndex();
      if(pItr.hasNext()) {
        result.nextRow -= 1;
      }
      return result;
    }
<ul>
<li> check structure of Arguments:
<ol>
<li> First arg should be a String
<li> then there should be an even number of Arguments:
String, expression; expression should be Convertible to Boolean.
<li> finally there should be a String.
</ol>
<li> convert pattern into a NNode chain.
<li> convert symbol args into a Symbol Map.
<li> parse selectList into SelectList struct. The inputOI used to translate
these expressions should be based on the
columns in the Input, the 'path.attr'
</ul>
ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/MatchPath.java