You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2012/07/20 15:12:35 UTC

[jira] [Updated] (DERBY-5869) getProcedureColumns doesn't handle escaping in patterns correctly

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

Rick Hillegas updated DERBY-5869:
---------------------------------

    Bug behavior facts:   (was: Crash)

Hi Steffen,

How did you get DatabaseMetaData.getSearchStringEscape() to return "\" ? For both the embedded and client drivers, that method returns the empty "" string for me. Its value is hardcoded to be "" by org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getSearchStringEscape(). Thanks.
                
> getProcedureColumns doesn't handle escaping in patterns correctly
> -----------------------------------------------------------------
>
>                 Key: DERBY-5869
>                 URL: https://issues.apache.org/jira/browse/DERBY-5869
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.9.1.0
>            Reporter: Steffen Lutter
>
> When querying the procedure columns, according to the JDBC standard pattern characters are escaped, like _ and % if necessary. The escape character is here taken from the function getSearchStringEscape(), which returns "\". The problem is, that derby doesn’t seem to accept the escaping in case of _ (underscore), and uses the escape characters within the match which leads to the situation that the stored proc is not found (Exception thrown)
> Example: 
> We have a stored procedure MY_PROC.
> getConnection ().getMetaData ().getProcedureColumns (null, null, ”MY\\_PROC” ,"%") => Stored proc is not found
> getConnection ().getMetaData ().getProcedureColumns (null, null, ”MY_PROC” ,"%") => Stored proc is found
> The first case is the problem, as the _ needs escaping. For the second case it works, even though theoretically also procedures called MY-PROC, MY+PROC, MYXPROC would match.
> http://docs.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira