[JBoss JIRA] (TEIID-4828) ST_GeomFromGeoJson fails for certain geometry types
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4828?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4828:
---------------------------------------
I see that we have the wrong databind version in the master pom. It should be 2.5.4, not 2.4.5. With that version or even the 2.6.3 required by geojson results in the same exception, so I'll have to look at this more to see if it goes beyond just a simple dependency issue.
> ST_GeomFromGeoJson fails for certain geometry types
> ---------------------------------------------------
>
> Key: TEIID-4828
> URL: https://issues.jboss.org/browse/TEIID-4828
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.3, 8.12.10.6_3
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 9.3
>
>
> ST_GeomFromGeoJson fails to decode GeoJSON with certain geometry types. The following queries work:
> {code:sql|title=Working Queries}
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('POINT (30 10)')))
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))')));
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))')));
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))')));
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),((20 35, 10 30, 10 10, 30 5, 45 20, 20 35),(30 20, 20 15, 20 25, 30 20)))')));
> {code}
> but these fail:
> {code:sql|title=Failing Queries}
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('MULTIPOINT ((10 40), (40 30), (20 20), (30 10))')));
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('MULTIPOINT (10 40, 40 30, 20 20, 30 10)')));
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('MULTILINESTRING ((10 10, 20 20, 10 40),(40 40, 30 30, 40 20, 30 10))')));
> select ST_GeomFromGeoJson(ST_AsGeoJSON(ST_GeomFromText('LINESTRING (30 10, 10 30, 40 40)')));
> {code}
> The server log when running with master says
> {noformat}
> TEIID30328 Unable to evaluate ST_GeomFromGeoJson(?): TEIID30384 Error while evaluating function st_geomfromgeojson'. Originally ExpressionEvaluationException 'Conflicting property-based creators: already had explicitly marked [constructor for org.wololo.geojson.MultiPoint, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=(a)com.fasterxml.jackson.annotation.JsonCreator(mode=DEFAULT)}], encountered [constructor for org.wololo.geojson.MultiPoint, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=(a)com.fasterxml.jackson.annotation.JsonCreator(mode=DEFAULT)}]' CreatorCollector.java:304.
> {noformat}
> When running with latest 6.3 patch, the server log says
> {noformat}
> TEIID30328 Unable to evaluate ST_GeomFromGeoJson(?): TEIID30384 Error while evaluating function st_geomfromgeojson'. Originally ExpressionEvaluationException '1' BasicDeserializerFactory.java:394.
> {noformat}
> The difference seems to be due to different versions of jackson-databind (which also seems to be the source of the problem).
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4831) Allow buffer cleaner to evict more
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4831:
-------------------------------------
Summary: Allow buffer cleaner to evict more
Key: TEIID-4831
URL: https://issues.jboss.org/browse/TEIID-4831
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.3
With our memory intensive performance tests we can see in isolated tests a 2-5% performance increase by allowing the cleaner to also evict from the persistent queue to free up working memory space.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4830) Parsing Error when deploying VDB with "geometry" as column name
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4830?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4830.
-----------------------------------
Resolution: Done
Added the geometry token as an identifier.
> Parsing Error when deploying VDB with "geometry" as column name
> ---------------------------------------------------------------
>
> Key: TEIID-4830
> URL: https://issues.jboss.org/browse/TEIID-4830
> Project: Teiid
> Issue Type: Bug
> Components: Grammar, Query Engine
> Affects Versions: 9.3, 8.12.9.6_3
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 9.3, 9.2.2
>
>
> The following query works correctly if run against a deployed VDB:
> {code:sql}
> SELECT 'a' as "geometry";
> {code}
> However, the following VDB fails to deploy:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <vdb name="test-vdb" version="1">
> <model name="Test" type="VIRTUAL">
> <metadata type="DDL"><![CDATA[
> CREATE VIEW test(c1 string) AS
> SELECT 'a' as "geometry";
>
> ]]></metadata>
> </model>
> </vdb>
> {code}
> with the error
> {noformat}
> TEIID31080 Test.test validation error: TEIID31100 Parsing error: Encountered "SELECT 'a' AS [*]geometry[*]" at line 1, column 15.
> Was expecting: id
> {noformat}
> This seems to only happen when the name is "geometry", I could not find any other reserved word that would cause the same error.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4830) Parsing Error when deploying VDB with "geometry" as column name
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4830?page=com.atlassian.jira.plugin... ]
Steven Hawkins reassigned TEIID-4830:
-------------------------------------
Component/s: Query Engine
(was: VDB)
Fix Version/s: 9.3
9.2.2
Assignee: Steven Hawkins (was: Barry LaFond)
> Parsing Error when deploying VDB with "geometry" as column name
> ---------------------------------------------------------------
>
> Key: TEIID-4830
> URL: https://issues.jboss.org/browse/TEIID-4830
> Project: Teiid
> Issue Type: Bug
> Components: Grammar, Query Engine
> Affects Versions: 9.3, 8.12.9.6_3
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 9.3, 9.2.2
>
>
> The following query works correctly if run against a deployed VDB:
> {code:sql}
> SELECT 'a' as "geometry";
> {code}
> However, the following VDB fails to deploy:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <vdb name="test-vdb" version="1">
> <model name="Test" type="VIRTUAL">
> <metadata type="DDL"><![CDATA[
> CREATE VIEW test(c1 string) AS
> SELECT 'a' as "geometry";
>
> ]]></metadata>
> </model>
> </vdb>
> {code}
> with the error
> {noformat}
> TEIID31080 Test.test validation error: TEIID31100 Parsing error: Encountered "SELECT 'a' AS [*]geometry[*]" at line 1, column 15.
> Was expecting: id
> {noformat}
> This seems to only happen when the name is "geometry", I could not find any other reserved word that would cause the same error.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4661) Subsequent queries hang after materialized view TTL expires.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4661?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4661:
---------------------------------------
> Can you give me some hints how to reproduce the issue?
The unit test scenario should fail without the fix. Table loads via an access. Wait for the ttl to expire. Access again to trigger a lazy refresh. Wait for the ttl to expire. Access again - without a fix that last query was effectively hanging as it was detecting that it should wait on a load operation, which was not happening.
> Subsequent queries hang after materialized view TTL expires.
> ------------------------------------------------------------
>
> Key: TEIID-4661
> URL: https://issues.jboss.org/browse/TEIID-4661
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12.x
> Reporter: Colin Mondesir
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 9.0.6, 9.1.2, 9.2, 8.12.10.6_3
>
>
> With a VDB using lazy-invalidate in a clustered configuration initially the materialized view is cached correctly but when the TTL expires (10 minutes) and the query is run again the state of the view changes to LOADING and never reverts to "LOADED", so the next query hangs.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4823) joining 2 procedures results in QueryPlannerException: TEIID30275 Join region with unsatisfied access patterns cannot be satisfied by the join criteria
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4823?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4823.
-----------------------------------
Fix Version/s: 9.3
9.2.2
Resolution: Done
Addressed by adding the groups from the dependent source to the current groups so that nested nodes can pass the check.
> joining 2 procedures results in QueryPlannerException: TEIID30275 Join region with unsatisfied access patterns cannot be satisfied by the join criteria
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4823
> URL: https://issues.jboss.org/browse/TEIID-4823
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.1.4
> Reporter: Bram Gadeyne
> Assignee: Steven Hawkins
> Fix For: 9.3, 9.2.2
>
> Attachments: plan1.txt, plan2.txt
>
>
> I have a query like this where I join a regular table with a virtual procedure.
>
> {code:sql}
> select gd.patientid, ip.production
> from prod_P_GeneralData gd
> join pr_patient_in_production ip on ip.patientid = gd.patientid
> where gd.status = 1;
> {code}
>
> This works fine and returns 58 rows with no null values. The pr_patient_in_production procedure has 1 input parameter called patientid (integer) and one output parameter called production (boolean)
>
> Adding a second procedure call results in an excepion:
>
> {code:sql}
> select gd.patientid, lrs.datetime, lrs.varvalue as phtype
> from prod_P_GeneralData gd
> join pr_patient_in_production ip on ip.patientid = gd.patientid
> join pr_retrieve_labres lrs on
> lrs.patientid_in = gd.patientid
> and lrs.production = ip.production
> and lrs.resultgroup_in = 'pH-type'
> and lrs.varvalue = 1
> where gd.status = 1
> order by lrs.datetime, lrs.entertime desc
> {code}
>
> This pr_retrieve_labres procedure has patientid_in (integer), production (boolean) and resultgroup_in(string) as input parameters and also some output parameters.
>
> The exception is: Error: TEIID30275 Remote org.teiid.api.exception.query.QueryPlannerException: TEIID30275 Join region with unsatisfied access patterns cannot be satisfied by the join criteria, Access patterns: [[Access Pattern: Unsatisfied [ip.patientid] History [[ip.patientid]]], [Access Pattern: Unsatisfied [lrs.production, lrs.patientid_in] History [[lrs.patientid_in, lrs.production, lrs.resultgroup_in]]]]
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4823) joining 2 procedures results in QueryPlannerException: TEIID30275 Join region with unsatisfied access patterns cannot be satisfied by the join criteria
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4823?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4823:
----------------------------------
Component/s: Query Engine
> joining 2 procedures results in QueryPlannerException: TEIID30275 Join region with unsatisfied access patterns cannot be satisfied by the join criteria
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4823
> URL: https://issues.jboss.org/browse/TEIID-4823
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.1.4
> Reporter: Bram Gadeyne
> Assignee: Steven Hawkins
> Fix For: 9.3, 9.2.2
>
> Attachments: plan1.txt, plan2.txt
>
>
> I have a query like this where I join a regular table with a virtual procedure.
>
> {code:sql}
> select gd.patientid, ip.production
> from prod_P_GeneralData gd
> join pr_patient_in_production ip on ip.patientid = gd.patientid
> where gd.status = 1;
> {code}
>
> This works fine and returns 58 rows with no null values. The pr_patient_in_production procedure has 1 input parameter called patientid (integer) and one output parameter called production (boolean)
>
> Adding a second procedure call results in an excepion:
>
> {code:sql}
> select gd.patientid, lrs.datetime, lrs.varvalue as phtype
> from prod_P_GeneralData gd
> join pr_patient_in_production ip on ip.patientid = gd.patientid
> join pr_retrieve_labres lrs on
> lrs.patientid_in = gd.patientid
> and lrs.production = ip.production
> and lrs.resultgroup_in = 'pH-type'
> and lrs.varvalue = 1
> where gd.status = 1
> order by lrs.datetime, lrs.entertime desc
> {code}
>
> This pr_retrieve_labres procedure has patientid_in (integer), production (boolean) and resultgroup_in(string) as input parameters and also some output parameters.
>
> The exception is: Error: TEIID30275 Remote org.teiid.api.exception.query.QueryPlannerException: TEIID30275 Join region with unsatisfied access patterns cannot be satisfied by the join criteria, Access patterns: [[Access Pattern: Unsatisfied [ip.patientid] History [[ip.patientid]]], [Access Pattern: Unsatisfied [lrs.production, lrs.patientid_in] History [[lrs.patientid_in, lrs.production, lrs.resultgroup_in]]]]
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years
[JBoss JIRA] (TEIID-4830) Parsing Error when deploying VDB with "geometry" as column name
by Andrej Šmigala (JIRA)
Andrej Šmigala created TEIID-4830:
-------------------------------------
Summary: Parsing Error when deploying VDB with "geometry" as column name
Key: TEIID-4830
URL: https://issues.jboss.org/browse/TEIID-4830
Project: Teiid
Issue Type: Bug
Components: Grammar, VDB
Affects Versions: 9.3, 8.12.9.6_3
Reporter: Andrej Šmigala
Assignee: Barry LaFond
The following query works correctly if run against a deployed VDB:
{code:sql}
SELECT 'a' as "geometry";
{code}
However, the following VDB fails to deploy:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<vdb name="test-vdb" version="1">
<model name="Test" type="VIRTUAL">
<metadata type="DDL"><![CDATA[
CREATE VIEW test(c1 string) AS
SELECT 'a' as "geometry";
]]></metadata>
</model>
</vdb>
{code}
with the error
{noformat}
TEIID31080 Test.test validation error: TEIID31100 Parsing error: Encountered "SELECT 'a' AS [*]geometry[*]" at line 1, column 15.
Was expecting: id
{noformat}
This seems to only happen when the name is "geometry", I could not find any other reserved word that would cause the same error.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years