60 lines
1.7 KiB
MySQL
60 lines
1.7 KiB
MySQL
|
/** Change Numeric for Integer */
|
||
|
CREATE OR REPLACE FUNCTION adempiere.ID (record NUMERIC)
|
||
|
RETURNS INTEGER AS $$
|
||
|
DECLARE
|
||
|
ID integer := 0;
|
||
|
BEGIN
|
||
|
ID := CAST(record AS INTEGER);
|
||
|
--RAISE NOTICE 'Quantity here is %', ID;
|
||
|
RETURN ID;
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||
|
|
||
|
CREATE OR REPLACE FUNCTION adempiere.getdate()
|
||
|
RETURNS TIMESTAMP WITH TIME ZONE AS $$
|
||
|
BEGIN
|
||
|
RETURN now();
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||
|
|
||
|
/**TIMESTAMP WITH TIME ZONE **/
|
||
|
CREATE OR REPLACE FUNCTION adempiere.addDays (day TIMESTAMP WITH TIME ZONE, days DECIMAL)
|
||
|
RETURNS TIMESTAMP WITH TIME ZONE AS $$
|
||
|
BEGIN
|
||
|
RETURN adempiere.addDays(day,adempiere.ID(days));
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||
|
|
||
|
|
||
|
CREATE OR REPLACE FUNCTION adempiere.subtractdays (day TIMESTAMP WITH TIME ZONE, days DECIMAL)
|
||
|
RETURNS TIMESTAMP WITH TIME ZONE AS $$
|
||
|
BEGIN
|
||
|
RETURN adempiere.addDays(day,adempiere.ID(days * -1));
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||
|
|
||
|
CREATE OR REPLACE FUNCTION adempiere.addDays (day TIMESTAMP WITH TIME ZONE, days INTEGER)
|
||
|
RETURNS TIMESTAMP WITH TIME ZONE AS $$
|
||
|
BEGIN
|
||
|
RETURN adempiere.addDays(day,Idays);
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||
|
|
||
|
|
||
|
CREATE OR REPLACE FUNCTION adempiere.subtractdays (day TIMESTAMP WITH TIME ZONE, days INTEGER)
|
||
|
RETURNS TIMESTAMP WITH TIME ZONE AS $$
|
||
|
BEGIN
|
||
|
RETURN adempiere.addDays(day,days * -1);
|
||
|
END;
|
||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||
|
|
||
|
DROP OPERATOR adempiere.+ (timestamptz, INTEGER);
|
||
|
CREATE OPERATOR adempiere.+ ( PROCEDURE = adempiere.adddays,
|
||
|
LEFTARG = TIMESTAMPTZ, RIGHTARG = INTEGER,
|
||
|
COMMUTATOR = +);
|
||
|
|
||
|
DROP OPERATOR adempiere.- (timestamptz, INTEGER);
|
||
|
CREATE OPERATOR adempiere.- ( PROCEDURE = adempiere. subtractdays,
|
||
|
LEFTARG = TIMESTAMPTZ, RIGHTARG = INTEGER,
|
||
|
COMMUTATOR = -);
|