db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-6185) Query against view with "where name LIKE 'Col1' ESCAPE '\' " failed
Date Mon, 22 Apr 2013 18:45:17 GMT

     [ https://issues.apache.org/jira/browse/DERBY-6185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mamta A. Satoor updated DERBY-6185:
-----------------------------------

    Attachment: ViewsTest.java

Knut, thanks for your suggestion to add data to the test. I see that we return the expected
results for table, view and union when using Statement object but for PreparedStatement, we
do not find any matching rows for the LIKE clause on the CLOB column. I tried PreparedStatement
on CLOB column with LIKE clause in a different trunk client (which does not have any other
changes) and see that we do not result the expected row even in that client. I am attaching
the junit test that I tried in a clean trunk client if someone wants to give it a try. Since
the behavior of PreparedStatement on a table with CLOB is unrelated to this jira which is
about views/unions not working correctly even with Statement object, can we take the PreparedStatement
case as a separate jira? Thanks
                
> Query against view  with "where name LIKE 'Col1' ESCAPE '\' " failed
> --------------------------------------------------------------------
>
>                 Key: DERBY-6185
>                 URL: https://issues.apache.org/jira/browse/DERBY-6185
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.3.3, 10.5.3.2, 10.8.2.2, 10.8.3.0
>         Environment: windows 7
>            Reporter: Rong Qu
>            Assignee: Mamta A. Satoor
>         Attachments: DERBY_6185_diff_patch2.txt, DERBY_6185_diff_patch3.txt, set-for-rewrite.diff,
ViewsTest.java
>
>
> The error can be reproduced,
> 1) create table mytbl1 (name clob(10K));
> 2) create table mytbl2 (name clob(10K));
> 3) create view myview (name) as select t1.name from mytbl1 t1 union all select t2.name
from mytbl2 t2;
> 4) select name from myview where name LIKE 'Col1' ESCAPE '\';
> "4)" failed with error message "
> ERROR 42818: Comparisons between 'CLOB (UCS_BASIC)' and 'CHAR (UCS_BASIC)' are not supported.
Types must be comparable. String types must also have matching collation. If collation does
not match, a possible solution is to cast operands to force them to the default collation
(e.g. SELECT tablename FROM sys.systables WHERE CAST(tablename AS VARCHAR(128)) = 'T1')
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.BinaryComparisonOperatorNode.bindComparisonOperator(Unknown
Source)
> 	at org.apache.derby.impl.sql.compile.PredicateList.pushExpressionsIntoSelect(Unknown
Source)
> 	at org.apache.derby.impl.sql.compile.UnionNode.pushExpressions(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.UnionNode.pushExpressions(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.ProjectRestrictNode.pushExpressions(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.FromList.pushPredicates(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SelectNode.preprocess(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.DMLStatementNode.optimizeStatement(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.CursorNode.optimizeStatement(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown
Source)
> 	... 19 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message