def __init__(self, packet): self._body = packet[4:] self.header = None try: self.header = EventHeader(self._body[1:20]) except: msg = get_trace_info() log.warning(msg)
def get_columns_info(self): for db, tables in self._tables.items(): for table, desc in tables.items(): try: sql = "select * from %s.%s limit 0,0" % (db, table) res, columns_desc = self._query(sql) for idx, field in enumerate(columns_desc): if field[0] in desc["do_columns"]: desc["columns_info"][field[0]] = field desc["pos_map"][idx] = field[0] except: log.warning(get_trace_info()) continue log.debug(json.dumps(self._tables))
def get_full_columns(self): for db, tables in self._tables.items(): for table, desc in tables.items(): try: sql = "show full columns from %s.%s" % (db, table) res, _ = self._query(sql) for idx, field in enumerate(res): if field["Field"] in desc["do_columns"]: desc["columns_info"][idx] = \ {"name":field["Field"], \ "type":field["Type"], \ "Default":field["Default"]} except: log.warning(get_trace_info()) continue log.debug(json.dumps(self._tables))
def get_full_columns(self): for db, tables in self._tables.items(): for table, desc in tables.items(): try: sql = "show full columns from %s.%s" % (db, table) res, _ = self._query(sql) for idx, field in enumerate(res): if field["Field"] in desc["do_columns"]: desc["columns_info"][idx] = { "name": field["Field"], "type": field["Type"], "Default": field["Default"], } except: log.warning(get_trace_info()) continue log.debug(json.dumps(self._tables))