-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpostgre_compatibility_addon.sql
More file actions
26 lines (21 loc) · 1.04 KB
/
Copy pathpostgre_compatibility_addon.sql
File metadata and controls
26 lines (21 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- This queries for users PostgreSQL.
--
-- Its need apply single time after DB creating or later (safe reapply)
-- and let correctly execute SQL queries with UNIX_TIMESTAMP/FROM_UNIXTIME
-- functions uses in mangosd/realmd code.
-- NOTE: Queries must be applied to each mangos DB parts: mangos, characters, realmd at least one time.
-- no params
CREATE OR REPLACE FUNCTION unix_timestamp() RETURNS bigint AS '
SELECT EXTRACT(EPOCH FROM CURRENT_TIMESTAMP(0))::bigint AS result;
' LANGUAGE 'SQL';
-- timestamp without time zone (i.e. 1973-11-29 21:33:09)
CREATE OR REPLACE FUNCTION unix_timestamp(timestamp) RETURNS bigint AS '
SELECT EXTRACT(EPOCH FROM $1)::bigint AS result;
' LANGUAGE 'SQL';
-- timestamp with time zone (i.e. 1973-11-29 21:33:09+01)
CREATE OR REPLACE FUNCTION unix_timestamp(timestamp WITH time zone) RETURNS bigint AS '
SELECT EXTRACT(EPOCH FROM $1)::bigint AS result;
' LANGUAGE 'SQL';
CREATE OR REPLACE FUNCTION from_unixtime(integer) RETURNS timestamp AS '
SELECT to_timestamp($1)::timestamp AS result
' LANGUAGE 'SQL';