[
https://issues.apache.org/jira/browse/FLINK-29091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
lincoln lee updated FLINK-29091:
--------------------------------
Description:
RAND and RAND_INTEGER are dynamic function (isDynamicFuntion returns true), it
should only evaluate once at query-level (not per record) for batch mode,
FLINK-21713 did the similar fix for temporal functions. Note this a break
change for batch jobs.
Another choice is keep the current behavior and update these two functions'
definition to non-deterministic, this can minimize the affection to users. The
RAND function without seed param is also treated as non-deterministic in some
vendors:
[1]([https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/deterministic-and-nondeterministic-functions?view=sql-server-ver16#built-in-function-determinism)]
[2]([https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_rand)]
[3]([https://docs.oracle.com/database/timesten-18.1/TTPLP/d_random.htm#TTPLP71231)]
was:
RAND and RAND_INTEGER are dynamic function, it should only evaluate once at
query-level (not per record) for batch mode, FLINK-21713 did the similar fix
for temporal functions.
Note: this a break change for batch jobs
> Correct RAND and RAND_INTEGER function to evaluate once at query-level for
> batch mode
> -------------------------------------------------------------------------------------
>
> Key: FLINK-29091
> URL: https://issues.apache.org/jira/browse/FLINK-29091
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Reporter: lincoln lee
> Priority: Major
>
> RAND and RAND_INTEGER are dynamic function (isDynamicFuntion returns true),
> it should only evaluate once at query-level (not per record) for batch mode,
> FLINK-21713 did the similar fix for temporal functions. Note this a break
> change for batch jobs.
> Another choice is keep the current behavior and update these two functions'
> definition to non-deterministic, this can minimize the affection to users.
> The RAND function without seed param is also treated as non-deterministic in
> some vendors:
> [1]([https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/deterministic-and-nondeterministic-functions?view=sql-server-ver16#built-in-function-determinism)]
> [2]([https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_rand)]
> [3]([https://docs.oracle.com/database/timesten-18.1/TTPLP/d_random.htm#TTPLP71231)]
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)