Parse a SQL string and return the AST root. Returns AST::SelectStatement for simple queries and AST::CompoundSelect for queries that use UNION / INTERSECT / EXCEPT. Raises Parsegres::LexError or Parsegres::ParseError on invalid input.