mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 22:03:03 +01:00
Make packaged functions work
This commit is contained in:
parent
798343385d
commit
ab25c33244
@ -225,7 +225,7 @@ namespace
|
|||||||
WITH FUN.RDB$PACKAGE_NAME EQ metaName.c_str()
|
WITH FUN.RDB$PACKAGE_NAME EQ metaName.c_str()
|
||||||
{
|
{
|
||||||
Signature function(FUN.RDB$FUNCTION_NAME);
|
Signature function(FUN.RDB$FUNCTION_NAME);
|
||||||
function.defined = !FUN.RDB$ENTRYPOINT.NULL;
|
function.defined = !FUN.RDB$ENTRYPOINT.NULL || !FUN.RDB$FUNCTION_BLR.NULL;
|
||||||
|
|
||||||
if (details)
|
if (details)
|
||||||
{
|
{
|
||||||
@ -1034,6 +1034,7 @@ void DropPackageBodyNode::execute(thread_db* tdbb, jrd_tra* transaction)
|
|||||||
FUN.RDB$MODULE_NAME.NULL = TRUE;
|
FUN.RDB$MODULE_NAME.NULL = TRUE;
|
||||||
FUN.RDB$ENGINE_NAME.NULL = TRUE;
|
FUN.RDB$ENGINE_NAME.NULL = TRUE;
|
||||||
FUN.RDB$ENTRYPOINT.NULL = TRUE;
|
FUN.RDB$ENTRYPOINT.NULL = TRUE;
|
||||||
|
FUN.RDB$FUNCTION_BLR.NULL = TRUE;
|
||||||
END_MODIFY
|
END_MODIFY
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3855,7 +3855,7 @@ static processing_state show_proc(const SCHAR* procname)
|
|||||||
if (i == 0)
|
if (i == 0)
|
||||||
isqlGlob.printf("Global procedures:%s", NEWLINE);
|
isqlGlob.printf("Global procedures:%s", NEWLINE);
|
||||||
else
|
else
|
||||||
isqlGlob.printf("Packaged procedures:%s", NEWLINE);
|
isqlGlob.printf("%sPackaged procedures:%s", NEWLINE, NEWLINE);
|
||||||
|
|
||||||
isqlGlob.printf(
|
isqlGlob.printf(
|
||||||
"Procedure Name Invalid Dependency, Type%s", NEWLINE);
|
"Procedure Name Invalid Dependency, Type%s", NEWLINE);
|
||||||
|
@ -478,11 +478,13 @@ Function* Function::loadMetadata(thread_db* tdbb, USHORT id, bool noscan, USHORT
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fb_assert(function->fun_legacy);
|
|
||||||
|
|
||||||
function->fun_external = NULL;
|
function->fun_external = NULL;
|
||||||
function->setRequest(NULL);
|
function->setRequest(NULL);
|
||||||
|
|
||||||
|
if (!X.RDB$MODULE_NAME.NULL && !X.RDB$ENTRYPOINT.NULL)
|
||||||
|
{
|
||||||
|
fb_assert(function->fun_legacy);
|
||||||
|
|
||||||
function->fun_entrypoint =
|
function->fun_entrypoint =
|
||||||
Module::lookup(X.RDB$MODULE_NAME, X.RDB$ENTRYPOINT, dbb->dbb_modules);
|
Module::lookup(X.RDB$MODULE_NAME, X.RDB$ENTRYPOINT, dbb->dbb_modules);
|
||||||
|
|
||||||
@ -494,6 +496,9 @@ Function* Function::loadMetadata(thread_db* tdbb, USHORT id, bool noscan, USHORT
|
|||||||
BUILTIN_entrypoint(X.RDB$MODULE_NAME, X.RDB$ENTRYPOINT);
|
BUILTIN_entrypoint(X.RDB$MODULE_NAME, X.RDB$ENTRYPOINT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
function->fun_entrypoint = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (X.RDB$VALID_BLR.NULL || X.RDB$VALID_BLR == FALSE)
|
if (X.RDB$VALID_BLR.NULL || X.RDB$VALID_BLR == FALSE)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user