
# UDTF
UDTF整体开发流程可参考Scalar UDF，需要注意以下几点：
- Handler目前仅支持返回迭代器，推荐使用yield。
- UDTF不支持开启并发和向量化计算。
- 当Handler出现死循环，无限输出结果时，Fabric SQL会根据超时时间自动关闭程序，默认超时时间为1000s。
#### 示例
1. 创建UDTF：
   ```
   CREATE FUNCTION py_generate_series(start int, endnum int, step int)
   RETURNS TABLE(a int)
   LANGUAGE python
   RUNTIME_VERSION='3.11.2'
   HANDLER='generate_series'
   as $$
   def generate_series(start, endnum, step):
       current = start
       while current <= endnum:
           yield current
           current += step
   $$;
   ```
   
2. 执行UDTF：
   ```
   SELECT py_generate_series(1,4,1);
    py_generate_series 
   ----------------------
                       1
                       2
                       3
                       4
   (4 rows)
   ```
   
 
