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:
parent
d9b5cca4a0
commit
b5511b9ad2
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user