calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jordan Halterman <jordan.halter...@gmail.com>
Subject Re: RFC: Adding Double Colon Cast Syntax
Date Wed, 28 Sep 2016 22:44:17 GMT
Interesting history lesson! I'm certainly not one to deny code to the open
source community...

On Tue, Sep 27, 2016 at 12:35 PM, Julian Hyde <jhyde@apache.org> wrote:

> For the younger folks… it came from a crazy time in the mid 90s when
> “object-oriented database” was the holy grail, and someone had the bright
> idea of making SQL syntax look like C++. Stonebraker and co. added
> object-oriented features to Ingres, called it Illustra, sold Illustra to
> Informix, and Informix choked digesting too large a meal, and IBM picked up
> the pieces. So, I consider it a vestige, and the only advantage of
> supporting it is for users who have existing SQL.
>
> I think we should do it, as long as it is enabled using a conformance
> setting (disabled by default), and if we can do it without making other
> parts of the code more complex to maintain.
>
> I’d also like to see an analysis of the scope of the task before we start.
> Is it just cosmetic sugar for CAST, or are there semantic differences? For
> example are there some types that can only be converted to using :: or
> CAST? Does :: fit neatly into the existing parser?
>
> Jacques, Is double-colon supported on all variants of DB2? From what I can
> tell, it an alternative to CAST only on some variants of DB2 (presumably
> those derived from Informix/Illustra).
>
> Jordan, Would you consider contributing back? It will make your life
> easier as we maintain code, and you know it’s the right thing to do. :)
>
> Julian
>
>
> > On Sep 27, 2016, at 11:46 AM, jordan.halterman@gmail.com wrote:
> >
> > We added the double-colon syntax to our own fork of the Calcite grammar
> to placate our analysts and their addiction to Redshift. TBH it was not
> easy, and our implementation still doesn't support things like casting from
> a scalar subquery. Essentially, you can cast identifiers and function
> results. But I'm sure the folks around here could figure it out.
> >
> >> On Sep 27, 2016, at 11:11 AM, Jacques Nadeau <jacques@apache.org>
> wrote:
> >>
> >> Hey Everybody,
> >>
> >> I'd like to propose adding the double colon cast syntax to Calcite (e.g.
> >> '1'::INTEGER instead of CAST('1' as INTEGER). It's something that
> Postgres,
> >> DB2, Vertica (PG deriv), RedShift (PG deriv) and a number of other
> systems
> >> support. Has anybody explored this or previously opened a jira (I
> searched
> >> and didn't find any)? Any thoughts on lexical ambiguities?
> >>
> >> thanks,
> >> Jacques
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message