Subject | Re: [IBO] Firebird.conf parameter OldParameterOrdering |
---|---|
Author | Geoff Worboys |
Post date | 2003-09-04T23:18:04Z |
> I want to confirm: If I've always used ParamByName (ratherNo you cannot ignore this issue - or at least not completely.
> than parameters by position), I can ignore this issue, right?
The database engine does not know anything about parameter
names at all - these are a purely client artifact. When IBO
sees SQL like:
SELECT ... FROM ...
WHERE ... = :MY_PARAM
What it actually sends to the server is something like:
SELECT ... FROM ...
WHERE ... = ? /* MY_PARAM */
IBO keeps track of the parameter names that it discovered by
parsing the SQL and attempts to translate ParamByName into an
appropriate index into the sqlda returned from the server.
In short; IBO translates ParamByName into a parameter index,
so you are still potentially impacted by the server ordering
of parameters.
Server parameter ordering mostly impacts fairly complex SQL
statements - such as statements with parameters in a field
subselect, and these are usually fairly rare. I have a more
complete list of the ordering differences if you want to see
more (but there are some things you are better off not
knowing ;-)
The moral of the story is that you must be aware of this issue
when moving for FB 1.5 - at least until some sort of fix is
applied to IBO.
--
Geoff Worboys
Telesis Computing