====== pears.BlobstoreRelocate ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."BlobstoreRelocate" IS
{create function 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
}