Re: MD5 sums of large objects
От | Dirk Jagdmann |
---|---|
Тема | Re: MD5 sums of large objects |
Дата | |
Msg-id | 5d0f60990704081707m56b29423ob5d63103623305b2@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: MD5 sums of large objects (Michael Fuhr <mike@fuhr.org>) |
Ответы |
Re: MD5 sums of large objects
|
Список | pgsql-sql |
Hello Michael, this works like charm. Although I did fix the argument for lo_lseek: CREATE OR REPLACE FUNCTION md5(id oid) RETURNS text as $$DECLARE fd integer; size integer; hashval text; INV_READ constant integer := 262144; -- 0x40000 fromlibpq-fs.h SEEK_SET constant integer := 0; SEEK_END constant integer := 2;BEGIN IF id is null THEN RETURN NULL; ENDIF; fd := lo_open(id, INV_READ); size := lo_lseek(fd, 0, SEEK_END); PERFORM lo_lseek(fd, 0, SEEK_SET); hashval := md5(loread(fd,size)); PERFORM lo_close(fd); RETURN hashval;END; $$ language plpgsql stable strict; comment on FUNCTION md5(id oid) is 'Calculates the md5 sum of a large object.'; I vote for this function beeing included either somewhere in the contrib directories, as you often don't need the full power of pgcrypto is md5 suffices for your hashing needs. -- ---> Dirk Jagdmann ----> http://cubic.org/~doj -----> http://llg.cubic.org
В списке pgsql-sql по дате отправления: