Hi Ryan,

Thank you for the detailed explanation. Yes, there is a use case in Presto for 
LongLiteral to DateLiteral conversion as it uses long and allows it to be 
converted/cast to Date.

Thank you,

Vlad

On 2020/02/19 18:54:35, Ryan Blue <rb...@netflix.com.INVALID> wrote: 
> Originally, we didn't allow int to date or long to timestamp, but we added
> those to support expression conversion from Spark. It's much easier to
> allow the LongLiteral created from a Spark timestamp expression directly to
> a TimestampLiteral than to convert to an equivalent timestamp string
> because the internal representation in Spark and Iceberg are the same. The
> conversion from long to date was never really needed by this path, so we
> probably didn't add it. Iceberg is fairly strict with allowed conversions
> to date and timestamp because the validation we can apply is still very
> permissive.
> 
> I think it's fine to add long to date if there is a need, but otherwise I'd
> leave it as it is. Do you have a use case for this?
> 
> On Tue, Feb 18, 2020 at 3:19 PM Vlad Rozov <vro...@apache.org> wrote:
> 
> > Hi,
> >
> > What is the reason iceberg does not allow LongLiteral to DateLiteral
> > conversion while allowing LongLiteral to IntegerLiteral and IntegerLiteral
> > to DateLiteral? Should not direct conversion from LongLiteral to
> > DateLiteral be allowed when LongLiteral represents values in a proper range?
> >
> > Thank you,
> >
> > Vlad
> 
> 
> 
> -- 
> Ryan Blue
> Software Engineer
> Netflix
> 

Reply via email to