docs: def convert_table(self, table_name, cls_att=None):
          '''
          Returns the specified table as an orange example table.
  
              :param table_name: table name to convert
              :cls_att: class attribute name
              :rtype: orange.ExampleTable
          '''
          import Orange
  
          cols = self.db.cols[table_name]
          attributes, metas, class_var = [], [], None
          for col in cols:
              att_type = self.orng_type(table_name, col)
              if att_type == 'd':
                  att_vals = self.db.col_vals[table_name][col]
                  att_var = Orange.data.DiscreteVariable(str(col), values=[str(val) for val in att_vals])
              elif att_type == 'c':
                  att_var = Orange.data.ContinuousVariable(str(col))
              else:
                  att_var = Orange.data.StringVariable(str(col))
              if col == cls_att:
                  if att_type == 'string':
                      raise Exception('Unsuitable data type for a target variable: %s' % att_type)
                  class_var = att_var
                  continue
              elif att_type == 'string' or table_name in self.db.pkeys and col in self.db.pkeys[
                  table_name] or table_name in self.db.fkeys and col in self.db.fkeys[table_name]:
                  metas.append(att_var)
              else:
                  attributes.append(att_var)
          domain = Orange.data.Domain(attributes, class_vars=class_var, metas=metas)
          # for meta in metas:
          #    domain.addmeta(Orange.newmetaid(), meta)
          dataset = Orange.data.Table(domain)
          dataset.name = table_name
          for row in self.db.rows(table_name, cols):
              example = Orange.data.Instance(domain)
              for col, val in zip(cols, row):
                  example[str(col)] = str(val) if val != None else '?'
              dataset.append(example)
          return dataset