I am on the SQL standards committee and I will ask.

Are there any other things anyone would like to know?

On Thu, Apr 19, 2018 at 5:54 PM Michael Mior <mm...@uwaterloo.ca> wrote:

> Thanks for the review. I have most of these changes sorted out. Is there
> any good resource for the SQL standard aside from purchasing a copy of the
> standard itself. If not, do you think that this is something the ASF would
> be willing to do? Assuming it could be shared between projects, I think
> there are many who would benefit from this.
>
> --
> Michael Mior
> mm...@uwaterloo.ca
>
> 2018-04-18 21:31 GMT-04:00 Julian Hyde <jh...@apache.org>:
>
> > A couple of minor things. Your isJson function should return boolean not
> > Boolean, because the ISJSON function is strict - i.e. returns unknown if
> > and only if its input is null. If the input is null the code generator
> will
> > not call it.
> >
> > I think SqlIsJsonFunction is probably not necessary. I think everything
> > about the function can be deduced by reflection. (That’s how the Geo
> > functions work, also.)
> >
> > I’d add tests for JSON functions to SqlOperatorBaseTest rather than
> > creating CalciteJsonOperatorTest and JsonOperatorBaseTest. JSON functions
> > are not that different from the built-in function set. (The Geo functions
> > are not in the SQL standard; that’s why I separated them a bit.)
> >
> > Julian
> >
> >
> > > On Apr 18, 2018, at 5:59 PM, Michael Mior <mm...@uwaterloo.ca> wrote:
> > >
> > > Thanks Julian! I opened CALCITE-2266 to track implementing some of the
> > new
> > > JSON functions. I took a stab at implementing ISJSON in the following
> > > commit:
> > >
> > > https://github.com/michaelmior/calcite/commit/
> > d6930fcd04ed83d37f56a7795ee794
> > > 1b521fb99c
> > >
> > > These are touching parts of the code base I'm unfamiliar with so I
> mostly
> > > don't know what I'm doing :) I added a new operator table which I'm
> > > guessing we probably don't want to do but it made it easier for me when
> > > testing to isolate the new code.
> > >
> > > --
> > > Michael Mior
> > > mm...@uwaterloo.ca
> > >
> > > 2018-04-18 17:00 GMT-04:00 Julian Hyde <jh...@apache.org>:
> > >
> > >> Somehow I missed it, but a new version of the SQL standard was
> released
> > in
> > >> December 2016. Here is wikipedia’s description of the new features:
> > >>
> > >>> SQL:2016 introduced 44 new optional features. 22 of them belong
> > >>> to the JSON functionality, ten more are related to polymorphic table
> > >>> functions. The additions to the standard include:
> > >>>
> > >>> * JSON: Functions to create JSON documents, to access parts of
> > >>>   JSON documents and to check whether a string contains valid
> > >>>  JSON data
> > >>> * Row Pattern Recognition: Matching a sequence of rows against
> > >>>  a regular expression pattern
> > >>> * Date and time formatting and parsing
> > >>> * LISTAGG: A function to transform values from a group of rows into a
> > >>>  delimited string
> > >>> * Polymorphic table functions: table functions without predefined
> > return
> > >> type
> > >>> * New data type DECFLOAT
> > >>
> > >> Nothing earth-shattering, but some good stuff there. DECFLOAT makes a
> > lot
> > >> of sense — businesses hate the kind of rounding errors that binary
> > floating
> > >> point introduces, and DECFLOAT would seem to map directly to java’s
> > >> BigDecimal.
> > >>
> > >> And MATCH_RECOGNIZE, which we have already started work on.
> > >>
> > >> Julian
> > >>
> > >>
> >
> >
>

Reply via email to