8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 23:23:02 +01:00

This should fix the regression for functions inside package header declarations.

This commit is contained in:
Dmitry Yemanov 2023-10-08 16:23:51 +03:00
parent d9b5cca4a0
commit b5511b9ad2

View File

@ -1726,19 +1726,19 @@ void CreateAlterFunctionNode::execute(thread_db* tdbb, DsqlCompilerScratch* dsql
AutoSavePoint savePoint(tdbb, transaction);
bool altered = false;
const bool alterIndividualParameters = !(body || external);
const bool alterIndividualParameters = (alter && !returnType && !(body || external));
// first pass
if (alter)
if (alterIndividualParameters)
{
if (alterIndividualParameters)
{
if (executeAlterIndividualParameters(tdbb, dsqlScratch, transaction, false, true))
altered = true;
else
status_exception::raise(Arg::Gds(isc_dyn_func_not_found) << Arg::Str(name));
}
else if (executeAlter(tdbb, dsqlScratch, transaction, false, true))
if (executeAlterIndividualParameters(tdbb, dsqlScratch, transaction, false, true))
altered = true;
else
status_exception::raise(Arg::Gds(isc_dyn_func_not_found) << Arg::Str(name));
}
else if (alter)
{
if (executeAlter(tdbb, dsqlScratch, transaction, false, true))
{
altered = true;
}
@ -1761,7 +1761,6 @@ void CreateAlterFunctionNode::execute(thread_db* tdbb, DsqlCompilerScratch* dsql
else
executeAlter(tdbb, dsqlScratch, transaction, true, false);
if (package.isEmpty())
{
executeDdlTrigger(tdbb, dsqlScratch, transaction, DTW_AFTER,