/* -*- sql -*- postgres specific registered procedures, require the plpgsql language installed */CREATEFUNCTIONcomma_join(anyarray)RETURNStextAS$$SELECTarray_to_string($1,', ')$$LANGUAGESQL;;CREATEAGGREGATEgroup_concat(basetype=anyelement,sfunc=array_append,stype=anyarray,finalfunc=comma_join,initcond='{}');;CREATEFUNCTIONlimit_size(fulltexttext,formattext,maxsizeinteger)RETURNStextAS$$DECLAREplaintexttext;BEGINIFchar_length(fulltext)<maxsizeTHENRETURNfulltext;ENDIF;IFformat='text/html'ORformat='text/xhtml'ORformat='text/xml'THENplaintext:=regexp_replace(fulltext,'<[\\w/][^>]+>','','g');ELSEplaintext:=fulltext;ENDIF;IFchar_length(plaintext)<maxsizeTHENRETURNplaintext;ELSERETURNsubstring(plaintextfrom1formaxsize)||'...';ENDIF;END$$LANGUAGEplpgsql;;CREATEFUNCTIONtext_limit_size(fulltexttext,maxsizeinteger)RETURNStextAS$$BEGINRETURNlimit_size(fulltext,'text/plain',maxsize);END$$LANGUAGEplpgsql;;