cloud-fan commented on a change in pull request #28650:
URL: https://github.com/apache/spark/pull/28650#discussion_r431882336



##########
File path: sql/core/src/test/resources/sql-tests/inputs/datetime.sql
##########
@@ -160,3 +156,83 @@ select from_json('{"time":"26/October/2015"}', 'time 
Timestamp', map('timestampF
 select from_json('{"date":"26/October/2015"}', 'date Date', map('dateFormat', 
'dd/MMMMM/yyyy'));
 select from_csv('26/October/2015', 'time Timestamp', map('timestampFormat', 
'dd/MMMMM/yyyy'));
 select from_csv('26/October/2015', 'date Date', map('dateFormat', 
'dd/MMMMM/yyyy'));
+
+select date_format(null, null);
+select date_format(null, 'yyyy-MM-dd');
+select date_format(null, 'invalid');
+select date_format(cast(null as date), 'yyyy-MM-dd');
+select date_format(date '1986-05-23', null);
+select date_format(date '1986-05-23', 'invalid');
+select date_format(date '1986-05-23', 'yyyy-MM-dd');
+select date_format(cast(null as string), 'yyyy-MM-dd');
+select date_format('1986-05-23', null);
+select date_format('1986-05-23', 'invalid');
+select date_format('1986-05-23', 'yyyy-MM-dd');
+select date_format(cast(null as timestamp ), 'yyyy-MM-dd');
+select date_format(timestamp '1986-05-23', null);
+select date_format(timestamp '1986-05-23', 'invalid');
+select date_format(timestamp '1986-05-23', 'yyyy-MM-dd');
+
+select from_unixtime(null);
+select from_unixtime(null , null);
+select from_unixtime(12345 , null);
+select from_unixtime(null , 'invalid');
+select from_unixtime(null , 'yyyy-MM-dd');
+select from_unixtime(12345 , 'yyyy-MM-dd');
+
+select unix_timestamp() = unix_timestamp();
+select unix_timestamp(null);
+select unix_timestamp(null, null);
+select unix_timestamp(null, 'yyyy-MM-dd');
+select unix_timestamp(null, 'invalid');
+select unix_timestamp(cast(null as date), 'yyyy-MM-dd');
+select unix_timestamp(date '1986-05-23');
+select unix_timestamp(date '1986-05-23', null);
+select unix_timestamp(date '1986-05-23', 'invalid');
+select unix_timestamp(date '1986-05-23', 'yyyy-MM-dd');
+select unix_timestamp(cast(null as string), 'yyyy-MM-dd');
+select unix_timestamp('1986-05-23');
+select unix_timestamp('1986-05-23', null);
+select unix_timestamp('1986-05-23', 'invalid');
+select unix_timestamp('1986-05-23', 'yyyy-MM-dd');
+select unix_timestamp(cast(null as timestamp ), 'yyyy-MM-dd');
+select unix_timestamp(timestamp '1986-05-23');
+select unix_timestamp(timestamp '1986-05-23', null);
+select unix_timestamp(timestamp '1986-05-23', 'invalid');
+select unix_timestamp(timestamp '1986-05-23', 'yyyy-MM-dd');
+
+select to_unix_timestamp(null);
+select to_unix_timestamp(null, null);
+select to_unix_timestamp(null, 'yyyy-MM-dd');
+select to_unix_timestamp(null, 'invalid');
+select to_unix_timestamp(cast(null as date), 'yyyy-MM-dd');
+select to_unix_timestamp(date '1986-05-23');
+select to_unix_timestamp(date '1986-05-23', null);
+select to_unix_timestamp(date '1986-05-23', 'invalid');
+select to_unix_timestamp(date '1986-05-23', 'yyyy-MM-dd');
+select to_unix_timestamp(cast(null as string), 'yyyy-MM-dd');
+select to_unix_timestamp('1986-05-23');
+select to_unix_timestamp('1986-05-23', null);
+select to_unix_timestamp('1986-05-23', 'invalid');
+select to_unix_timestamp('1986-05-23', 'yyyy-MM-dd');
+select to_unix_timestamp(cast(null as timestamp ), 'yyyy-MM-dd');
+select to_unix_timestamp(timestamp '1986-05-23');
+select to_unix_timestamp(timestamp '1986-05-23', null);
+select to_unix_timestamp(timestamp '1986-05-23', 'invalid');
+select to_unix_timestamp(timestamp '1986-05-23', 'yyyy-MM-dd');
+
+select to_timestamp(null);
+select to_timestamp(cast(null as string), 'yyyy-MM-dd');
+select to_timestamp(cast(null as string), 'invalid');
+select to_timestamp('1986-05-23');
+select to_timestamp('1986-05-23', null);
+select to_timestamp('1986-05-23', 'invalid');
+select to_timestamp('1986-05-23', 'yyyy-MM-dd');
+
+select to_date(null);
+select to_date(cast(null as string), 'yyyy-MM-dd');
+select to_date(cast(null as string), 'invalid');
+select to_date('1986-05-23');
+select to_date('1986-05-23', null);
+select to_date('1986-05-23', 'invalid');
+select to_date('1986-05-23', 'yyyy-MM-dd');

Review comment:
       the test coverage isn't good, at least we didn't catch 
https://github.com/apache/spark/pull/28650/files#r431878950
   
   Can we create a table in this test file and test non-foldable format string 
as well?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to