There are no test data sets, I’m afraid. I would love to add a data set that 
includes various kinds of geometries (points, lines, polygons). One candidate 
is the one in the OpenGIS Simple Feature Access spec[1] section C.3.1.2 onwards.

There ought to be (but isn’t, right now) an easier way to import the list of 
GIS functions than calling ModelHandler.addFunctions. You can currently add 
‘fun=oracle’ to the JDBC URL to load the operators in OracleSqlOperatorTable; 
we ought to allow ‘fun=spatial’ or ‘fun=oracle,spatial’.

Julian

[1] http://portal.opengeospatial.org/files/?artifact_id=25354 
<http://portal.opengeospatial.org/files/?artifact_id=25354> 

> On Nov 28, 2017, at 1:11 PM, Michael Mior <[email protected]> wrote:
> 
> Yes, you should not use quotes if upcase is true since all functions are
> registered with uppercase names and all unquoted literals are also
> automatically upcased. Glad this helped!
> 
> --
> Michael Mior
> [email protected]
> 
> 2017-11-28 14:18 GMT-05:00 Christian Tzolov <[email protected]>:
> 
>> ​Ok, ​
>> I think i
>> ​ solved the riddle​
>> .
>> ​H
>> ad to remove
>> ​the ​
>> quotes from
>> ​the ​
>> function name (e.g. use ST_Point instead of "ST_Point"). This
>> ​ is due to the ​
>> upCase=TURE parameter
>> ​in
>> ​
>> addFunctions
>> ​ ​
>> .
>> 
>> I don't see the error anymore. Now i'm facing another issue i believe is
>> related with my adapter implementation.
>> 
>> Thanks for the support!
>> 
>> On 28 November 2017 at 18:43, Christian Tzolov <[email protected]> wrote:
>> 
>>> 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 <[email protected]> wrote:
>>> 
>>>> I believe that should work. I'll let others correct me if I'm missing
>> the
>>>> boat here.
>>>> 
>>>> --
>>>> Michael Mior
>>>> [email protected]
>>>> 
>>>> 2017-11-28 12:31 GMT-05:00 Christian Tzolov <[email protected]>:
>>>> 
>>>>> 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 <[email protected]>
>> 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
>>>>>> [email protected]
>>>>>> 
>>>>>> 2017-11-28 4:27 GMT-05:00 Christian Tzolov <[email protected]>:
>>>>>> 
>>>>>>> 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 <
>> [email protected]>
>>>>>> 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 <[email protected]>
>>>> 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 <
>>>> [email protected]
>>>>>> 
>>>>>>>>> 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/>
>>>>>>>> | [email protected]
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle
>>>>>> Software
>>>>>>> Engineer | Spring <https://spring.io/>.io | Pivotal <
>>>>> http://pivotal.io/>
>>>>>> |
>>>>>>> [email protected]
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle
>>>> Software
>>>>> Engineer | Spring <https://spring.io/>.io | Pivotal <
>> http://pivotal.io/>
>>>> |
>>>>> [email protected]
>>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle
>> Software
>>> Engineer | Spring <https://spring.io/>.io | Pivotal <http://pivotal.io/>
>>> | [email protected]
>>> 
>> 
>> 
>> 
>> --
>> Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle Software
>> Engineer | Spring <https://spring.io/>.io | Pivotal <http://pivotal.io/> |
>> [email protected]
>> 

Reply via email to