[JBoss JIRA] (TEIID-3931) Add support for odata service geospatial handling
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3931?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3931:
---------------------------------------
Another issue is that the polygon representation is different for jts, geojson, and olingo. It looks to be convertable between jts and geojson - but olingo only support the concept of a polygon with a single hole.
> Add support for odata service geospatial handling
> -------------------------------------------------
>
> Key: TEIID-3931
> URL: https://issues.jboss.org/browse/TEIID-3931
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 11.2
>
>
> We should use the Edm.Geometry type for the Teiid geometry type (we can also use system metadata to see if it's appropriate to use a geometry subtype) along with any geospatial operations that odata and Teiid support.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months
[JBoss JIRA] (TEIID-3931) Add support for odata service geospatial handling
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3931?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3931:
---------------------------------------
We do already have the ODataWKTWriter, so I can workaround that issue to generate the value object - however the geojson support is effectively broken. The value parsing requires the srid to be specified - even if 0. However the geojson logic will throw an exception if the srid is set - https://github.com/apache/olingo-odata4/blob/1fef3a131ea4cc334151a7f10b67...
Looking at the output for the reference service: https://services.odata.org/TripPinRESTierService/Airports
It has: {code}"Loc":{"type":"Point","coordinates":[-122.374722222222,37.6188888888889],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}{code}
It would be good if the olingo geojson support could include the srid as well. The atom logic does include srid per value handling. Or if the assumption is that the srid will be inferred from the $metadata - then there probably shouldn't be a check at all if the srid is set on the value object.
There is also a minor issue with the olingo geospatial value object toString methods - they use an upper case type name POINT(...), but the olingo expected pattern is lower case.
> Add support for odata service geospatial handling
> -------------------------------------------------
>
> Key: TEIID-3931
> URL: https://issues.jboss.org/browse/TEIID-3931
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 11.2
>
>
> We should use the Edm.Geometry type for the Teiid geometry type (we can also use system metadata to see if it's appropriate to use a geometry subtype) along with any geospatial operations that odata and Teiid support.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months
[JBoss JIRA] (TEIID-3931) Add support for odata service geospatial handling
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3931?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3931:
---------------------------------------
The conversion from the Teiid geometry value to the OData value objects is a bit tricky. They support a non-standard syntax extension of EWKT - it expects the srid to be specified even if 0, it is prefixed by geometry or geography, but worst of all the parsing is restrictive such that the output from our EWKT does not match.
> Add support for odata service geospatial handling
> -------------------------------------------------
>
> Key: TEIID-3931
> URL: https://issues.jboss.org/browse/TEIID-3931
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 11.2
>
>
> We should use the Edm.Geometry type for the Teiid geometry type (we can also use system metadata to see if it's appropriate to use a geometry subtype) along with any geospatial operations that odata and Teiid support.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months
[JBoss JIRA] (TEIID-5474) NPE on Complex Query with Procedure Call in SELECT
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5474?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-5474:
----------------------------------
Fix Version/s: 11.0.3
11.1.1
> NPE on Complex Query with Procedure Call in SELECT
> --------------------------------------------------
>
> Key: TEIID-5474
> URL: https://issues.jboss.org/browse/TEIID-5474
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 11.1
> Environment: teiid-11.1.0 (from 01.09.2018) on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 11.2, 11.1.1, 11.0.3
>
>
> Running the following query:
> {code:sql}
> SELECT
> (exec "SYSADMIN.logMsg"(
> "level" => 'INFO',
> "context" => 'DEBUG.FOO.BAR',
> "msg" => tccd.bank_account_holder_name)) as something
> FROM
> (
> SELECT c.city AS "bank_account_holder_name"
> FROM "adventureworks.address" c
> JOIN
> (
> select ca.addressid
> from "adventureworks.customeraddress" ca
> cross JOIN
> (
> WITH latest_exchange_rates AS
> (
> SELECT exchange_rate_date AS month_begin
> FROM (
> SELECT CURDATE() as exchange_rate_date
> )t
> )
> SELECT DISTINCT dt.month_start AS month_begin
> FROM (
> CALL views.createDateDimensionsTable(
> "startdate" => TIMESTAMPADD(SQL_TSI_MONTH, 1, (SELECT month_begin FROM latest_exchange_rates)),
> "enddate" => TIMESTAMPADD(SQL_TSI_YEAR, 15, (SELECT month_begin FROM latest_exchange_rates))
> ) ) AS dt
> ) fx
> ) ci ON ci.addressid = c.addressid
> ) tccd ;;
> {code}
> will throw out the following stacktrace with NPE:
> {code:noformat}
> 2018-09-13 13:35:21,777 ERROR [org.teiid.PROCESSOR] (Worker5_QueryProcessorQueue36) ZvEDctN1yjKY TEIID30019 Unexpected exception for request ZvEDctN1yjKY.15: java.lang.NullPointerExc
> eption
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.doMerge(RuleMergeVirtual.java:218)
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.execute(RuleMergeVirtual.java:80)
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:1025)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:228)
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:179)
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:458)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:486)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:672)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:351)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:47)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:285)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:277)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:115)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:206)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months
[JBoss JIRA] (TEIID-5414) LISTAGG support
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5414?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5414:
---------------------------------------
[~lukyer] Is there a reference that we can link to from our docs as to what is supported by JOOQ with Teiid?
> LISTAGG support
> ---------------
>
> Key: TEIID-5414
> URL: https://issues.jboss.org/browse/TEIID-5414
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Reporter: Lukáš Svačina
> Assignee: Steven Hawkins
> Fix For: 11.2
>
>
> It would be useful to have supported new SQL2016 syntax for *LISTAGG*. Currently TEIID suport only *STRING_AGG *keyword, so I have to regexp replace it in SQL syntax generated by JOOQ sql builder as it uses new *LISTAGG *keyword in default.
> Parameteres syntax should be the same in both so the easiest option is to add just alias into grammar. However LISTAGG supports also some advanced syntax which could be useful too.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months
[JBoss JIRA] (TEIID-5480) Add geography support
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-5480:
-------------------------------------
Summary: Add geography support
Key: TEIID-5480
URL: https://issues.jboss.org/browse/TEIID-5480
Project: Teiid
Issue Type: Feature Request
Components: OData, Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 11.x
Geometry support should be expanded to the geography type. If we rely on additional libraries, we could also investigate 3 dimensional support at that time.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months
[JBoss JIRA] (TEIID-5414) LISTAGG support
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5414?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5414.
-----------------------------------
Resolution: Done
Added parsing and pushdown support for listagg - with the catch that pushdown support is still based upon a limited form of the string_agg function (string_agg fully subsumes the syntax/features of listagg).
> LISTAGG support
> ---------------
>
> Key: TEIID-5414
> URL: https://issues.jboss.org/browse/TEIID-5414
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Reporter: Lukáš Svačina
> Assignee: Steven Hawkins
> Fix For: 11.2
>
>
> It would be useful to have supported new SQL2016 syntax for *LISTAGG*. Currently TEIID suport only *STRING_AGG *keyword, so I have to regexp replace it in SQL syntax generated by JOOQ sql builder as it uses new *LISTAGG *keyword in default.
> Parameteres syntax should be the same in both so the easiest option is to add just alias into grammar. However LISTAGG supports also some advanced syntax which could be useful too.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 3 months