airflow.providers.common.sql.hooks.handlers¶
函数¶
|
确定何时只应返回单个查询结果。 |
|
返回 DbApiHook.run() 的结果。 |
|
返回 DbApiHook.run() 的第一个结果。 |
模块内容¶
- airflow.providers.common.sql.hooks.handlers.return_single_query_results(sql, return_last, split_statements)[source]¶
确定何时只应返回单个查询结果。
出于兼容性原因,DBAPIHook 的行为有些令人困惑。在某些情况下,当运行多个查询时,返回值将是一个可迭代对象(列表),其中包含每个查询的结果。然而,在其他情况下,当运行单个查询时,返回值将仅是该单个查询的结果,而不会将结果包装在列表中。
在以下情况下,单个查询结果将在不将其包装在列表中的情况下返回:
sql
是字符串且return_last
为 True(无论split_statements
的值如何)sql
是字符串且split_statements
为 False
在所有其他情况下,结果都包装在一个列表中,即使只有一个语句需要处理。特别地,在以下情况下,返回值将是一个查询结果列表:
当
sql
是字符串语句的可迭代对象时(无论return_last
的值如何)当
sql
是字符串,split_statements
为 True 且return_last
为 False 时