On 04-12-2011 13:17, Jesus Garcia wrote: >> >> The engine does what is possible and tries to catch the 'alien exception'. >> >> You must do your part and write a correct UDF, testing them before in >> non-production environment. >> >> Adriano > > I know it, and is not me, is firebird. I try To test everything, but nothing > is perfect. One simple example is one udf i have To calc the power. If two > arguments Are negative, the function raises an exception and firebird crash. > When i have explained that To my customer he could not belive how that error > could cause firebird crash one time and another, and so, until we found the > problem, because with a lot of users is complicated find that. > > If you think that one simple thing like this must take down one database > engine, i do not agree, but like i said before, what i try is that firebird > becomes better, and is not me, is firebird. > > Sorry If i can't make me understand. >
And what? Nobody created a standard exception mechanism for C++, or for C++ and others languages. So UDFs should not raise exceptions. Period. The bug is in it, not in Firebird. If your UDF instead write some bytes in random memory places, it will be even worse. So write it, review it, test it and deploy it. Adriano ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel