db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Katherine Marsden <kmarsdende...@sbcglobal.net>
Subject Re: derby getProcedureColumns
Date Wed, 18 Jul 2012 01:28:27 GMT
On 7/17/2012 8:54 AM, LUTTER, Steffen wrote:
>
> Hello,
>
> I have an issue with stored procedures in derby and like to ask for 
> your confirmation. When querying the procedure columns, according to 
> the JDBC standard we escape pattern characters, like _ and % if 
> necessary. The escape character is here taken from the function 
> getSearchStringEscape().
>
Derby returns an empty string for getSearchStringEscape() and the 
comments indicate we don't have a default escape value.  I am not sure 
why. I am also not understanding where = comes in the picture according 
to the comment below:

/**
      * This is the string that can be used to escape '_' or '%' in
      * the string pattern style catalog search parameters.
         we have no default escape value, so = is the end of the next line
      * <P>The '_' character represents any single character.
      * <P>The '%' character represents any sequence of zero or
      * more characters.
      * @return the string used to escape wildcard characters
      */
     public String getSearchStringEscape()  {
         return "";
     }

I think it would be worthwhile to file a Jira for Derby to allow escape 
of the wildcard characters in the pattern unless someone understands why 
we don't support it.

> 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.
>
> 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.
>
> Have I overseen something? Can you confirm?
>
> http://docs.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html
>
> Many thanks in advance,
>
> Steffen
>
> _________________________________________________________________
>
> *Steffen Lutter*| Developer | Semantic Layer | TIP BAT EIM | +33 1 41 
> 25 38 68
>



Mime
View raw message