oracle-ng won't properly encode filters that compare strings against a char(n) 
column
-------------------------------------------------------------------------------------

                 Key: GEOT-2293
                 URL: http://jira.codehaus.org/browse/GEOT-2293
             Project: GeoTools
          Issue Type: Bug
          Components: data jdbc-ng
    Affects Versions: 2.5.2
            Reporter: Andrea Aime
            Assignee: Andrea Aime
             Fix For: 2.5.3


>From the "Oracle does it differently" department, here is a nasty issue.
Say you have a filter that compares an attribute with a string, e.g. BAZ = 'hey'
Now way that BAZ is a CHAR(10) in the database, and there is a 'hey" string in 
the db. Well, the current result is that the record won't be found.
There are two ways to fix the issue:
- right pad the string so that it's 10 chars in leght
- use the custom method setFixedChar(col, value) that only the oracle prepared 
statement has (so, unwrap the prepared statement, cast, and use the method, oh 
joy).

Both methods require that the code knows it's dealing with a CHAR, and its 
lenght. We could add both informations into the attribute descriptor, but then 
we'd have to
modify FilterToSql so that the full descriptor, and not only the binding, 
percolates down to visit(Literal, context).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to