### Apache Airflow Provider(s)

snowflake

### Versions of Apache Airflow Providers

4.0.3

### Apache Airflow version

2.5.0

### Operating System

docker/linux

### Deployment

Astronomer

### Deployment details

Normal Astro CLI

### What happened

```
>>> SnowflakeOperator(
    ...,
    do_xcom_push=False
).execute()


ERROR - Task failed with exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/airflow/providers/common/sql/operators/sql.py", line 272, in execute
    return self._process_output([output], hook.descriptions)[-1]
  File "/usr/local/lib/python3.9/site-packages/airflow/providers/snowflake/operators/snowflake.py", line 118, in _process_output
    for row in result_list:
TypeError: 'NoneType' object is not iterable
```

### What you think should happen instead

XCom's should be able to be turned off

### How to reproduce
1) 
```
astro dev init
```
2) `dags/snowflake_test.py`
```
import os
from datetime import datetime

from airflow import DAG
from airflow.providers.snowflake.operators.snowflake import SnowflakeOperator

os.environ["AIRFLOW_CONN_SNOWFLAKE"] = "snowflake://......."

with DAG('snowflake_test', schedule=None, start_date=datetime(2023, 1, 1)):
    SnowflakeOperator(
        task_id='snowflake_test',
        snowflake_conn_id="snowflake",
        sql="select 1;",
        do_xcom_push=False
    )
```
3) 
```
astro run -d dags/snowflake_test.py snowflake_test
```
```
Loading DAGs...
Running snowflake_test... [2023-02-17 18:45:33,537] {connection.py:280} INFO - Snowflake Connector for Python Version: 2.9.0, Python Version: 3.9.16, Platform: Linux-5.15.49-linuxkit-aarch64-with-glibc2.31
...
[2023-02-17 18:45:34,608] {cursor.py:727} INFO - query: [select 1]
[2023-02-17 18:45:34,698] {cursor.py:740} INFO - query execution done
...
[2023-02-17 18:45:34,785] {connection.py:581} INFO - closed
[2023-02-17 18:45:34,841] {connection.py:584} INFO - No async queries seem to be running, deleting session
FAILED
  'NoneType' object is not iterable
```

### Anything else

_No response_

### Are you willing to submit PR?

- [x] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"task_id": self.task_id,
            "min_threshold": lower_bound,
            "max_threshold": upper_bound,
            "within_threshold": lower_bound <= result <= upper_bound,
        }
        self.push(meta_data)
        if not meta_data["within_threshold"]:
            result = (
                round(meta_data.get("result"), 2)  
                if meta_data.get("result") is not None
                else "<None>"
            )
            error_msg = (
                f'Threshold Check: "{meta_data.get("task_id")}" failed.\n'
                f'DAG: {self.dag_id}\nTask_id: {meta_data.get("task_id")}\n'
                f'Check description: {meta_data.get("description")}\n'
                f"SQL: {self.sql}\n"
                f"Result: {result} is not within thresholds "
                f'{meta_data.get("min_threshold")} and {meta_data.get("max_threshold")}'
            )
            self._raise_exception(error_msg)
        self.log.info("Test %s Successful.", self.task_id)
    def push(self, meta_data):
        """
        Optional: Send data check info and metadata to an external database.
        Default functionality will log metadata.
        """
        info = "\n".join(f"""{key}: {item}""" for key, item in meta_data.items())
        self.log.info("Log from %s:\n%s", self.dag_id, info)
class BranchSQLOperator(BaseSQLOperator, SkipMixin):