def get_merged_tables(self, tables): s = frozenset([t.signature for t in tables]) if s not in self.merged_table_cache: merged = Table.merge(tables) self.merged_table_cache[s] = merged return self.merged_table_cache[s]