[JBoss JIRA] (TEIID-5563) Separate the Teiid WildFly distribution into their own repo or module
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5563?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-5563:
----------------------------------
Description:
With the different types of distributions now being built based on Teiid like
* WildFly
* Thorntail
* SpringBoot
* Embedded
Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, the resource adapters are mainly for use with WildFly and Thorntail V2. When they are pulled into environments like SpringBoot they will bring the whole dependency chain with them with some JEE constructs that are unnecessary. This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly".
Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here.
The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
was:
With the different types of distributions now being built based on Teiid like
* WildFly
* Thorntail
* SpringBoot
* Embedded
Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, all the resource adapters in the repo are only useful in WildFly and Thorntail V2. However, when they are pulled into environments like SpringBoot they will bring the whole dependency chain with them with some JEE constructs that are unnecessary. This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly".
Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here.
The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
> Separate the Teiid WildFly distribution into their own repo or module
> ---------------------------------------------------------------------
>
> Key: TEIID-5563
> URL: https://issues.jboss.org/browse/TEIID-5563
> Project: Teiid
> Issue Type: Task
> Components: Build/Kits, Integration Tests
> Affects Versions: 12.x
> Reporter: Van Halbert
> Assignee: Van Halbert
> Priority: Major
>
> With the different types of distributions now being built based on Teiid like
> * WildFly
> * Thorntail
> * SpringBoot
> * Embedded
> Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, the resource adapters are mainly for use with WildFly and Thorntail V2. When they are pulled into environments like SpringBoot they will bring the whole dependency chain with them with some JEE constructs that are unnecessary. This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly".
> Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here.
> The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
> A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5563) Separate the Teiid WildFly distribution into their own repo or module
by Ramesh Reddy (Jira)
[ https://issues.jboss.org/browse/TEIID-5563?page=com.atlassian.jira.plugin... ]
Ramesh Reddy updated TEIID-5563:
--------------------------------
Description:
With the different types of distributions now being built based on Teiid like
* WildFly
* Thorntail
* SpringBoot
* Embedded
Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, all the resource adapters in the repo are only useful in WildFly and Thorntail V2. However, when they are pulled into environments like SpringBoot they will bring the whole dependency chain with them with some JEE constructs that are unnecessary. This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly".
Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here.
The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
was:Separate the Teiid connectors into their own repo to make it easier to manage the Teiid project dependencies separate from the connectors.
Summary: Separate the Teiid WildFly distribution into their own repo or module (was: Separate the Teiid connectors into their own repo)
> Separate the Teiid WildFly distribution into their own repo or module
> ---------------------------------------------------------------------
>
> Key: TEIID-5563
> URL: https://issues.jboss.org/browse/TEIID-5563
> Project: Teiid
> Issue Type: Task
> Components: Build/Kits, Integration Tests
> Affects Versions: 12.x
> Reporter: Van Halbert
> Assignee: Van Halbert
> Priority: Major
>
> With the different types of distributions now being built based on Teiid like
> * WildFly
> * Thorntail
> * SpringBoot
> * Embedded
> Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, all the resource adapters in the repo are only useful in WildFly and Thorntail V2. However, when they are pulled into environments like SpringBoot they will bring the whole dependency chain with them with some JEE constructs that are unnecessary. This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly".
> Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here.
> The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
> A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5566) Outer join prevents dependent join creation
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5566?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-5566:
----------------------------------
Component/s: Query Engine
Workaround Description:
Use a preserve hint to prevent the manipulation of the join ordering. In this example it can be applied around the top level join:
{code}... FROM /*+ preserve */ (meds_owner.compound ...) WHERE MEDS_OWNER... {code}
> Outer join prevents dependent join creation
> -------------------------------------------
>
> Key: TEIID-5566
> URL: https://issues.jboss.org/browse/TEIID-5566
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 11.0.1
> Reporter: Mike Higgins
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: missing_dep_debugplan.txt, missing_dep_inner_debugplan.txt, missing_dep_inner_plan.txt, missing_dep_plan.txt
>
>
> This query:
> SELECT MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID", MEDS_OWNER.COMPOUND."COMPOUND_NUMBER", MEDS_OWNER.PARENT_EQUIV_V."COMPOUND_PARENT",
> SCR_BATCH_INFO."PARENT_ID", SCR_BATCH_INFO."BATCH_NUMBER", SCR_EVT."COMPOUND_NUMBER", SCR_EVT."BATCH_TRACKING_ID",
> SCR_PRJ."PGRD_THRPC_AREA_CHAR_TYPE", SCR_PRJ."PGRD_PROJ_SHORT_DESC", SCR_EVT."PGRD_PROJECT_CODE",
> SCR_SITE."RSCH_SITE_SHORT_DESC", SCR_EVT."RSCH_SITE_CODE", SCR_EVT."CMPD_BATCH_EVENT_CODE",
> SCR_EVT."CMPD_BTCH_SCR_EVENT_TS", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_DESC", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_NAME",
> SCR_EVT."CMPD_BTCH_SCR_EVT_KEY"
> FROM meds_owner.compound
> LEFT OUTER JOIN meds_owner.parent AllParentCompounds ON (MEDS_OWNER.COMPOUND."PARENT_SEQ_ID" = AllParentCompounds."PARENT_SEQ_ID") LEFT OUTER JOIN meds_owner.parent_equiv_v
> ON (AllParentCompounds."PARENT_SEQ_ID_EQV" = MEDS_OWNER.PARENT_EQUIV_V."PARENT_SEQ_ID")
> LEFT OUTER /* inner join works */ JOIN (rifdm4.dmf_cet_cmpd_btch_scr_events SCR_EVT LEFT OUTER JOIN rifdwn_wp.dwn_pgrd_projects_v SCR_PRJ
> ON (SCR_EVT."PGRD_PROJECT_CODE" = SCR_PRJ."PGRD_PROJECT_CODE")
> LEFT OUTER JOIN rifods.ods_research_sites SCR_SITE ON (SCR_EVT."RSCH_SITE_CODE" = SCR_SITE."RSCH_SITE_CODE")
> LEFT OUTER JOIN rifdwh.dw_screen_protocols SCR_SCREEN_INFO ON (SCR_EVT."SCREEN_PROTOCOL_ID" = SCR_SCREEN_INFO."SCR_PRTCL_ID"))
> ON (((MEDS_OWNER.COMPOUND."COMPOUND_NUMBER" = SCR_EVT."COMPOUND_NUMBER")
> AND (SCR_EVT."CMPD_BATCH_EVENT_CODE"
> IN ('EXPSTART', 'EXPEND', 'EXPPUB')))
> AND ((SCR_EVT."CBTCH_EVENT_SRC_DEL_IND" = 'N')
> AND ((SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPSTART')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPEND')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPPUB'))))
> LEFT OUTER JOIN rifdm1.cpm_compound_batch SCR_BATCH_INFO ON (SCR_EVT."BATCH_TRACKING_ID" = SCR_BATCH_INFO."BATCH_TRACKING_NO")
> WHERE MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID" IN (21475535)
> option makedep SCR_EVT, SCR_BATCH_INFO
> does not create a dependent join on the SCR_EVT table. If you change the join to SCR_EVT to inner, it does.
> Plans and debug plans for both cases are attached. As a note, an older version of Teiid that we are also using (9.3.4) always creates the dependent join. 11.0.1 and 10.2.3 do not create the dependent join if the table is outer joined.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5567) makeind not honored if both join children are not dependent candidates
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5567?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5567.
-----------------------------------
Resolution: Done
Updated the logic to always have access to both nodes rather than only passing in both when both sides are candidates.
> makeind not honored if both join children are not dependent candidates
> ----------------------------------------------------------------------
>
> Key: TEIID-5567
> URL: https://issues.jboss.org/browse/TEIID-5567
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 11.1.2, 12.0, 11.2.2
>
>
> Putting the makeind hint on a join where the node is not eligible as a dependent target, the hint won't be honored. For example:
> {code} /*+ makeind */ a left outer join b ... {code} won't honor the makeind hint.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5566) Outer join prevents dependent join creation
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5566?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5566:
---------------------------------------
The issue is that RulePlanOuterJoins is changing the join structure enough that the the make dep hint is not utilized. I'll have a fix tomorrow.
> Outer join prevents dependent join creation
> -------------------------------------------
>
> Key: TEIID-5566
> URL: https://issues.jboss.org/browse/TEIID-5566
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.0.1
> Reporter: Mike Higgins
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: missing_dep_debugplan.txt, missing_dep_inner_debugplan.txt, missing_dep_inner_plan.txt, missing_dep_plan.txt
>
>
> This query:
> SELECT MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID", MEDS_OWNER.COMPOUND."COMPOUND_NUMBER", MEDS_OWNER.PARENT_EQUIV_V."COMPOUND_PARENT",
> SCR_BATCH_INFO."PARENT_ID", SCR_BATCH_INFO."BATCH_NUMBER", SCR_EVT."COMPOUND_NUMBER", SCR_EVT."BATCH_TRACKING_ID",
> SCR_PRJ."PGRD_THRPC_AREA_CHAR_TYPE", SCR_PRJ."PGRD_PROJ_SHORT_DESC", SCR_EVT."PGRD_PROJECT_CODE",
> SCR_SITE."RSCH_SITE_SHORT_DESC", SCR_EVT."RSCH_SITE_CODE", SCR_EVT."CMPD_BATCH_EVENT_CODE",
> SCR_EVT."CMPD_BTCH_SCR_EVENT_TS", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_DESC", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_NAME",
> SCR_EVT."CMPD_BTCH_SCR_EVT_KEY"
> FROM meds_owner.compound
> LEFT OUTER JOIN meds_owner.parent AllParentCompounds ON (MEDS_OWNER.COMPOUND."PARENT_SEQ_ID" = AllParentCompounds."PARENT_SEQ_ID") LEFT OUTER JOIN meds_owner.parent_equiv_v
> ON (AllParentCompounds."PARENT_SEQ_ID_EQV" = MEDS_OWNER.PARENT_EQUIV_V."PARENT_SEQ_ID")
> LEFT OUTER /* inner join works */ JOIN (rifdm4.dmf_cet_cmpd_btch_scr_events SCR_EVT LEFT OUTER JOIN rifdwn_wp.dwn_pgrd_projects_v SCR_PRJ
> ON (SCR_EVT."PGRD_PROJECT_CODE" = SCR_PRJ."PGRD_PROJECT_CODE")
> LEFT OUTER JOIN rifods.ods_research_sites SCR_SITE ON (SCR_EVT."RSCH_SITE_CODE" = SCR_SITE."RSCH_SITE_CODE")
> LEFT OUTER JOIN rifdwh.dw_screen_protocols SCR_SCREEN_INFO ON (SCR_EVT."SCREEN_PROTOCOL_ID" = SCR_SCREEN_INFO."SCR_PRTCL_ID"))
> ON (((MEDS_OWNER.COMPOUND."COMPOUND_NUMBER" = SCR_EVT."COMPOUND_NUMBER")
> AND (SCR_EVT."CMPD_BATCH_EVENT_CODE"
> IN ('EXPSTART', 'EXPEND', 'EXPPUB')))
> AND ((SCR_EVT."CBTCH_EVENT_SRC_DEL_IND" = 'N')
> AND ((SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPSTART')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPEND')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPPUB'))))
> LEFT OUTER JOIN rifdm1.cpm_compound_batch SCR_BATCH_INFO ON (SCR_EVT."BATCH_TRACKING_ID" = SCR_BATCH_INFO."BATCH_TRACKING_NO")
> WHERE MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID" IN (21475535)
> option makedep SCR_EVT, SCR_BATCH_INFO
> does not create a dependent join on the SCR_EVT table. If you change the join to SCR_EVT to inner, it does.
> Plans and debug plans for both cases are attached. As a note, an older version of Teiid that we are also using (9.3.4) always creates the dependent join. 11.0.1 and 10.2.3 do not create the dependent join if the table is outer joined.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5567) makeind not honored if both join children are not dependent candidates
by Steven Hawkins (Jira)
Steven Hawkins created TEIID-5567:
-------------------------------------
Summary: makeind not honored if both join children are not dependent candidates
Key: TEIID-5567
URL: https://issues.jboss.org/browse/TEIID-5567
Project: Teiid
Issue Type: Bug
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 11.1.2, 12.0, 11.2.2
Putting the makeind hint on a join where the node is not eligible as a dependent target, the hint won't be honored. For example:
{code} /*+ makeind */ a left outer join b ... {code} won't honor the makeind hint.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5566) Outer join prevents dependent join creation
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5566?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5566:
---------------------------------------
I see this same behavior on master. I'll dig in a little more to determine what is happening.
> Outer join prevents dependent join creation
> -------------------------------------------
>
> Key: TEIID-5566
> URL: https://issues.jboss.org/browse/TEIID-5566
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.0.1
> Reporter: Mike Higgins
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: missing_dep_debugplan.txt, missing_dep_inner_debugplan.txt, missing_dep_inner_plan.txt, missing_dep_plan.txt
>
>
> This query:
> SELECT MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID", MEDS_OWNER.COMPOUND."COMPOUND_NUMBER", MEDS_OWNER.PARENT_EQUIV_V."COMPOUND_PARENT",
> SCR_BATCH_INFO."PARENT_ID", SCR_BATCH_INFO."BATCH_NUMBER", SCR_EVT."COMPOUND_NUMBER", SCR_EVT."BATCH_TRACKING_ID",
> SCR_PRJ."PGRD_THRPC_AREA_CHAR_TYPE", SCR_PRJ."PGRD_PROJ_SHORT_DESC", SCR_EVT."PGRD_PROJECT_CODE",
> SCR_SITE."RSCH_SITE_SHORT_DESC", SCR_EVT."RSCH_SITE_CODE", SCR_EVT."CMPD_BATCH_EVENT_CODE",
> SCR_EVT."CMPD_BTCH_SCR_EVENT_TS", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_DESC", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_NAME",
> SCR_EVT."CMPD_BTCH_SCR_EVT_KEY"
> FROM meds_owner.compound
> LEFT OUTER JOIN meds_owner.parent AllParentCompounds ON (MEDS_OWNER.COMPOUND."PARENT_SEQ_ID" = AllParentCompounds."PARENT_SEQ_ID") LEFT OUTER JOIN meds_owner.parent_equiv_v
> ON (AllParentCompounds."PARENT_SEQ_ID_EQV" = MEDS_OWNER.PARENT_EQUIV_V."PARENT_SEQ_ID")
> LEFT OUTER /* inner join works */ JOIN (rifdm4.dmf_cet_cmpd_btch_scr_events SCR_EVT LEFT OUTER JOIN rifdwn_wp.dwn_pgrd_projects_v SCR_PRJ
> ON (SCR_EVT."PGRD_PROJECT_CODE" = SCR_PRJ."PGRD_PROJECT_CODE")
> LEFT OUTER JOIN rifods.ods_research_sites SCR_SITE ON (SCR_EVT."RSCH_SITE_CODE" = SCR_SITE."RSCH_SITE_CODE")
> LEFT OUTER JOIN rifdwh.dw_screen_protocols SCR_SCREEN_INFO ON (SCR_EVT."SCREEN_PROTOCOL_ID" = SCR_SCREEN_INFO."SCR_PRTCL_ID"))
> ON (((MEDS_OWNER.COMPOUND."COMPOUND_NUMBER" = SCR_EVT."COMPOUND_NUMBER")
> AND (SCR_EVT."CMPD_BATCH_EVENT_CODE"
> IN ('EXPSTART', 'EXPEND', 'EXPPUB')))
> AND ((SCR_EVT."CBTCH_EVENT_SRC_DEL_IND" = 'N')
> AND ((SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPSTART')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPEND')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPPUB'))))
> LEFT OUTER JOIN rifdm1.cpm_compound_batch SCR_BATCH_INFO ON (SCR_EVT."BATCH_TRACKING_ID" = SCR_BATCH_INFO."BATCH_TRACKING_NO")
> WHERE MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID" IN (21475535)
> option makedep SCR_EVT, SCR_BATCH_INFO
> does not create a dependent join on the SCR_EVT table. If you change the join to SCR_EVT to inner, it does.
> Plans and debug plans for both cases are attached. As a note, an older version of Teiid that we are also using (9.3.4) always creates the dependent join. 11.0.1 and 10.2.3 do not create the dependent join if the table is outer joined.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5566) Outer join prevents dependent join creation
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5566?page=com.atlassian.jira.plugin... ]
Work on TEIID-5566 started by Steven Hawkins.
---------------------------------------------
> Outer join prevents dependent join creation
> -------------------------------------------
>
> Key: TEIID-5566
> URL: https://issues.jboss.org/browse/TEIID-5566
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.0.1
> Reporter: Mike Higgins
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: missing_dep_debugplan.txt, missing_dep_inner_debugplan.txt, missing_dep_inner_plan.txt, missing_dep_plan.txt
>
>
> This query:
> SELECT MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID", MEDS_OWNER.COMPOUND."COMPOUND_NUMBER", MEDS_OWNER.PARENT_EQUIV_V."COMPOUND_PARENT",
> SCR_BATCH_INFO."PARENT_ID", SCR_BATCH_INFO."BATCH_NUMBER", SCR_EVT."COMPOUND_NUMBER", SCR_EVT."BATCH_TRACKING_ID",
> SCR_PRJ."PGRD_THRPC_AREA_CHAR_TYPE", SCR_PRJ."PGRD_PROJ_SHORT_DESC", SCR_EVT."PGRD_PROJECT_CODE",
> SCR_SITE."RSCH_SITE_SHORT_DESC", SCR_EVT."RSCH_SITE_CODE", SCR_EVT."CMPD_BATCH_EVENT_CODE",
> SCR_EVT."CMPD_BTCH_SCR_EVENT_TS", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_DESC", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_NAME",
> SCR_EVT."CMPD_BTCH_SCR_EVT_KEY"
> FROM meds_owner.compound
> LEFT OUTER JOIN meds_owner.parent AllParentCompounds ON (MEDS_OWNER.COMPOUND."PARENT_SEQ_ID" = AllParentCompounds."PARENT_SEQ_ID") LEFT OUTER JOIN meds_owner.parent_equiv_v
> ON (AllParentCompounds."PARENT_SEQ_ID_EQV" = MEDS_OWNER.PARENT_EQUIV_V."PARENT_SEQ_ID")
> LEFT OUTER /* inner join works */ JOIN (rifdm4.dmf_cet_cmpd_btch_scr_events SCR_EVT LEFT OUTER JOIN rifdwn_wp.dwn_pgrd_projects_v SCR_PRJ
> ON (SCR_EVT."PGRD_PROJECT_CODE" = SCR_PRJ."PGRD_PROJECT_CODE")
> LEFT OUTER JOIN rifods.ods_research_sites SCR_SITE ON (SCR_EVT."RSCH_SITE_CODE" = SCR_SITE."RSCH_SITE_CODE")
> LEFT OUTER JOIN rifdwh.dw_screen_protocols SCR_SCREEN_INFO ON (SCR_EVT."SCREEN_PROTOCOL_ID" = SCR_SCREEN_INFO."SCR_PRTCL_ID"))
> ON (((MEDS_OWNER.COMPOUND."COMPOUND_NUMBER" = SCR_EVT."COMPOUND_NUMBER")
> AND (SCR_EVT."CMPD_BATCH_EVENT_CODE"
> IN ('EXPSTART', 'EXPEND', 'EXPPUB')))
> AND ((SCR_EVT."CBTCH_EVENT_SRC_DEL_IND" = 'N')
> AND ((SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPSTART')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPEND')
> OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPPUB'))))
> LEFT OUTER JOIN rifdm1.cpm_compound_batch SCR_BATCH_INFO ON (SCR_EVT."BATCH_TRACKING_ID" = SCR_BATCH_INFO."BATCH_TRACKING_NO")
> WHERE MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID" IN (21475535)
> option makedep SCR_EVT, SCR_BATCH_INFO
> does not create a dependent join on the SCR_EVT table. If you change the join to SCR_EVT to inner, it does.
> Plans and debug plans for both cases are attached. As a note, an older version of Teiid that we are also using (9.3.4) always creates the dependent join. 11.0.1 and 10.2.3 do not create the dependent join if the table is outer joined.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-5566) Outer join prevents dependent join creation
by Mike Higgins (Jira)
Mike Higgins created TEIID-5566:
-----------------------------------
Summary: Outer join prevents dependent join creation
Key: TEIID-5566
URL: https://issues.jboss.org/browse/TEIID-5566
Project: Teiid
Issue Type: Bug
Affects Versions: 11.0.1
Reporter: Mike Higgins
Assignee: Steven Hawkins
Attachments: missing_dep_debugplan.txt, missing_dep_inner_debugplan.txt, missing_dep_inner_plan.txt, missing_dep_plan.txt
This query:
SELECT MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID", MEDS_OWNER.COMPOUND."COMPOUND_NUMBER", MEDS_OWNER.PARENT_EQUIV_V."COMPOUND_PARENT",
SCR_BATCH_INFO."PARENT_ID", SCR_BATCH_INFO."BATCH_NUMBER", SCR_EVT."COMPOUND_NUMBER", SCR_EVT."BATCH_TRACKING_ID",
SCR_PRJ."PGRD_THRPC_AREA_CHAR_TYPE", SCR_PRJ."PGRD_PROJ_SHORT_DESC", SCR_EVT."PGRD_PROJECT_CODE",
SCR_SITE."RSCH_SITE_SHORT_DESC", SCR_EVT."RSCH_SITE_CODE", SCR_EVT."CMPD_BATCH_EVENT_CODE",
SCR_EVT."CMPD_BTCH_SCR_EVENT_TS", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_DESC", SCR_SCREEN_INFO."SCR_PRTCL_SHORT_NAME",
SCR_EVT."CMPD_BTCH_SCR_EVT_KEY"
FROM meds_owner.compound
LEFT OUTER JOIN meds_owner.parent AllParentCompounds ON (MEDS_OWNER.COMPOUND."PARENT_SEQ_ID" = AllParentCompounds."PARENT_SEQ_ID") LEFT OUTER JOIN meds_owner.parent_equiv_v
ON (AllParentCompounds."PARENT_SEQ_ID_EQV" = MEDS_OWNER.PARENT_EQUIV_V."PARENT_SEQ_ID")
LEFT OUTER /* inner join works */ JOIN (rifdm4.dmf_cet_cmpd_btch_scr_events SCR_EVT LEFT OUTER JOIN rifdwn_wp.dwn_pgrd_projects_v SCR_PRJ
ON (SCR_EVT."PGRD_PROJECT_CODE" = SCR_PRJ."PGRD_PROJECT_CODE")
LEFT OUTER JOIN rifods.ods_research_sites SCR_SITE ON (SCR_EVT."RSCH_SITE_CODE" = SCR_SITE."RSCH_SITE_CODE")
LEFT OUTER JOIN rifdwh.dw_screen_protocols SCR_SCREEN_INFO ON (SCR_EVT."SCREEN_PROTOCOL_ID" = SCR_SCREEN_INFO."SCR_PRTCL_ID"))
ON (((MEDS_OWNER.COMPOUND."COMPOUND_NUMBER" = SCR_EVT."COMPOUND_NUMBER")
AND (SCR_EVT."CMPD_BATCH_EVENT_CODE"
IN ('EXPSTART', 'EXPEND', 'EXPPUB')))
AND ((SCR_EVT."CBTCH_EVENT_SRC_DEL_IND" = 'N')
AND ((SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPSTART')
OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPEND')
OR (SCR_EVT."CMPD_BATCH_EVENT_CODE" = 'EXPPUB'))))
LEFT OUTER JOIN rifdm1.cpm_compound_batch SCR_BATCH_INFO ON (SCR_EVT."BATCH_TRACKING_ID" = SCR_BATCH_INFO."BATCH_TRACKING_NO")
WHERE MEDS_OWNER.COMPOUND."COMPOUND_SEQ_ID" IN (21475535)
option makedep SCR_EVT, SCR_BATCH_INFO
does not create a dependent join on the SCR_EVT table. If you change the join to SCR_EVT to inner, it does.
Plans and debug plans for both cases are attached. As a note, an older version of Teiid that we are also using (9.3.4) always creates the dependent join. 11.0.1 and 10.2.3 do not create the dependent join if the table is outer joined.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months
[JBoss JIRA] (TEIID-4498) Generalize subquery batch processing
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-4498?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4498:
---------------------------------------
The first issue with select subquery handling is that when subquery unnest defaults to true, we can plan a join plan. If it's false there isn't the later handling of the subquery - which is in RuleMergeCriteria for where subqueries.
> Generalize subquery batch processing
> ------------------------------------
>
> Key: TEIID-4498
> URL: https://issues.jboss.org/browse/TEIID-4498
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 12.0
>
>
> For subqueries that cannot be unnested, but can be modified to project their correlation, we should have at least batch processing rather than the row by row default.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 6 months