def METHOD_NAME(
    self, schema_name: str
) -> Iterable[TableNameAndType]:
    """
    Connect to the source database to get the table
    name and type. By default, use the inspector method
    to get the names and pass the Regular type.
    This is useful for sources where we need fine-grained
    logic on how to handle table types, e.g., external, foreign,...
    """
    regular_tables = [
        TableNameAndType(name=table_name)
        for table_name in self.inspector.get_table_names(schema_name) or []
    ]
    material_tables = [
        TableNameAndType(name=table_name, type_=TableType.MaterializedView)
        for table_name in self.inspector.get_mview_names(schema_name) or []
    ]
    view_tables = [
        TableNameAndType(name=table_name, type_=TableType.View)
        for table_name in self.inspector.get_view_names(schema_name) or []
    ]
    return regular_tables + material_tables + view_tables