====== pears.BlobstoreRelocate ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
create function "pears"."BlobstoreRelocate"(
/* Application Maintained Function / Procedure - DO NOT EDIT*/
in "blobclass" char(1),in "blobid" char(20) )
returns integer
not deterministic
begin
declare "z" integer;
declare "xpath" char(250);
declare "xfolder" char(250);
declare "bAlreadyExists" integer;
select 1,"trim"("externalfilepath") into "bAlreadyExists","xpath" from "blobstore" where "class" = "blobclass" and "id" = "blobid";
if "bAlreadyExists" is null then
return-1 -- Row not found
end if;
set "xfolder" = "BlobStoreExtFolder"(null);
if "xfolder" is null and "isnull"("xpath",'') = '' then
return 0 -- Nothing to do
end if;
if "xfolder" is not null and "isnull"("xpath",'') <> '' then
return 0 -- Nothing to do
end if;
set "z" = "BlobstoreRead"("blobclass","blobid",null);
if "z" is null then
return-1 -- Row not found (redundant check)
else
return "BlobStoreWrite"("blobclass","blobid","z",null)
end if
end