def METHOD_NAME(
    self,
    table_progress: Callable[[SqlTable, int, int], ContextManager[None]] = _default_table_progress,
) -> DataWarehouseInferenceContext:
    """Query the data warehouse for statistics about all tables and populate a context with it."""
    table_props_list: List[TableProperties] = []
    for i, table in enumerate(self.tables):
        with table_progress(table, i, len(self.tables)):
            table_props = self._get_table_properties(table)
            table_props_list.append(table_props)
    return DataWarehouseInferenceContext(table_props=table_props_list)