Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
blob: 955377909a2b0a1a8d28ee63564619503dd23223 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
func=$1
cat <<% > datetime_functions.sql
drop function time_difference(time,time);
drop function currentdate();
drop function currenttime();
drop function hours(time);
drop function minutes(time);
drop function seconds(time);
drop function day(date);
drop function month(date);
drop function year(date);
drop function asminutes(time);
drop function asseconds(time);
drop operator - (time,time);

create function time_difference(time,time)
  returns time
  as '$func' 
  language 'c';

create function currentdate()
  returns date
  as '$func' 
  language 'c';

create function currenttime()
  returns time
  as '$func' 
  language 'c';

create function hours(time)
  returns int4
  as '$func' 
  language 'c';

create function minutes(time)
  returns int4
  as '$func' 
  language 'c';

create function seconds(time)
  returns int4
  as '$func' 
  language 'c';

create function day(date)
  returns int4
  as '$func'
  language 'c';

create function month(date)
  returns int4
  as '$func'
  language 'c';

create function year(date)
  returns int4
  as '$func'
  language 'c';

create function asminutes(time)
  returns int4
  as '$func' 
  language 'c';

create function asseconds(time)
  returns int4
  as '$func' 
  language 'c';

create operator - (
  leftarg=time, 
  rightarg=time, 
  procedure=time_difference);
%