Hey there,

I have another question related to
​ ​
handling
​​
spatial (
​or​
any) functions in custom adapter implementations.

For e
​ ​
example the
​ ​
​rel
. plan for the following  query
​(​
with
​​
spatial function
​)​


EXPLAIN PLAN FOR SELECT
  "city",
  ST_Point(
      cast("loc" [0] AS DOUBLE),
      cast("loc" [1] AS DOUBLE)
  )
FROM "geode"."Zips"
LIMIT
10;

will ​produce plan like this:


GeodeToEnumerableConverterRel
  GeodeProjectRel(city=[$1], EXPR$1=[*ST_POIN*T(CAST(ITEM($2, 0)):DOUBLE,
CAST(ITEM($2, 1)):DOUBLE)])
    GeodeSortRel(fetch=[10])
      GeodeTableScanRel(table=[[geode, Zips]])

​Given that my ​GeodeProjectRel implementation doesn't know about the
*ST_POIN*T this should fail?  Or somehow get ignored in my case.

What is the correct way to handle such cases?

Perhaps in my Project rule i should make sure that projection with function
expression should not be matched so it falls back to the the
EnumerableProjection?

Thanks,
Christian

Reply via email to