Unfortunately it didn't help still get " No match found for function signature ST_Point(<NUMERIC>, <NUMERIC>)" .
Could it be that i need to ad some schema or other prefix? e.g. "geode"."ST_Point"( Also can i check interactively what are the registered functions? On 28 November 2017 at 18:33, Michael Mior <mm...@uwaterloo.ca> wrote: > I believe that should work. I'll let others correct me if I'm missing the > boat here. > > -- > Michael Mior > mm...@apache.org > > 2017-11-28 12:31 GMT-05:00 Christian Tzolov <ctzo...@pivotal.io>: > > > Thanks @Michael! Can i assume that > > > > in > > > > the SchemaFactory > > # > > create(SchemaPlus parentSchema, String name, > > ... > > ) > > method the root schema is constructed? And can i use the > > parentSchema > > like this: > > > > ModelHandler.addFunctions(parentSchema, null, > ImmutableList.<String>of(), > > > > GeoFunctions.class.getName(), "*", true); > > > > On 28 November 2017 at 16:58, Michael Mior <mm...@uwaterloo.ca> wrote: > > > > > I believe the geospatial functions are not currently registered by > > default. > > > You can see an example of how to do this in CalciteAssert.java. Once > you > > > have constructed the root schema, the following should be sufficient: > > > > > > ModelHandler.addFunctions(rootSchema, null, > ImmutableList.<String>of(), > > > GeoFunctions.class.getName(), "*", true); > > > > > > -- > > > Michael Mior > > > mm...@apache.org > > > > > > 2017-11-28 4:27 GMT-05:00 Christian Tzolov <ctzo...@pivotal.io>: > > > > > > > I've tried to cast the Zip's loc column into double like this: > > > > > > > > SELECT > > > > > > > > "city", cast("loc" [0] AS DOUBLE) AS "lon", cast("loc" [1] AS > DOUBLE) > > > AS > > > > "lat" > > > > > > > > FROM "geode"."Zips" > > > > > > > > LIMIT 10; > > > > > > > > This seems to work fine. But when i try to use the ST_Point > function > > i > > > > get: "No match found for function signature ST_Point(<NUMERIC>, > > > <NUMERIC>)" > > > > (full stack is below) > > > > > > > > It seems like i've not registered a jar dependency or haven't enabled > > > > something else? > > > > > > > > > > > > jdbc:calcite:conformance=LENIENT> SELECT "city", > "ST_Point"(cast("loc" > > > [0] > > > > AS DOUBLE), cast("loc" [1] AS DOUBLE)) FROM "geode"."Zips"LIMIT 10; > > > > 2017-11-28 10:19:15,199 [main] ERROR - > > > > org.apache.calcite.sql.validate.SqlValidatorException: No match > found > > > for > > > > function signature ST_Point(<NUMERIC>, <NUMERIC>) > > > > 2017-11-28 10:19:15,199 [main] ERROR - > > > > org.apache.calcite.runtime.CalciteContextException: From line 1, > > column > > > 16 > > > > to line 1, column 79: No match found for function signature > > > > ST_Point(<NUMERIC>, <NUMERIC>) > > > > Error: Error while executing SQL "SELECT "city", > "ST_Point"(cast("loc" > > > [0] > > > > AS DOUBLE), cast("loc" [1] AS DOUBLE)) FROM "geode"."Zips"LIMIT 10": > > From > > > > line 1, column 16 to line 1, column 79: No match found for function > > > > signature ST_Point(<NUMERIC>, <NUMERIC>) (state=,code=0) > > > > > > > > On 28 November 2017 at 09:32, Christian Tzolov <ctzo...@pivotal.io> > > > wrote: > > > > > > > > > @Julian are there some tests, json datasets? Perhaps in > > > > > calcite-test-dataset? > > > > > Also I will try to cast the "loc" from Zips into DOUBLE columns to > > test > > > > > the ST_Point > > > > > > > > > > On 28 November 2017 at 02:24, Julian Hyde <jh...@apache.org> > wrote: > > > > > > > > > >> It’s true that you can’t define a GEOMETRY column in a foreign > > table. > > > > But > > > > >> you can define a VARCHAR column and apply the ST_GeomFromText to > it, > > > or > > > > if > > > > >> you want a point you can define a pair of DOUBLE columns and apply > > the > > > > >> ST_Point function. > > > > >> > > > > >> In essence, our implementation of GEOMETRY is only an in-memory > > format > > > > >> right now, not an on-disk format. It’s a little less efficient > than > > a > > > > >> native GEOMETRY data type but hopefully over time we will write > > > > optimizer > > > > >> rules that push down filters etc. so we don’t literally construct > an > > > > >> in-memory geometry object for every row, only the rows we are > > > > interested in. > > > > >> > > > > >> Julian > > > > >> > > > > >> > On Nov 27, 2017, at 2:59 AM, Christian Tzolov < > ctzo...@pivotal.io > > > > > > > >> wrote: > > > > >> > > > > > >> > Hey there, > > > > >> > > > > > >> > I'm exploring the new Spatial (https://calcite.apache.org/do > > > > >> cs/spatial.html) > > > > >> > functionality and i've been trying to figure out what are the > > > minimal > > > > >> > requirements for using it with my custom adapter. > > > > >> > > > > > >> > Following the guidelines i've set LENIENT conformance in my > jdbc > > > URL > > > > ( > > > > >> > jdbc:calcite:conformance=LENIENT; > > > > >> > model=...my model > > > > >> > > > > > >> > > > > > >> > ) > > > > >> > > > > > >> > But I am not sure how define the GEOMETRY column types? > > > > >> > > > > > >> > Currently my custom Schema/Table factory implementation infers > the > > > > >> column > > > > >> > types from the underlaying system's field types. > > > > >> > > > > > >> > So it seems that i need to change my implementation and somehow > to > > > > hint > > > > >> > which fields needs to be mapped to GEOMETRY types? Or perhaps i > > can > > > > >> try to > > > > >> > do some expensive casting in SQL? > > > > >> > > > > > >> > Are there any guidelines, examples for using Spatial > > functionality > > > on > > > > >> 3rd > > > > >> > party (e.g. custom) adapters? > > > > >> > > > > > >> > Thanks, > > > > >> > Christian > > > > >> > > > > >> > > > > > > > > > > > > > > > -- > > > > > Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle > > > > Software > > > > > Engineer | Spring <https://spring.io/>.io | Pivotal < > > > http://pivotal.io/> > > > > > | ctzo...@pivotal.io > > > > > > > > > > > > > > > > > > > > > -- > > > > Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle > > > Software > > > > Engineer | Spring <https://spring.io/>.io | Pivotal < > > http://pivotal.io/> > > > | > > > > ctzo...@pivotal.io > > > > > > > > > > > > > > > -- > > Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle > Software > > Engineer | Spring <https://spring.io/>.io | Pivotal <http://pivotal.io/> > | > > ctzo...@pivotal.io > > > -- Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle Software Engineer | Spring <https://spring.io/>.io | Pivotal <http://pivotal.io/> | ctzo...@pivotal.io