Github user HyukjinKwon commented on the issue:

    https://github.com/apache/spark/pull/15432
  
    That is a great reference. However, is this the function described in a 
standard? I guess it is different for each implementation of database. For 
example, 
    
    > The result can be null; if the argument is null, the result is the null 
value.
    
    MySQL treats it as 0 rather than returning `null` value. Also, I gave both 
references of MySQL and Hive in the PR description. Can we define the behaviour 
here? Do we have a target DBMS to follow? I guess it is usually Hive, 
PostgreSQL and MySQL as I recall.
    
    In case of PostgreSQL, it seems there is both functions for this, 
`random()` and `setseed()`. This works differently with MySQL also DB2 
(assuming from the comment you left). So, I got rid of this.
    
    I think I have checked other examples enough. Do we usually have such 
explanations and tests of all the DBMS, Oracle, MySQL, SQL Server, Hive, DB2, 
Informix and PostgresSQL and mentions in ANSI standard? It can be problematic 
if we don't comply the standard which all other implementations follow but I 
think it'd be fine if other databases have different implementations.
    
    I am sure I am taking every look for other PRs time to time and trying to 
make mine sensible but I don't think we always have references from all other 
DBMS and explanations from ANSI standard.
    
    It is hard to change it again and that is why I am asking to review. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to