code: def find_closing_parenthesis(sql, startpos):
      
      pattern = re.compile(r'[()]')
      level = 0
      opening = []
      for match in pattern.finditer(sql, startpos):
          par = match.group()
          if par == '(':
              if level == 0:
                  opening = match.start()
              level += 1
          if par == ')':
              assert level > 0, "missing '(' before ')'"
              level -= 1
              if level == 0:
                  closing = match.end()
                  return opening, closing
docs: Find the pair of opening and closing parentheses.
  
      Starts search at the position startpos.
      Returns tuple of positions (opening, closing) if search succeeds, otherwise None.