fbudf functions make invalid blr -------------------------------- Key: CORE-5504 URL: http://tracker.firebirdsql.org/browse/CORE-5504 Project: Firebird Core Issue Type: Bug Components: UDF Affects Versions: 2.5.7 Environment: Bug discover after update to 2.5.7. All work fine until 2.5.5 : the entry point module name has become case sensitive in FB2.5.7 ??? Reporter: christophe derenne
With a fresh firebird-superserver 2.5.7 installation create a new database for example /var/lib/firebird/data/test.fdb with sqldialect 3, charset UTF-8 crate a very simple table : create table tbtest (idtest integer not null); Make some row (for exemple 10 rows from idtest=1 to idtest=10) insert into tbtest (idtest) values (1); insert into tbtest (idtest) values (2); insert into tbtest (idtest) values (3); insert into tbtest (idtest) values (4); insert into tbtest (idtest) values (5); insert into tbtest (idtest) values (6); insert into tbtest (idtest) values (7); insert into tbtest (idtest) values (8); insert into tbtest (idtest) values (9); insert into tbtest (idtest) values (10); register a fbudf function : fo exemple : declare external function ADDDAY timestamp, int returns timestamp entry_point 'addday' module_name 'fbudf'; declare external function ADDDAY2 timestamp, int returns timestamp entry_point 'addDay' module_name 'fbudf'; Use thoses functions select 100*a.idtest+10*b.idtest+c.idtest, addDay(cast('2001-01-01' as timestamp),100*a.idtest+10*b.idtest+c.idtest) from tbtest a join tbtest b on 1=1 join tbtest c on 1=1; result : invalid request BLR at offset 91 function ADDDAY is not defined module name or entrypoint could not be found select 100*a.idtest+10*b.idtest+c.idtest, addDay2(cast('2001-01-01' as timestamp),100*a.idtest+10*b.idtest+c.idtest) from tbtest a join tbtest b on 1=1 join tbtest c on 1=1; Result ok : But both functions is working from FB1.5 to FB2.5 It seems that the entry point module name has become case sensitive in FB2.5.7 For old database with stored procedure or view depends on udf function, we cannot drop/create to correct the entry point 's caractere case. Except create empty database with correct metadata and then insert data. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel