Added db generate uuid function. The postgresql implementation depends on the contrib module contrib/uuid-ossp.
This commit is contained in:
parent
440f3a7c43
commit
75a5355937
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
*This file is part of Adempiere ERP Bazaar
|
||||||
|
*http://www.adempiere.org
|
||||||
|
*
|
||||||
|
*This program is free software; you can redistribute it and/or
|
||||||
|
*modify it under the terms of the GNU General Public License
|
||||||
|
*as published by the Free Software Foundation; either version 2
|
||||||
|
*of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
*This program is distributed in the hope that it will be useful,
|
||||||
|
*but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
*GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
*You should have received a copy of the GNU General Public License
|
||||||
|
*along with this program; if not, write to the Free Software
|
||||||
|
*Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.of
|
||||||
|
*/
|
||||||
|
create or replace function generate_uuid return varchar as
|
||||||
|
guid varchar(32);
|
||||||
|
uuid varchar(36);
|
||||||
|
begin
|
||||||
|
guid := lower(sys_guid());
|
||||||
|
uuid := substr(guid, 1, 8) || '-' || substr(guid, 9, 4) || '-' || substr(guid, 13, 4) || '-' || substr(guid, 17, 4) || '-' || substr(guid, 21, 12);
|
||||||
|
return uuid;
|
||||||
|
end;
|
||||||
|
/
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
*This file is part of Adempiere ERP Bazaar
|
||||||
|
*http://www.adempiere.org
|
||||||
|
*
|
||||||
|
*This program is free software; you can redistribute it and/or
|
||||||
|
*modify it under the terms of the GNU General Public License
|
||||||
|
*as published by the Free Software Foundation; either version 2
|
||||||
|
*of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
*This program is distributed in the hope that it will be useful,
|
||||||
|
*but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
*GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
*You should have received a copy of the GNU General Public License
|
||||||
|
*along with this program; if not, write to the Free Software
|
||||||
|
*Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.of
|
||||||
|
*/
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION generate_uuid()
|
||||||
|
RETURNS char(36) AS $$
|
||||||
|
BEGIN
|
||||||
|
return uuid_generate_v4()::char(36);
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql IMMUTABLE STRICT;
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
/* $PostgreSQL: pgsql/contrib/uuid-ossp/uuid-ossp.sql.in,v 1.6 2007/11/13 04:24:29 momjian Exp $ */
|
||||||
|
|
||||||
|
-- Adjust this setting to control where the objects get created.
|
||||||
|
SET search_path = public;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_nil()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_nil'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_ns_dns()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_ns_dns'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_ns_url()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_ns_url'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_ns_oid()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_ns_oid'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_ns_x500()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_ns_x500'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_generate_v1()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_generate_v1'
|
||||||
|
VOLATILE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_generate_v1mc()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_generate_v1mc'
|
||||||
|
VOLATILE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_generate_v3(namespace uuid, name text)
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_generate_v3'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_generate_v4()
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_generate_v4'
|
||||||
|
VOLATILE STRICT LANGUAGE C;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION uuid_generate_v5(namespace uuid, name text)
|
||||||
|
RETURNS uuid
|
||||||
|
AS '$libdir/uuid-ossp', 'uuid_generate_v5'
|
||||||
|
IMMUTABLE STRICT LANGUAGE C;
|
Loading…
Reference in New Issue