code: def extend_columns(self, column_data, kind):
          
          # 'column_data' is a generator object. It can throw an exception while
          # being consumed. This could happen if the user has launched the app
          # without specifying a database name. This exception must be handled to
          # prevent crashing.
          try:
              column_data = [self.escaped_names(d, '"') for d in column_data]
          except Exception:
              column_data = []
  
          metadata = self.dbmetadata[kind]
          for relname, column in column_data:
              metadata[self.dbname][relname].append(column)
              self.all_completions.add(column)
docs: Extend column metadata
          :param column_data: list of (rel_name, column_name) tuples
          :param kind: either 'tables' or 'views'
          :return: