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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel