r"""Return a new :class:`_expression.CTE`, or Common Table Expression instance. Please see :meth:`_expression.HasCTE.cte` for detail on CTE usage.
(
selectable: HasCTE, name: Optional[str] = None, recursive: bool = False
)
| 97 | |
| 98 | |
| 99 | def cte( |
| 100 | selectable: HasCTE, name: Optional[str] = None, recursive: bool = False |
| 101 | ) -> CTE: |
| 102 | r"""Return a new :class:`_expression.CTE`, |
| 103 | or Common Table Expression instance. |
| 104 | |
| 105 | Please see :meth:`_expression.HasCTE.cte` for detail on CTE usage. |
| 106 | |
| 107 | """ |
| 108 | return coercions.expect(roles.HasCTERole, selectable).cte( |
| 109 | name=name, recursive=recursive |
| 110 | ) |
| 111 | |
| 112 | |
| 113 | # TODO: mypy requires the _TypedSelectable overloads in all compound select |