class_docstr: Parses the results of a SHOW CREATE TABLE statement.
class_docstr_tok: ["Parses","the","results","of","a","SHOW","CREATE","TABLE","statement","."]
code: def parse(self, show_create, charset):
      state = ReflectedState()
      state.charset = charset
      for line in re.split(r"\r?\n", show_create):
          if line.startswith("  " + self.preparer.initial_quote):
              self._parse_column(line, state)
          # a regular table options line
          elif line.startswith(") "):
              self._parse_table_options(line, state)
          # an ANSI-mode table options line
          elif line == ")":
              pass
          elif line.startswith("CREATE "):
              self._parse_table_name(line, state)
          elif "PARTITION" in line:
              self._parse_partition_options(line, state)
          # Not present in real reflection, but may be if
          # loading from a file.
          elif not line:
              pass
          else:
              type_, spec = self._parse_constraints(line)
              if type_ is None:
                  util.warn("Unknown schema content: %r" % line)
              elif type_ == "key":
                  state.keys.append(spec)
              elif type_ == "fk_constraint":
                  state.fk_constraints.append(spec)
              elif type_ == "ck_constraint":
                  state.ck_constraints.append(spec)
              else:
                  pass
      return state
  
imports: import re
  from .enumerated import ENUM
  from .enumerated import SET
  from .types import DATETIME
  from .types import TIME
  from .types import TIMESTAMP
  from ...None import log
  from ...None import types
  from ...None import util
label_desc: Use image node_id 2 for calling the MySQLTableDefinitionParser obj's underlying member method code with example usage: obj.parse(show_create, charset) and returns: state