[JBoss JIRA] (TEIID-4436) TEIID11008:PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0" running a query with GROUP BY and UNION ALL
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4436?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4436.
-----------------------------------
Resolution: Done
The issue was that the newly formed predicate under the union was not pushed as far as it could be.
> TEIID11008:PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0" running a query with GROUP BY and UNION ALL
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4436
> URL: https://issues.jboss.org/browse/TEIID-4436
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.7
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.4
>
>
> Running the following query:
> {code:sql}
> select * from (
> select
> test_a.a
> from pg.test_a
> group by
> test_a.a
> union all
> select
> 1 as a
> ) as x
> where a = 1;
> {code}
> where test_a is a table in PostgreSQL, the following exception is thrown:
> {code:sql}
> 01:07:04,815 WARN [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue114) enPDJlWH1O/y Connector worker process failed for atomic-request=enPDJlWH1O/y.34.5.30: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."a" FROM "public"."test_a" AS g_0 WHERE anon_grp0.gcol0 = 1 GROUP BY g_0."a"]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:365)
> at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy29.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> 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:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.postgresql.util.PSQLException: PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0"
> Position: 52
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
> ... 17 more
> 01:07:05,004 WARN [org.teiid.PROCESSOR] (Worker11_QueryProcessorQueue116) enPDJlWH1O/y TEIID30020 Processing exception for request enPDJlWH1O/y.34 'TEIID30504 test_tables_pg: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."a" FROM "public"."test_a" AS g_0 WHERE anon_grp0.gcol0 = 1 GROUP BY g_0."a"]'. Originally TeiidProcessingException 'PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0"
> Position: 52' QueryExecutorImpl.java:2157. Enable more detailed logging to see the entire stacktrace.
> {code}
> I reproduced this error in Teiid-9.1.0.Alpha2
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4436) TEIID11008:PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0" running a query with GROUP BY and UNION ALL
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4436?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4436:
----------------------------------
Component/s: Query Engine
Fix Version/s: 9.1
9.0.4
Affects Version/s: 8.7
> TEIID11008:PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0" running a query with GROUP BY and UNION ALL
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4436
> URL: https://issues.jboss.org/browse/TEIID-4436
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.7
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.4
>
>
> Running the following query:
> {code:sql}
> select * from (
> select
> test_a.a
> from pg.test_a
> group by
> test_a.a
> union all
> select
> 1 as a
> ) as x
> where a = 1;
> {code}
> where test_a is a table in PostgreSQL, the following exception is thrown:
> {code:sql}
> 01:07:04,815 WARN [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue114) enPDJlWH1O/y Connector worker process failed for atomic-request=enPDJlWH1O/y.34.5.30: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."a" FROM "public"."test_a" AS g_0 WHERE anon_grp0.gcol0 = 1 GROUP BY g_0."a"]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:365)
> at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy29.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> 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:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.postgresql.util.PSQLException: PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0"
> Position: 52
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
> ... 17 more
> 01:07:05,004 WARN [org.teiid.PROCESSOR] (Worker11_QueryProcessorQueue116) enPDJlWH1O/y TEIID30020 Processing exception for request enPDJlWH1O/y.34 'TEIID30504 test_tables_pg: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."a" FROM "public"."test_a" AS g_0 WHERE anon_grp0.gcol0 = 1 GROUP BY g_0."a"]'. Originally TeiidProcessingException 'PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0"
> Position: 52' QueryExecutorImpl.java:2157. Enable more detailed logging to see the entire stacktrace.
> {code}
> I reproduced this error in Teiid-9.1.0.Alpha2
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4439) salesforce-34 translator dependencies issues
by Thomas Esche (JIRA)
Thomas Esche created TEIID-4439:
-----------------------------------
Summary: salesforce-34 translator dependencies issues
Key: TEIID-4439
URL: https://issues.jboss.org/browse/TEIID-4439
Project: Teiid
Issue Type: Bug
Components: Salesforce Connector
Affects Versions: 9.0.3
Environment: wildfly 10.0.0.Final and teiid-9.1.0.Beta1
Reporter: Thomas Esche
Assignee: Steven Hawkins
Issues if using salesforce-34: As soon as one use a WHERE condition to select a certain ID, the v34 version throws the following exception:
{{java.lang.NoSuchMethodError: Remote java.lang.NoSuchMethodError: com.sforce.soap.partner.QueryResult.setRecords([Lcom/sforce/soap/partner/sobject/SObject;>V
at org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.retrieve(SalesforceConnectionImpl.java:456)
at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:206)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:367)
...}}
See discussion:
[https://developer.jboss.org/thread/272248]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4437) Convert Teiid build to use "feature-pack"
by Kylin Soong (JIRA)
[ https://issues.jboss.org/browse/TEIID-4437?page=com.atlassian.jira.plugin... ]
Kylin Soong commented on TEIID-4437:
------------------------------------
Copy from mail list for convenient to view:
I have took at stab at feature pack build design, and found out that is quite simple once I found a good example "keycloak" project. What you have shown me and what other projects have done with defining the dependencies that are unnecessary which caused lot more confusion in my head.
First of all "feature-packs" have NOTHING to do with WF Swarm. It is a build/distribution paradigm that WF invented to handle modules/configuration of subsystems. So, we need to treat it as such. So entered separate JIRA TEIID-4437 for this. I want to see this fixed, independent of your wildFly-Swarm work. So, do not bring in any of changes related to that in this issue.
Based on TEIID-4437, I worked on implementation on my branch https://github.com/rareddy/teiid/commits/feature-pack as the starting point, fork/pull it, and submit your pull requests against this branch ONE translator/resource-adapter combo as I suggested in the JIRA at time. I will review each and every one of them and pull it in. Pay attention to pom.xml files and not introduce dependencies other than required.
As you can see in my branch I already created the feature packs for Teiid, I split them into client/public api, wf-integration, rest project. Olingo one needs to be done still (I will see if I can do that). I also did, JDBC translator as an example too. Once all the feature packs are completed, then you can work on "wildfly-server" module to develop a overlay distribution ZIP. As you can see I did some work there already, but left out configuration part.
As I mentioned above, my branch is where we would work. Once we resolve all these issues, we can submit a pull request into upstream. My idea is once you are done, I will do a file 2 file comparison with old and new distributions to validate we did not miss anything.
I am also pretty much confident on this design, knowing all the decisions we took to reach this point, so unless you show me a big flaw some where, THIS IS how I would like this to be done.
Steve/Van: Please comment on the grouping of the translator and resource-adapter as I suggested in JIRA, if there are any concerns. I would like to keep translator/ra projects independent as possible, if/when we need to pull these off into separate projects. Open Shift work is already asking for detached modules to keep the image size as low as possible.
> Convert Teiid build to use "feature-pack"
> -----------------------------------------
>
> Key: TEIID-4437
> URL: https://issues.jboss.org/browse/TEIID-4437
> Project: Teiid
> Issue Type: Task
> Components: Build/Kits
> Reporter: Ramesh Reddy
> Assignee: Kylin Soong
> Fix For: 9.2
>
>
> Change the current build process to build "feature-packs" for project, and then based on feature pack, build
> - WildFly Server distribution
> -WildFly Server Overlay distribution
> Teiid currently have distributions, but not based on feature-packs, they need to be. Other distributions like AdminShell do not fall into this category. Only distributions that has WF involvement need a feature -pack (this is important to remember).
> Currently Teiid uses "kit" directory in many different projects along with "wildfly-dist.xml" to populate "modules" directory. A feature-pack does EXACTLY same thing, but more with checks and balances. A feature pack, makes sure all the dependencies are met based on module.xml and module.xml defines the maven artifact rather than JAR file. i.e. it defines a metadata file, from which it can be build the zip file that "wildfly-dist.xml" assembly is currently doing. It also can has capabilities to "configure" the WF subsystem. That is manually done or done through CLI currently, using this part will be new.
> Implementation Rules
> 1) Every where we have "kit" directory, that module REQUIRES a "feature-pack" module. That means, every translator and resource-adapter gets it's own, and Teiid engine modules separately gets its own module. The reason to keep/create multiple modules is STRICTLY to keep the "modules" directory in feature-pack aligned ONE TO ONE with project that feature-pack represents. Otherwise, as developer we will NOT know which project is bringing in certain dependency, if all the modules are in single place. So, this is more about management of dependencies in a sane way. (Teiid did have all the modules in once place before in 7.x/8.x time, it is a nightmare to handle growing dependencies with our translators)
> 2) NONE of the work we have is useless/or need to be redone, most everything we have PERFECTLY maps to this effort, except for for configuration part.
> 3) For translator and resource adapter pair, I recommend that we pull them into single sub folder, and create a single feature pack for it. For example:
> we have
> {code}
> connectors/translator-mongodb
> connectors/connector-mongodb
> {code}
> I would like see we design as
> {code}
> connectors
> /mongdb
> /translator-mongodb
> /connector-mongodb
> /feature-pack-mongodb
> {code}
> No need to create "dist" packages for any resource-adapters or translators. As I mentioned in the beginning of the issue, there are two distributions, they are built using these various feature-packs.
> 4) I would like to see a clean move of "kit/wildfly/modules" to "feature-packs" using "git", NOT CUT n PASTE where we loose the GIT history. This will preserve the confidence that what we have currently is EXACTLY same as in future with feature-packs.
> 5) When designing the "feature-pack" projects, they ABSOLUTELY MUST NOT define any dependencies in their pom.xml other than Teiid project(s) they represent and any other feature-pack they refer to. (Kylin this is what cause most concern from your design for me)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-2578) add/remove schema elements
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-2578?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-2578:
-------------------------------------
{quote}This doesn't sound like how it should work, unless there were some specific MERGE INTO or IMPORT IF NOT EXISTS option. Otherwise I'd expect that the action of the import would need to have the tables dropped ahead of time.{quote}
You are right, no such provision in the spec, so let's keep with scenario where user needs to drop and re-create table(s), which is what I have now.
{quote}Which is no different that we do today as we default to caching the source metadata after the first deployment. However we allow the user to set on the model/schema if they want it to always reload and via the adminapi allow for metadata cache to be specifically invalidated as part of reload. We still should be able to support similar functionality.
{quote}
Do you consider above drop and re-import to satisfy that need? Otherwise what you think is appropriate here?
{quote}What do you mean?{quote}
Never mind that comment, as long as we agree, only result of IMPORT SCHEMA|DATABASE statements are persisted then we are on same page.
{quote}
I don't think they should not be dual purposed. Having ownership of the "repository state" makes it clear that we have full control over how the file is changed - and we aren't preserving commenting and/or including additional metadata.{quote}
Agree, I am just thinking what would a user might do. We should document as such.
{quote}Yes, I'm saying you cannot keep the session alive in general. {quote}
I mean to make the autoFailover = true by default. IMO, when security domain is changed, that should terminate all connections irrespective of this anyway. metadata concerns are valid, but I am flushing the session state? The intention is to make this seamless, if we make user login each time they issue a DDL command, usability sucks. How do other DBs handle this, I am sure we are not unique here.
{quote}whether it's the failover flag or something else related to connecting to vdb that is modifiable.{quote}
If we go this route, it will handle your above session termination comment. Then we can just allow to use autoFailover=true in this mode. I suspect a different connection flag may be better in case we need to separate autoFail vs edit mode. Please suggest me some name.
> add/remove schema elements
> --------------------------
>
> Key: TEIID-2578
> URL: https://issues.jboss.org/browse/TEIID-2578
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Fix For: 9.1
>
>
> Schemas are currently static after load. Modifications can only happen with restarts or new versions. We should allow add/drop at runtime.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4438) Crate ability to filter include/exclude tables during the import across all translators
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-4438:
-----------------------------------
Summary: Crate ability to filter include/exclude tables during the import across all translators
Key: TEIID-4438
URL: https://issues.jboss.org/browse/TEIID-4438
Project: Teiid
Issue Type: Feature Request
Components: Misc. Connectors
Reporter: Ramesh Reddy
Assignee: Steven Hawkins
Currently only JDBC translator allows exclude tables, inclusion and exclusion of tables to import during the metadata import needs to be added as generic feature across all translators to support TEIID-2578's DDL import command
IMPORT FOREIGN SCHEMA .. INCLUDE .. EXCLUDE ..
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4437) Convert Teiid build to use "feature-pack"
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4437?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-4437:
-------------------------------------
I also would like to see each translator and RA bring in their own configuration into "teiid" and "resource-adapter" subsystems with this new mechanism. The jdbc example from branch does not have this feature. https://github.com/rareddy/teiid/commits/feature-pack
> Convert Teiid build to use "feature-pack"
> -----------------------------------------
>
> Key: TEIID-4437
> URL: https://issues.jboss.org/browse/TEIID-4437
> Project: Teiid
> Issue Type: Task
> Components: Build/Kits
> Reporter: Ramesh Reddy
> Assignee: Kylin Soong
> Fix For: 9.2
>
>
> Change the current build process to build "feature-packs" for project, and then based on feature pack, build
> - WildFly Server distribution
> -WildFly Server Overlay distribution
> Teiid currently have distributions, but not based on feature-packs, they need to be. Other distributions like AdminShell do not fall into this category. Only distributions that has WF involvement need a feature -pack (this is important to remember).
> Currently Teiid uses "kit" directory in many different projects along with "wildfly-dist.xml" to populate "modules" directory. A feature-pack does EXACTLY same thing, but more with checks and balances. A feature pack, makes sure all the dependencies are met based on module.xml and module.xml defines the maven artifact rather than JAR file. i.e. it defines a metadata file, from which it can be build the zip file that "wildfly-dist.xml" assembly is currently doing. It also can has capabilities to "configure" the WF subsystem. That is manually done or done through CLI currently, using this part will be new.
> Implementation Rules
> 1) Every where we have "kit" directory, that module REQUIRES a "feature-pack" module. That means, every translator and resource-adapter gets it's own, and Teiid engine modules separately gets its own module. The reason to keep/create multiple modules is STRICTLY to keep the "modules" directory in feature-pack aligned ONE TO ONE with project that feature-pack represents. Otherwise, as developer we will NOT know which project is bringing in certain dependency, if all the modules are in single place. So, this is more about management of dependencies in a sane way. (Teiid did have all the modules in once place before in 7.x/8.x time, it is a nightmare to handle growing dependencies with our translators)
> 2) NONE of the work we have is useless/or need to be redone, most everything we have PERFECTLY maps to this effort, except for for configuration part.
> 3) For translator and resource adapter pair, I recommend that we pull them into single sub folder, and create a single feature pack for it. For example:
> we have
> {code}
> connectors/translator-mongodb
> connectors/connector-mongodb
> {code}
> I would like see we design as
> {code}
> connectors
> /mongdb
> /translator-mongodb
> /connector-mongodb
> /feature-pack-mongodb
> {code}
> No need to create "dist" packages for any resource-adapters or translators. As I mentioned in the beginning of the issue, there are two distributions, they are built using these various feature-packs.
> 4) I would like to see a clean move of "kit/wildfly/modules" to "feature-packs" using "git", NOT CUT n PASTE where we loose the GIT history. This will preserve the confidence that what we have currently is EXACTLY same as in future with feature-packs.
> 5) When designing the "feature-pack" projects, they ABSOLUTELY MUST NOT define any dependencies in their pom.xml other than Teiid project(s) they represent and any other feature-pack they refer to. (Kylin this is what cause most concern from your design for me)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4437) Convert Teiid build to use "feature-pack"
by Ramesh Reddy (JIRA)
Ramesh Reddy created TEIID-4437:
-----------------------------------
Summary: Convert Teiid build to use "feature-pack"
Key: TEIID-4437
URL: https://issues.jboss.org/browse/TEIID-4437
Project: Teiid
Issue Type: Task
Components: Build/Kits
Reporter: Ramesh Reddy
Assignee: Kylin Soong
Fix For: 9.2
Change the current build process to build "feature-packs" for project, and then based on feature pack, build
- WildFly Server distribution
-WildFly Server Overlay distribution
Teiid currently have distributions, but not based on feature-packs, they need to be. Other distributions like AdminShell do not fall into this category. Only distributions that has WF involvement need a feature -pack (this is important to remember).
Currently Teiid uses "kit" directory in many different projects along with "wildfly-dist.xml" to populate "modules" directory. A feature-pack does EXACTLY same thing, but more with checks and balances. A feature pack, makes sure all the dependencies are met based on module.xml and module.xml defines the maven artifact rather than JAR file. i.e. it defines a metadata file, from which it can be build the zip file that "wildfly-dist.xml" assembly is currently doing. It also can has capabilities to "configure" the WF subsystem. That is manually done or done through CLI currently, using this part will be new.
Implementation Rules
1) Every where we have "kit" directory, that module REQUIRES a "feature-pack" module. That means, every translator and resource-adapter gets it's own, and Teiid engine modules separately gets its own module. The reason to keep/create multiple modules is STRICTLY to keep the "modules" directory in feature-pack aligned ONE TO ONE with project that feature-pack represents. Otherwise, as developer we will NOT know which project is bringing in certain dependency, if all the modules are in single place. So, this is more about management of dependencies in a sane way. (Teiid did have all the modules in once place before in 7.x/8.x time, it is a nightmare to handle growing dependencies with our translators)
2) NONE of the work we have is useless/or need to be redone, most everything we have PERFECTLY maps to this effort, except for for configuration part.
3) For translator and resource adapter pair, I recommend that we pull them into single sub folder, and create a single feature pack for it. For example:
we have
{code}
connectors/translator-mongodb
connectors/connector-mongodb
{code}
I would like see we design as
{code}
connectors
/mongdb
/translator-mongodb
/connector-mongodb
/feature-pack-mongodb
{code}
No need to create "dist" packages for any resource-adapters or translators. As I mentioned in the beginning of the issue, there are two distributions, they are built using these various feature-packs.
4) I would like to see a clean move of "kit/wildfly/modules" to "feature-packs" using "git", NOT CUT n PASTE where we loose the GIT history. This will preserve the confidence that what we have currently is EXACTLY same as in future with feature-packs.
5) When designing the "feature-pack" projects, they ABSOLUTELY MUST NOT define any dependencies in their pom.xml other than Teiid project(s) they represent and any other feature-pack they refer to. (Kylin this is what cause most concern from your design for me)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4436) TEIID11008:PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0" running a query with GROUP BY and UNION ALL
by Salvatore R (JIRA)
Salvatore R created TEIID-4436:
----------------------------------
Summary: TEIID11008:PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0" running a query with GROUP BY and UNION ALL
Key: TEIID-4436
URL: https://issues.jboss.org/browse/TEIID-4436
Project: Teiid
Issue Type: Bug
Reporter: Salvatore R
Assignee: Steven Hawkins
Running the following query:
{code:sql}
select * from (
select
test_a.a
from pg.test_a
group by
test_a.a
union all
select
1 as a
) as x
where a = 1;
{code}
where test_a is a table in PostgreSQL, the following exception is thrown:
{code:sql}
01:07:04,815 WARN [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue114) enPDJlWH1O/y Connector worker process failed for atomic-request=enPDJlWH1O/y.34.5.30: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."a" FROM "public"."test_a" AS g_0 WHERE anon_grp0.gcol0 = 1 GROUP BY g_0."a"]
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:365)
at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
at com.sun.proxy.$Proxy29.execute(Unknown Source)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
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:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.postgresql.util.PSQLException: PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0"
Position: 52
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
... 17 more
01:07:05,004 WARN [org.teiid.PROCESSOR] (Worker11_QueryProcessorQueue116) enPDJlWH1O/y TEIID30020 Processing exception for request enPDJlWH1O/y.34 'TEIID30504 test_tables_pg: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."a" FROM "public"."test_a" AS g_0 WHERE anon_grp0.gcol0 = 1 GROUP BY g_0."a"]'. Originally TeiidProcessingException 'PSQLException-ERROR: missing FROM-clause entry for table "anon_grp0"
Position: 52' QueryExecutorImpl.java:2157. Enable more detailed logging to see the entire stacktrace.
{code}
I reproduced this error in Teiid-9.1.0.Alpha2
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (TEIID-4435) HIVE: decimal datatype is treated like a string
by Ivan Chan (JIRA)
Ivan Chan created TEIID-4435:
--------------------------------
Summary: HIVE: decimal datatype is treated like a string
Key: TEIID-4435
URL: https://issues.jboss.org/browse/TEIID-4435
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.3
Environment: Connecting through HIVE
Reporter: Ivan Chan
Assignee: Steven Hawkins
Teiid maps Decimal column (DECIMAL(9,4)) to "java.lang.String" when using org.teiid.translator.hive.HiveExecutionFactory. I would expect it to map to "java.math.BigDecimal" or something else.
Here is my table:
CREATE TABLE tableWithAllTypes(column_bigint BIGINT, column_boolean BOOLEAN, column_char CHAR(1), column_decimal DECIMAL(9,4), column_double DOUBLE, column_float FLOAT, column_int INT, column_smallint SMALLINT, column_string STRING, column_timestamp TIMESTAMP, column_tinyint TINYINT, column_varchar VARCHAR(64)) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months