Subject Re: [IBO] Problem switching from Firebird 1.5 to 2.1
Author Helen Borrie
At 16:50 21/08/2008, you wrote:
>Hello,
>
>Had a problem switching from Firebird 1.5 to 2.1.
>
>I had the following query in a TIB_Query which has worked
>fine for years.
>
>
>select SOURCE, PART, WAREHOUSE, CONDITION, NOTESFLAG, PHOTOFLAG
>from spviewpartsWithUnknown(:Part, 'R', :Alt, 'F') a
>left join PARTPRICE on partprice.pp_part = spViewPartsWithUnknown.part
>
>
>When I installed the new version of Firebird it started throwing
>an exception :
>
>
>"Column unknown SPVIEWPARTSWITHUNKNOW.PART At line 7, column 67"
>
>
>This only happened in Ibobjects, not in IB Manager. So I upgraded
>the IBObjects to the newest version and it continued to happen.
>So I took a closer look at the query and found that when I removed
>the "SPVIEWPARTSWITHUNKNOW." (as below) from the left join the
>problem was solved.
>
>
>select SOURCE, PART, WAREHOUSE, CONDITION, NOTESFLAG, PHOTOFLAG
>from spviewpartsWithUnknown(:Part, 'R', :Alt, 'F') a
>left join PARTPRICE on partprice.pp_part = part
>
>
>This leads me to believe that something changed in the interaction between
>IBObjects and Firebird during the move between versions 1.5 and 2.1.
>
>Comments please
>
>Thanks
>Michael Horne

You will need to rewrite this and any other similarly misconstructed multi-object queries with Fb 2 and versions forward. It "worked" in Fb 1.5 because the engine threw a warning (ignored by IBO) instead of an exception for the mix of table names and aliases in multi-object queries. The following version of the original query should work under Fb 2.x, as long as you are using IBO 4.8.7, which knows about the new SQLDA structure:

select
a.SOURCE, a.PART, a.WAREHOUSE,
a.CONDITION, a.NOTESFLAG, a.PHOTOFLAG
from spviewpartsWithUnknown(:Part, 'R', :Alt, 'F') a
left join PARTPRICE b on
b.pp_part = a.part

You're strongly advised to swot up the release notes of a full new version of the database before upgrading.

Helen