Parses a string and fills the token buffer. 
The parser function THD::sql_parser() is called directly instead of parse_sql(), as the latter assumes that it is called with the intent to record the statement in performance_schema and later execute it, neither of which is called for here. In fact we hardly need the parser to calculate a digest, since it is calculated from the token stream. There are only some corner cases where NULL is sometimes a literal and sometimes an operator, as in IS NULL, IS NOT NULL.
- Parameters
 - 
  
    | thd | Session object used by the parser. | 
    | statement_expr | The expression that evaluates to something that can be parsed. Needed for error messages in case we don't want to disclose what it evaluates to. | 
    | statement_string | The non-NULL string resulting from evaluating statement_expr. The caller is preferred to do this as this function doesn't deal with NULL values. | 
  
   
- Return values
 - 
  
    | true | Error.  | 
    | false | All went well, the digest information is in THD::m_digest.  |