Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."Base29Safe" IS {CREATE FUNCTION Base29Safe /* Application Maintained Function / Procedure - DO NOT EDIT*/ (IN seed INTEGER,IN digits SMALLINT) RETURNS CHAR(20) BEGIN DECLARE rv CHAR(20); DECLARE m INTEGER; DECLARE sdigits CHAR(29); -- Where the code must be handled by humans, letters O and I can be confused with zero and one so these are left out -- By removing all vowels and also 1 & 0 from the available characters (except the padding) nothing that -- looks much like a word (rude or otherwise) should be generated SET sdigits='23456789BCDFGHJKLMNPQRSTVWXYZ'; SET rv=''; IF((digits > 20) OR(digits < 1)) THEN SET digits=20 END IF; while seed > 0 loop SET m=MOD(seed,29); SET rv=substr(sdigits,m+1,1) || rv; SET seed=seed/29 END loop; SET rv="right"(string('0000000000000000000',rv),digits); RETURN(rv) END }