Subject Re: [IBO] Firebird.conf parameter OldParameterOrdering
Author Geoff Worboys
> I want to confirm: If I've always used ParamByName (rather
> than parameters by position), I can ignore this issue, right?

No you cannot ignore this issue - or at least not completely.

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