Subject Re: [firebird-support] FB engine not finding F_LEFT
Author Mark Rotteveel
On 28 Aug 2014 01:10:40 -0700, "russell@... [firebird-support]"
<firebird-support@yahoogroups.com> wrote:
> Perhaps my problem is in an incorrect installation setting?
>
> I have FB 2.5.3 on a laptop. Win 7 32 bit.
> I introduced a stored procedure and in it call F_LEFT(:varName, 24) to
> truncate :varName from a vc(48).
> This DB is used in Win 7 and win 8.1 else where without problem.
>
> When I run the procedure on this one box I get
>
> ISC error 335544343
> invalidrequest BLR @offset2452
> function F_LEFT is not defined
> module name or entry point could not be found
> Error while parsing procedure myProc's BLR
>
> I reinstalled Firebird.
> I did a backup and restore of the DB.
> No improvement.
>
> Any advice for me, beside "work smarter"?

Firebird itself doesn't have a function or UDF named F_LEFT, it does have
the builtin function LEFT (see
http://www.firebirdsql.org/file/documentation/reference_manuals/reference_material/html/langrefupd25-intfunc-left.html
).

Most likely those other databases or servers have a UDF installed (and
declared in the database) to provide F_LEFT. As far as I know F_LEFT is
provided by FreeAdhocUDF: http://freeadhocudf.org/index_eng.html You need
to install it in your database server **and** define the function entry
point in the database.

However given the fact that similar functionality is provided by Firebird
(since 2.1), I'd suggest to migrate to the built-in LEFT.

Mark