Argumentos de expresión literal

Cuando invoca una UDTF con todos los argumentos de expresión literal, invoca una función de tabla no correlacionada. Puede especificar una función de tabla no correlacionada en cualquier lugar de una consulta donde pueda aparecer una tabla. Una función de tabla no correlacionada siempre se ejecuta en el host. Aunque puede utilizar una función de tabla no correlacionada en la mayoría de los contextos con soporte, hay un par de excepciones donde no puede utilizarla:
  • En el catálogo, porque las funciones de tabla se ejecutan únicamente en el host o en una SPU (en el caso de una función de tabla correlacionada).
  • En una vista materializada, porque las vistas materializadas utilizan datos almacenados en disco.
Para la UDTF parseNames, la siguiente consulta muestra cómo se puede invocar la función como una función de tabla no correlacionada:
mydb.schema(usr1)=> SELECT * FROM TABLE(parseNames('1,2,3,4,5'));

 PRODUCT_ID
------------
 1
 2
 3
 4
 5
(5 rows)
Other examples of uncorrelated UDTFs include:
  • SELECT * FROM mytbl, TABLE(myfunc(1, 2));
  • SELECT * FROM TABLE WITH FINAL(tfunc(1));