|
From: Paul R. <pr...@ib...> - 2009-11-12 15:57:39
|
Is there any reason why isc_interprete has to be marked deprecated? I've been looking at the code and afaict it is now just a wrapper that calls safe_interpret, just like fb_interpret does. Deprecation would make sense if the call really was unsafe. But that does not seem to be the case. And for applications that need to provide legacy support they _must_ call isc_interprete. I don't think this has been made clear in the docs because this week I came across a (not well) written application binds to one or the other at compile time, based on the value of FB_API_VER. So if it is compiled with an ibase.h that declares fb_interpret the application will fail if it uses an fbclient.dll from v1.*. In fact it has no need to do anything other than just call isc_interprete. In another case, earlier this week while looking at PHP issues, I came across a neat web site that dynamically displays error and warning summaries from the PHP build logs. I was looking at the PDO_FIREBIRD driver. This driver attempts to support firebird and interbase and it is not as well maintained as we might like. But one of the problems I saw is that it is calling isc_interprete which throws loads of deprecated warnings and these get flagged as problems with the build. Most other drivers compile much more cleanly, and these warnings make the Firebird driver look really bad. These two cases together have got me thinking that marking isc_interprete deprecated is not such a good idea. Paul -- Paul Reeves http://www.ibphoenix.com Specialists in Firebird support |