pears.BlobstoreRead
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
Original SQL
CREATE FUNCTION "pears"."BlobstoreRead"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ IN "blobclass" CHAR(1),IN "blobid" CHAR(20),IN "requestedby" CHAR(15) ) RETURNS INTEGER NOT deterministic BEGIN DECLARE "z" INTEGER; DECLARE "xpath" CHAR(250); DECLARE "dat" long BINARY; SELECT "isnull"("zipped",0),"trim"("externalfilepath"),"blob" INTO "z","xpath","dat" FROM "blobstore" WHERE "class" = "blobclass" AND "id" = "blobid"; IF "z" IS NULL THEN RETURN NULL // No ROW END IF; IF "dat" IS NULL AND "isnull"("xpath",'') <> '' THEN SET "dat" = "xp_read_file"("BlobstoreFullPath"("xpath")) END IF; IF "dat" IS NULL THEN RETURN NULL // No BLOB END IF; IF "varexists"('iqblobtemp') = 0 THEN CREATE variable "iqblobtemp" long BINARY END IF; SET "iqblobtemp" = "dat"; IF "requestedby" IS NOT NULL THEN UPDATE "blobstore" SET "accessedby" = "requestedby","accessedat" = CURRENT TIMESTAMP WHERE "class" = "blobclass" AND "id" = "blobid" END IF; RETURN "z" END