Re: EOFetchSpecification text to number conversion
Re: EOFetchSpecification text to number conversion
- Subject: Re: EOFetchSpecification text to number conversion
- From: Chuck Hill <email@hidden>
- Date: Mon, 7 Jul 2008 09:55:13 -0700
On Jul 7, 2008, at 7:19 AM, Frédéric JECKER wrote:
Hi,
I recently changed a table primary key column from NUMBER(6) to
NUMBER(12) for a legacy app.
After this change I had a lot of bugs and discovered that search
queries where returning zero rows.
In this legacy app, a lot of fetch specifications are written like
this :
String pid="806000022"; //for the example, in real life this value
is read from a text file.
new EOFetchSpecification("Patient",
EOQualifier.qualifierWithQualifierFormat("nip = " + pid, null), null);
With debugging on, this gives the following query which returns 0
rows :
<SELECT (...) FROM Pat_Patient t0 WHERE t0.nip = ?" withBindings:
1:8.06E8(nip)>
Now, when using an Integer instead a String :
String pid=":806000022";
new EOFetchSpecification("Patient",
EOQualifier.qualifierWithQualifierFormat("nip = " +
Integer.valueOf(pid), null), null);
Gives the following query which returns the awaited rows.
<SELECT (...) FROM Pat_Patient t0 WHERE t0.nip = ?" withBindings:
1:806000022(nip)>
Any idea which could avoid me rewriting the 200+ fetch
specifications of this app ?
I can't think of any. This is yet another reason to never use
qualifierWithQualifierFormat. If you had used EOKeyValueQualifier,
you would not have this problem. Just say "no" to magic strings.
Chuck
--
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden