[JBoss JIRA] (TEIID-4221) HANA translator: incorrect pushdown of week function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4221?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-4221.
---------------------------------
> HANA translator: incorrect pushdown of week function
> ----------------------------------------------------
>
> Key: TEIID-4221
> URL: https://issues.jboss.org/browse/TEIID-4221
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> Hana translator pushes down function week to SAP HANA datasource as its WEEK function. But it is not in accordance with the ISO8601 rule.
> For this standard, HANA has function ISOWEEK, which returns results in following format:
> {code:plain}
> 2000-W01 for date 'Jan 3, 2000'
> {code}
> So it should be possible to push Teiid's WEEK function as:
> {code:sql}
> SUBSTR_REGEXPR('[[:digit:]]{4}\-W([[:digit:]]{2})' IN ISOWEEK(datevalue) GROUP 1)
> {code}
> where 'datevalue' is column of DATE datatype.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 9 months
[JBoss JIRA] (TEIID-3574) Teiid ODBC driver inconsistent error logs
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3574?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3574:
------------------------------------------------
Jan Stastny <jstastny(a)redhat.com> changed the Status of [bug 1243466|https://bugzilla.redhat.com/show_bug.cgi?id=1243466] from ON_QA to VERIFIED
> Teiid ODBC driver inconsistent error logs
> -----------------------------------------
>
> Key: TEIID-3574
> URL: https://issues.jboss.org/browse/TEIID-3574
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.7.1.6_2
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Labels: odbc
> Fix For: 8.12
>
>
> When comparing behaviour of ODBC driver with behaviour of JDBC driver there are a few inconsistencies.
> For particular malformed query there is:
> # no error log entry for ODBC driver, while for JDBC there is a comprehensive explanation in the server logs.
> #* Example query:
> {code:sql}
> SELECT title, COUNT() FROM employeefixed
> {code}
> #* JDBC log entry:
> {code:plain}WARN [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue382) TEIID30020 Processing exception for request pIU27iFFv21F.7 'TEIID31100 Parsing error: Encountered ", COUNT([*])[*] FROM employeefixed" at line 1, column 21.
> Was expecting: "char" | "cast" | "convert" | "all" | "any" | "array_agg" | "case" | "distinct" | "exists" | "false" ...'. Originally QueryParserException QueryParser.java:214. Enable more detailed logging to see the entire stacktrace.
> {code}
> #* ODBC log entry:
> none present
> # error log but also exception stack trace
> #* Example query:
> {code:sql}
> SELECT title, city, COUNT(title) FROM employeefixed GROUP BY title
> {code}
> #* JDBC log entry:
> {code:plain}
> WARN [org.teiid.PROCESSOR] (Worker14_QueryProcessorQueue384) TEIID30020 Processing exception for request pIU27iFFv21F.8 'TEIID30492 [EmployeeFixedData.EmployeeFixed.city] cannot be used outside of aggregate functions since they are not present in a GROUP BY clause.'. Originally QueryValidatorException Request.java:305. Enable more detailed logging to see the entire stacktrace.
> {code}
> #* ODBC log entry:
> {code:plain}
> WARN [org.teiid.PROCESSOR] (Worker14_QueryProcessorQueue383) TEIID30020 Processing exception for request RPpTChkE/84O.40 'TEIID30492 [EmployeeFixedData.EmployeeFixed.city] cannot be used outside of aggregate functions since they are not present in a GROUP BY clause.'. Originally QueryValidatorException Request.java:305. Enable more detailed logging to see the entire stacktrace.
> ERROR [org.teiid.ODBC] (Worker14_QueryProcessorQueue383) TEIID40015 Unexpected error occurred: java.util.concurrent.ExecutionException: org.teiid.jdbc.TeiidSQLException: TEIID30492 [EmployeeFixedData.EmployeeFixed.city] cannot be used outside of aggregate functions since they are not present in a GROUP BY clause.
> at org.teiid.client.util.ResultsFuture.convertResult(ResultsFuture.java:104) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture.get(ResultsFuture.java:99) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.odbc.ODBCServerRemoteImpl$5.onCompletion(ODBCServerRemoteImpl.java:586) [teiid-runtime-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture$1.exceptionOccurred(ResultsFuture.java:68) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:518) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1001) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:556) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:352) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:254) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
> Caused by: org.teiid.jdbc.TeiidSQLException: TEIID30492 [EmployeeFixedData.EmployeeFixed.city] cannot be used outside of aggregate functions since they are not present in a GROUP BY clause.
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:667) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:63) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:515) [teiid-client-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> ... 14 more
> Caused by: org.teiid.api.exception.query.QueryValidatorException: TEIID30492 [EmployeeFixedData.EmployeeFixed.city] cannot be used outside of aggregate functions since they are not present in a GROUP BY clause.
> at org.teiid.dqp.internal.process.Request.validateWithVisitor(Request.java:305) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.Request.validateQuery(Request.java:268) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:385) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.PreparedStatementRequest.generatePlan(PreparedStatementRequest.java:115) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:435) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.PreparedStatementRequest.processRequest(PreparedStatementRequest.java:290) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:613) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:315) [teiid-engine-8.7.1.6_2-redhat-3.jar:8.7.1.6_2-redhat-3]
> ... 8 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 9 months
[JBoss JIRA] (TEIID-4225) HANA translator : DAYNAME function is not pushed
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-4225?page=com.atlassian.jira.plugin... ]
Jan Stastny reopened TEIID-4225:
--------------------------------
This is not fixed, the function modifier is in place, but I suspect the dayname function has to be added into supported functions in the execution factory.
> HANA translator : DAYNAME function is not pushed
> ------------------------------------------------
>
> Key: TEIID-4225
> URL: https://issues.jboss.org/browse/TEIID-4225
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> Teiid's DAYNAME function is not being pushed to HANA even though it could be as HANA's DAYNAME function. The only difference could be that HANA returns names in capital letters.
> Query:
> {code:sql}
> SELECT DAYNAME(datevalue) FROM bqt1.smalla
> {code}
> Source specific query:
> {code:sql}
> SELECT g_0."DATEVALUE" FROM "BQT1"."SMALLA" AS g_0
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 9 months
[JBoss JIRA] (TEIID-4265) Performance issue
by Juraj Duráni (JIRA)
[ https://issues.jboss.org/browse/TEIID-4265?page=com.atlassian.jira.plugin... ]
Juraj Duráni updated TEIID-4265:
--------------------------------
Attachment: plans_metadata.zip
ZIP archive contains metadata for 6.2.0.GA and for 6.3.0.ER3 and query plans for GA, ER3, ER4 and ER4.1.
I have used first query from "02" set. All queries from "02" set are similar.
{code:sql}
select
s_acctbal,
s_name,
n_name,
p_partkey,
p_mfgr,
s_address,
s_phone,
s_comment
from
tpch2.tpch.part,
tpch1.tpch.supplier,
tpch2.tpch.partsupp,
tpch1.tpch.nation,
tpch1.tpch.region
where
p_partkey = ps_partkey
and s_supplierkey = ps_supplierkey
and p_size = 23
and p_type like '%COPPER'
and s_nationkey = n_nationkey
and n_regionkey = r_regionkey
and r_name = 'AMERICA'
and ps_supplycost = (
select
min(ps_supplycost)
from
tpch2.tpch.partsupp,
tpch1.tpch.supplier,
tpch1.tpch.nation,
tpch1.tpch.region
where
p_partkey = ps_partkey
and s_supplierkey = ps_supplierkey
and s_nationkey = n_nationkey
and n_regionkey = r_regionkey
and r_name = 'AMERICA'
)
order by
s_acctbal desc,
n_name,
s_name,
p_partkey;
{code}
> Performance issue
> -----------------
>
> Key: TEIID-4265
> URL: https://issues.jboss.org/browse/TEIID-4265
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Attachments: dv-tpch-2.zip, plans_metadata.zip
>
>
> I can see reduce of performance for some kind of queries (see attachment).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 9 months
[JBoss JIRA] (TEIID-4224) HANA translator : incorrect pushdown of DAYOFWEEK function
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-4224?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-4224:
------------------------------------------------
Jan Stastny <jstastny(a)redhat.com> changed the Status of [bug 1339611|https://bugzilla.redhat.com/show_bug.cgi?id=1339611] from ON_QA to VERIFIED
> HANA translator : incorrect pushdown of DAYOFWEEK function
> ----------------------------------------------------------
>
> Key: TEIID-4224
> URL: https://issues.jboss.org/browse/TEIID-4224
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> Teiid's DAYOFWEEK function:
> {code:plain}
> DAYOFWEEK(x) Return day of week (Sunday=1, Saturday=7)
> {code}
> is pushed down as:
> {code:plain}
> dayname(g_0."DATEVALUE")
> {code}
> but this function returns string representation of the day.
> More appropriate would be to push DAYOFWEEK as WEEKDAY function, but the returned value has to be adapted to Teiid's representation (Sunday=1 and Saturday=7, vs. HANA's Monday=0,Sunday=6). So the solution would be to push:
> {code:sql}
> MOD((WEEKDAY(datevalue)+1),7)+1
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 9 months
[JBoss JIRA] (TEIID-4221) HANA translator: incorrect pushdown of week function
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-4221?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-4221:
------------------------------------------------
Jan Stastny <jstastny(a)redhat.com> changed the Status of [bug 1339568|https://bugzilla.redhat.com/show_bug.cgi?id=1339568] from ON_QA to VERIFIED
> HANA translator: incorrect pushdown of week function
> ----------------------------------------------------
>
> Key: TEIID-4221
> URL: https://issues.jboss.org/browse/TEIID-4221
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> Hana translator pushes down function week to SAP HANA datasource as its WEEK function. But it is not in accordance with the ISO8601 rule.
> For this standard, HANA has function ISOWEEK, which returns results in following format:
> {code:plain}
> 2000-W01 for date 'Jan 3, 2000'
> {code}
> So it should be possible to push Teiid's WEEK function as:
> {code:sql}
> SUBSTR_REGEXPR('[[:digit:]]{4}\-W([[:digit:]]{2})' IN ISOWEEK(datevalue) GROUP 1)
> {code}
> where 'datevalue' is column of DATE datatype.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 9 months