### 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)

pass_value_str = "2018-03-22"
        operator = self._construct_operator("select date from tab1;", "{{ ds }}")
        operator.render_template_fields({"ds": pass_value_str})
        assert operator.task_id == self.task_id
        assert operator.pass_value == pass_value_str
    def test_pass_value_template_string_float(self):
        pass_value_float = 4.0
        operator = self._construct_operator("select date from tab1;", pass_value_float)
        operator.render_template_fields({})
        assert operator.task_id == self.task_id
        assert operator.pass_value == str(pass_value_float)
    @mock.patch.object(SQLValueCheckOperator, "get_db_hook")
    def test_execute_pass(self, mock_get_db_hook):
        mock_hook = mock.Mock()
        mock_hook.get_first.return_value = [10]
        mock_get_db_hook.return_value = mock_hook
        sql = "select value from tab1 limit 1;"
        operator = self._construct_operator(sql, 5, 1)
        operator.execute(None)
        mock_hook.get_first.assert_called_once_with(sql)
    @mock.patch.object(SQLValueCheckOperator, "get_db_hook")
    def test_execute_fail(self, mock_get_db_hook):
        mock_hook = mock.Mock()
        mock_hook.get_first.return_value = [11]
        mock_get_db_hook.return_value = mock_hook
        operator = self._construct_operator("select value from tab1 limit 1;", 5, 1)
        with pytest.raises(AirflowException, match="Tolerance:100.0%"):
            operator.execute(context=MagicMock())
class TestIntervalCheckOperator: