[JBoss JIRA] (TEIID-4493) Add support for integration with qgis
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4493?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4493:
---------------------------------------
I've check-in initial support (qgis 2.14) including additional changes to allow subqueries without a from clause, allowing implicit conversion of any numeric literal to double (which we may want to allow for float and for non-literals as well), advertise postgis 2.0 support, and full support the two argument form of st_asbinary. I'll add a release note in a follow on commit as there looks to be additional work:
- st_snaptogrid and st_simplifypreservetopology functions
- we may want real implementations of the functions that check privileges
- enforce the read only aspect of the transaction statement
- add more types to the binary result format handling
The documentation update is still pending as well - though not all changes will be formally documented if they are pg specific or stubbed.
> Add support for integration with qgis
> --------------------------------------
>
> Key: TEIID-4493
> URL: https://issues.jboss.org/browse/TEIID-4493
> Project: Teiid
> Issue Type: Enhancement
> Components: Documentation, Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 9.2
>
>
> Similar to our support for GeoServer, we should support qgis integration if possible.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 4 months
[JBoss JIRA] (TEIID-4580) ST_PointOnSurface returns point on the boundary of the polygon
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4580?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4580.
-----------------------------------
Fix Version/s: 9.2
9.1.2
Resolution: Done
Thanks Andrej. Yes, the postgis docs did not make that clear. It's only supposed to return the boundary is an interior point can't be calculated.
> ST_PointOnSurface returns point on the boundary of the polygon
> --------------------------------------------------------------
>
> Key: TEIID-4580
> URL: https://issues.jboss.org/browse/TEIID-4580
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.x, 8.12.7.6_3
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 9.2, 9.1.2
>
>
> Calling ST_PointOnSurface with a polygon argument returns one of the points of the polygon boundary.
> E.g.
> {code:sql}
> SELECT ST_AsText(ST_PointOnSurface(ST_GeomFromText('POLYGON ((67 13, 67 18, 59 18, 59 13, 67 13))')));
> {code}
> returns {{POINT (67 13)}}
> The spec says
> bq. PointOnSurface( ):Point—A point guaranteed to be on this Surface.
> which might not be completely clear, but [several|http://gis.stackexchange.com/questions/76498/how-is-st-pointonsur...] [sources|http://workshops.boundlessgeo.com/postgis-intro/geometry_returnin...] indicate that "on this surface" means _inside_ the surface.
> When running the same query against a postgis instance (not through teiid), the result is {{POINT(63 15.5)}}, which is actually inside the polygon.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 4 months
[JBoss JIRA] (TEIID-4579) External Materialization MySQL can't swap primary and stage table in xa transaction
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4579?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4579:
---------------------------------------
We should recommend a different statement. MySQL supports a single rename operation for a swap - http://dev.mysql.com/doc/refman/5.5/en/rename-table.html
rename table x_st to x_temp, x to x_st, x_temp to x
> External Materialization MySQL can't swap primary and stage table in xa transaction
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4579
> URL: https://issues.jboss.org/browse/TEIID-4579
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.12.7.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
>
> When using MySQL 5.5 as materialization target (primary and stage table are placed there) and on server side the mysql datasource is configured as xa-datasource, problem with transaction scope and status appears.
> The cause of this issue is, that in my "teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT" I try to swap primary and stage materialization tables by using third swap table:
> {code:sql}
> exec Source.native(''ALTER TABLE DV_MATVIEWS_MAT_VIEW_STAGE RENAME TO DV_MATVIEWS_MAT_VIEW_TEMP'');
> exec Source.native(''ALTER TABLE DV_MATVIEWS_MAT_VIEW RENAME TO DV_MATVIEWS_MAT_VIEW_STAGE'');
> exec Source.native(''ALTER TABLE DV_MATVIEWS_MAT_VIEW_TEMP RENAME TO DV_MATVIEWS_MAT_VIEW'');
> {code}
> but there is a limitation of ALTER TABLE commands which results in implicit commit:
> https://dev.mysql.com/doc/refman/5.5/en/implicit-commit.html
> Eventually the first of the three ALTER commands succeeds, but the second fails, thus I end up with no DV_MATVIEWS_MAT_VIEW_STAGE table, as it was previously renamed to DV_MATVIEWS_MAT_VIEW_TEMP. This particular problem could be resolved by TEIID-4240 I believe.
> The stacktrace of the issue:
> {code:plain}
> 15:19:59,825 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13) dEAkWiMWXtw2.0.77.13 Processing NEW request: EXEC Source.native('ALTER TABLE DV_MATVIEWS_MAT_VIEW_STAGE RENAME TO DV_MATVIEWS_MAT_VIEW_TEMP')
> 15:20:00,035 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13) dEAkWiMWXtw2.0.77.13 Obtained execution
> 15:20:00,036 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13) Source-specific command: ALTER TABLE DV_MATVIEWS_MAT_VIEW_STAGE RENAME TO DV_MATVIEWS_MAT_VIEW_TEMP
> 15:20:00,247 WARN [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13) Connector worker process failed for atomic-request=dEAkWiMWXtw2.0.77.13: org.teiid.translator.jdbc.JDBCExecutionException: 1399 TEIID11008:TEIID11004 Error executing statement(s): ALTER TABLE DV_MATVIEWS_MAT_VIEW_STAGE RENAME TO DV_MATVIEWS_MAT_VIEW_TEMP
> at org.teiid.translator.jdbc.JDBCDirectQueryExecution.execute(JDBCDirectQueryExecution.java:95) [translator-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_102]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_102]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_102]
> at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_102]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy81.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:142)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:150)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69)
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70)
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84)
> at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:92)
> at org.teiid.query.processor.proc.ProcedurePlan.executePlan(ProcedurePlan.java:608)
> at org.teiid.query.processor.proc.CreateCursorResultSetInstruction.process(CreateCursorResultSetInstruction.java:69)
> at org.teiid.query.processor.proc.ExecDynamicSqlInstruction$1.process(ExecDynamicSqlInstruction.java:218)
> at org.teiid.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:389)
> at org.teiid.query.processor.proc.ProcedurePlan.nextBatchDirect(ProcedurePlan.java:298)
> at org.teiid.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:270)
> at org.teiid.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:118)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:150)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102]
> Caused by: java.sql.SQLException: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2713)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2663)
> at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:888)
> at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:730)
> at com.mysql.jdbc.jdbc2.optional.StatementWrapper.execute(StatementWrapper.java:698)
> at org.jboss.jca.adapters.jdbc.WrappedStatement.execute(WrappedStatement.java:157)
> at org.teiid.translator.jdbc.JDBCDirectQueryExecution.execute(JDBCDirectQueryExecution.java:83) [translator-jdbc-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
> ... 45 more
> 15:20:00,254 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13) dEAkWiMWXtw2.0.77.13 Remove State
> 15:20:00,254 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue13) dEAkWiMWXtw2.0.77.13 Processing Close : EXEC Source.native('ALTER TABLE DV_MATVIEWS_MAT_VIEW_STAGE RENAME TO DV_MATVIEWS_MAT_VIEW_TEMP')
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 4 months
[JBoss JIRA] (TEIID-4582) Enable flexibiliy in use of colon delimiter when defining cacheTypeMap property
by Van Halbert (JIRA)
Van Halbert created TEIID-4582:
----------------------------------
Summary: Enable flexibiliy in use of colon delimiter when defining cacheTypeMap property
Key: TEIID-4582
URL: https://issues.jboss.org/browse/TEIID-4582
Project: Teiid
Issue Type: Enhancement
Components: Misc. Connectors
Affects Versions: 9.2
Reporter: Van Halbert
Assignee: Steven Hawkins
Priority: Trivial
The cacheTypeMap property syntax is the following:
cacheName:className;pkFieldName
where the colon and semi-colon are used. Change to be flexibile to also support colon for the second delimiter.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 4 months
[JBoss JIRA] (TEIID-4581) NPE occurs when the pkFieldName is not defined on the cacheTypeMap property
by Van Halbert (JIRA)
Van Halbert created TEIID-4581:
----------------------------------
Summary: NPE occurs when the pkFieldName is not defined on the cacheTypeMap property
Key: TEIID-4581
URL: https://issues.jboss.org/browse/TEIID-4581
Project: Teiid
Issue Type: Feature Request
Components: Misc. Connectors
Affects Versions: 9.2
Reporter: Van Halbert
Assignee: Steven Hawkins
The following NPE occurs when the pkFieldName is not defined on the cacheTypeMap property:
19:11:34,107 WARN [org.teiid.RUNTIME] (teiid-async-threads - 4) TEIID50036 VDB People.1 model "People" metadata failed to load. Reason:java.lang.
NullPointerException: java.lang.NullPointerException
at org.teiid.translator.infinispan.dsl.metadata.ProtobufMetadataProcessor.createRootTable(ProtobufMetadataProcessor.java:186)
at org.teiid.translator.infinispan.dsl.metadata.ProtobufMetadataProcessor.process(ProtobufMetadataProcessor.java:101)
at org.teiid.translator.infinispan.dsl.metadata.ProtobufMetadataProcessor.process(ProtobufMetadataProcessor.java:78)
at org.teiid.translator.ExecutionFactory.getMetadata(ExecutionFactory.java:950)
at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
at org.teiid.jboss.VDBService$6.run(VDBService.java:395)
at org.teiid.jboss.VDBService$7.run(VDBService.java:446)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_111]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 4 months
[JBoss JIRA] (TEIID-4581) NPE occurs when the pkFieldName is not defined on the cacheTypeMap property
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-4581?page=com.atlassian.jira.plugin... ]
Van Halbert reassigned TEIID-4581:
----------------------------------
Assignee: Van Halbert (was: Steven Hawkins)
> NPE occurs when the pkFieldName is not defined on the cacheTypeMap property
> ---------------------------------------------------------------------------
>
> Key: TEIID-4581
> URL: https://issues.jboss.org/browse/TEIID-4581
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 9.2
> Reporter: Van Halbert
> Assignee: Van Halbert
>
> The following NPE occurs when the pkFieldName is not defined on the cacheTypeMap property:
> 19:11:34,107 WARN [org.teiid.RUNTIME] (teiid-async-threads - 4) TEIID50036 VDB People.1 model "People" metadata failed to load. Reason:java.lang.
> NullPointerException: java.lang.NullPointerException
> at org.teiid.translator.infinispan.dsl.metadata.ProtobufMetadataProcessor.createRootTable(ProtobufMetadataProcessor.java:186)
> at org.teiid.translator.infinispan.dsl.metadata.ProtobufMetadataProcessor.process(ProtobufMetadataProcessor.java:101)
> at org.teiid.translator.infinispan.dsl.metadata.ProtobufMetadataProcessor.process(ProtobufMetadataProcessor.java:78)
> at org.teiid.translator.ExecutionFactory.getMetadata(ExecutionFactory.java:950)
> at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
> at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
> at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
> at org.teiid.jboss.VDBService$6.run(VDBService.java:395)
> at org.teiid.jboss.VDBService$7.run(VDBService.java:446)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_111]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_111]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_111]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122)
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 4 months