[JBoss JIRA] (TEIID-4845) Google translator comparison with boolean value matches all rows
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4845?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4845.
-----------------------------------
Resolution: Done
Changed the visitor to use the direct literal instead of the string literal value.
> Google translator comparison with boolean value matches all rows
> ----------------------------------------------------------------
>
> Key: TEIID-4845
> URL: https://issues.jboss.org/browse/TEIID-4845
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
> Fix For: 9.3, 9.2.2
>
>
> Both following queries match and remove all rows (ie. with both true/false/null values):
> DELETE WHERE BooleanValue
> DELETE WHERE NOT BooleanValue
> Where column in foreign table is:
> booleanvalue boolean OPTIONS (NATIVE_TYPE 'BOOLEAN')
> and view:
> BooleanValue boolean
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4833) Oracle JDBC Connector: Support for LISTAGG
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4833?page=com.atlassian.jira.plugin... ]
Steven Hawkins edited comment on TEIID-4833 at 4/3/17 4:25 PM:
---------------------------------------------------------------
LISTAGG since it returns an oracle varchar2 is not quite a replacement for stringagg, which returns a clob. Listagg has explicit overflow handling in the event that 4000 bytes are exceeded.
As a quick solution I'll expose a listagg aggregate from the oracle translator. It will use a more standard syntax though:
listagg (val, delim order by ...)
And the translator will handle adding the within group syntax.
was (Author: shawkins):
LISTAGG since it returns an oracle varchar2 is not quite a replacement for stringagg, which returns a clob. Listagg has explicit overflow handling in the event that 4000 bytes are exceeded.
As a quick solution I'll expose a listagg aggregate from the oracle translator. It will use a more standard syntax though:
listagg (val, delim) order by ...
And the translator will handle adding the within group syntax.
> Oracle JDBC Connector: Support for LISTAGG
> ------------------------------------------
>
> Key: TEIID-4833
> URL: https://issues.jboss.org/browse/TEIID-4833
> Project: Teiid
> Issue Type: Feature Request
> Components: JDBC Connector
> Reporter: John Rodrigues
> Assignee: Steven Hawkins
>
> Add support for the Oracle LISTAGG function to the Teiid Oracle connector.
> Refer to this discussion for context: [OracleConnector LISTAGG function|https://developer.jboss.org/message/970282]
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4833) Oracle JDBC Connector: Support for LISTAGG
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4833?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4833:
---------------------------------------
LISTAGG since it returns an oracle varchar2 is not quite a replacement for stringagg, which returns a clob. Listagg has explicit overflow handling in the event that 4000 bytes are exceeded.
As a quick solution I'll expose a listagg aggregate from the oracle translator. It will use a more standard syntax though:
listagg (val, delim) order by ...
And the translator will handle adding the within group syntax.
> Oracle JDBC Connector: Support for LISTAGG
> ------------------------------------------
>
> Key: TEIID-4833
> URL: https://issues.jboss.org/browse/TEIID-4833
> Project: Teiid
> Issue Type: Feature Request
> Components: JDBC Connector
> Reporter: John Rodrigues
> Assignee: Steven Hawkins
>
> Add support for the Oracle LISTAGG function to the Teiid Oracle connector.
> Refer to this discussion for context: [OracleConnector LISTAGG function|https://developer.jboss.org/message/970282]
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4844) Google translator unexpected behavior for comparison with time
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4844?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4844.
-----------------------------------
Fix Version/s: 9.3
9.2.2
Resolution: Done
Resolved by throwing an exception if a time/timestamp literal is used in an update/delete. This is not an optimal solution, but it will prevent unintended results.
> Google translator unexpected behavior for comparison with time
> --------------------------------------------------------------
>
> Key: TEIID-4844
> URL: https://issues.jboss.org/browse/TEIID-4844
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
> Fix For: 9.3, 9.2.2
>
>
> Comparison operators <, <=, >, >=, =, <> work unexpectedly for 'time' datatype, foreign table has column 'timevalue time OPTIONS (NATIVE_TYPE 'TIMEOFDAY')'.
> I created view with column 'TimeValue time', inserted data in format '10:57:23'.
> I run queries like 'DELETE FROM smalla WHERE TimeValue < {t '10:57:23'}'
> * <, <>, <= deletes all rows, including rows that should be left
> * >, >=, = deletes no rows
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4844) Google translator unexpected behavior for comparison with time
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4844?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4844:
---------------------------------------
Since we already throw an exception with non-supported constructs with update/delete (such as like), then we'll do that for predicates involving time and timestamp as well. A workaround would be to mark the columns as unsearchable - but then that would affect the select case as well.
In version 4 of the api, there isn't even an option to support the sq parameter, so this will all need rethought with a later revision - we'll likely need to introduce a concept of searchable only for select or find a different way of processing update/delete.
> Google translator unexpected behavior for comparison with time
> --------------------------------------------------------------
>
> Key: TEIID-4844
> URL: https://issues.jboss.org/browse/TEIID-4844
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
>
> Comparison operators <, <=, >, >=, =, <> work unexpectedly for 'time' datatype, foreign table has column 'timevalue time OPTIONS (NATIVE_TYPE 'TIMEOFDAY')'.
> I created view with column 'TimeValue time', inserted data in format '10:57:23'.
> I run queries like 'DELETE FROM smalla WHERE TimeValue < {t '10:57:23'}'
> * <, <>, <= deletes all rows, including rows that should be left
> * >, >=, = deletes no rows
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4844) Google translator unexpected behavior for comparison with time
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4844?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4844:
---------------------------------------
This affects both TIME and TIMESTAMP columns. BOOLEAN requires a simple fix.
> Google translator unexpected behavior for comparison with time
> --------------------------------------------------------------
>
> Key: TEIID-4844
> URL: https://issues.jboss.org/browse/TEIID-4844
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.12.10.6_3
> Reporter: Lucie Fabrikova
> Assignee: Steven Hawkins
>
> Comparison operators <, <=, >, >=, =, <> work unexpectedly for 'time' datatype, foreign table has column 'timevalue time OPTIONS (NATIVE_TYPE 'TIMEOFDAY')'.
> I created view with column 'TimeValue time', inserted data in format '10:57:23'.
> I run queries like 'DELETE FROM smalla WHERE TimeValue < {t '10:57:23'}'
> * <, <>, <= deletes all rows, including rows that should be left
> * >, >=, = deletes no rows
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months
[JBoss JIRA] (TEIID-4845) Google translator comparison with boolean value matches all rows
by Lucie Fabrikova (JIRA)
Lucie Fabrikova created TEIID-4845:
--------------------------------------
Summary: Google translator comparison with boolean value matches all rows
Key: TEIID-4845
URL: https://issues.jboss.org/browse/TEIID-4845
Project: Teiid
Issue Type: Bug
Affects Versions: 8.12.10.6_3
Reporter: Lucie Fabrikova
Assignee: Steven Hawkins
Both following queries match and remove all rows (ie. with both true/false/null values):
DELETE WHERE BooleanValue
DELETE WHERE NOT BooleanValue
Where column in foreign table is:
booleanvalue boolean OPTIONS (NATIVE_TYPE 'BOOLEAN')
and view:
BooleanValue boolean
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 8 months