Hi Jacques, you are right in that JSON schema is the most natural solution
for JSON. But I was looking to have a single SQL view of all the system.
Maybe defining a conversion between SQL schemas and JSON schemas could be
an approach that makes sense. I'll tell you guys if I'm able to make some
progress with this.

Thanks a lot for your help.

Greetings,

Juan

On Thu, Jun 2, 2016 at 1:21 PM, Jacques Nadeau <[email protected]> wrote:

> I think you could do this with Calcite but I wonder if something like
> Jackson's json schema module [1] might be a better fit?
>
>
> [1] https://github.com/FasterXML/jackson-module-jsonSchema
>
> On Thu, Jun 2, 2016 at 1:17 PM, Julian Hyde <[email protected]> wrote:
>
> > Would this be just a method, or would this be a user-defined function
> > that can be called from SQL?
> >
> > Writing it as a method would be straightforward, although it would
> > have to make certain assumptions about the mapping between JSON types
> > and SQL types. Writing it as a UDF is a bit harder, because we don't
> > have a way of representing types as values in SQL.
> >
> > One way to package it, that I think would be useful to other people,
> > would be a method in RexBuilder:
> >
> >   RexLiteral makeLiteralFromJson(
> >     Object o,
> >     RelDataType type,
> >     boolean ignoreUnknownFields)
> >
> > The input object, o, would be made up of Number, String, Boolean,
> > List, Map in the usual way, and would throw if the object does not
> > match the given type.
> >
> > Julian
> >
> >
> >
> > On Thu, Jun 2, 2016 at 12:39 PM, Juan Rodríguez Hortalá
> > <[email protected]> wrote:
> > > Hi,
> > >
> > > I have to check that some JSON objects have a certain shape. The idea
> is
> > > defining a method that given a RelDataType and a String for a JSON
> > object,
> > > returns a boolean saying whether the JSON is complaint with the schema
> or
> > > not. Can that be easily implemented with Calcite?
> > >
> > > Thanks in advance.
> > >
> > > Greetings,
> > >
> > > Juan
> >
>

Reply via email to