-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathentity_fullname_type.sql
More file actions
136 lines (115 loc) · 3.87 KB
/
Copy pathentity_fullname_type.sql
File metadata and controls
136 lines (115 loc) · 3.87 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
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
-- ========================================
-- CAST DA/PER UNKNOWN (necessario per literal stringa)
-- NON POSSIBILE
-- ========================================
-- ========================================
-- DROP CAST IF EXIST
-- ========================================
DROP CAST IF EXISTS (text AS vrsn.entity_fullname_type);
DROP CAST IF EXISTS (vrsn.entity_fullname_type as text);
DROP CAST IF EXISTS (hstore AS vrsn.entity_fullname_type);
DROP CAST IF EXISTS (vrsn.entity_fullname_type AS hstore);
DROP CAST IF EXISTS (json AS vrsn.entity_fullname_type);
DROP CAST IF EXISTS (vrsn.entity_fullname_type AS json);
DROP CAST IF EXISTS (vrsn.entity_fullname_type AS json);
DROP CAST IF EXISTS (jsonb AS vrsn.entity_fullname_type);
DROP CAST IF EXISTS (vrsn.entity_fullname_type AS jsonb);
-- ========================================
-- CAST DA/PER text IMPLICIT
-- ========================================
CREATE CAST (text AS vrsn.entity_fullname_type)
WITH FUNCTION vrsn.__entity_fullname_type__from_string(text)
AS IMPLICIT;
CREATE CAST (vrsn.entity_fullname_type as text)
WITH FUNCTION vrsn.__entity_fullname_type__to_string(vrsn.entity_fullname_type)
AS IMPLICIT;
-- ========================================
-- CAST DA/PER HSTORE
-- ========================================
-- Cast da hstore
CREATE CAST (hstore AS vrsn.entity_fullname_type)
WITH FUNCTION vrsn.__entity_fullname_type__from_hstore(hstore)
AS ASSIGNMENT;
-- Cast verso hstore
CREATE CAST (vrsn.entity_fullname_type AS hstore)
WITH FUNCTION vrsn.__entity_fullname_type__to_hstore(vrsn.entity_fullname_type)
AS ASSIGNMENT;
-- ========================================
-- CAST DA/PER JSON/b
-- ========================================
-- Cast da json
CREATE CAST (json AS vrsn.entity_fullname_type)
WITH FUNCTION vrsn.__entity_fullname_type__from_json(json)
AS ASSIGNMENT;
-- Cast verso json
CREATE CAST (vrsn.entity_fullname_type AS json)
WITH FUNCTION vrsn.__entity_fullname_type__to_json(vrsn.entity_fullname_type)
AS ASSIGNMENT;
-- Cast da jsonb
CREATE CAST (jsonb AS vrsn.entity_fullname_type)
WITH FUNCTION vrsn.__entity_fullname_type__from_jsonb(jsonb)
AS ASSIGNMENT;
-- Cast verso jsonb
CREATE CAST (vrsn.entity_fullname_type AS jsonb)
WITH FUNCTION vrsn.__entity_fullname_type__to_jsonb(vrsn.entity_fullname_type)
AS ASSIGNMENT;
-- ========================================
-- Operatori di confronto
-- ========================================
-- Operatori di confronto
CREATE OPERATOR = (
LEFTARG = vrsn.entity_fullname_type,
RIGHTARG = vrsn.entity_fullname_type,
FUNCTION = vrsn.__entity_fullname_type__eq,
COMMUTATOR = =,
NEGATOR = <>,
RESTRICT = eqsel,
JOIN = eqjoinsel,
HASHES,
MERGES
);
CREATE OPERATOR <> (
LEFTARG = vrsn.entity_fullname_type,
RIGHTARG = vrsn.entity_fullname_type,
FUNCTION = vrsn.__entity_fullname_type__ne,
COMMUTATOR = <>,
NEGATOR = =,
RESTRICT = neqsel,
JOIN = neqjoinsel
);
CREATE OPERATOR < (
LEFTARG = vrsn.entity_fullname_type,
RIGHTARG = vrsn.entity_fullname_type,
FUNCTION = vrsn.__entity_fullname_type__lt,
COMMUTATOR = >,
NEGATOR = >=,
RESTRICT = scalarltsel,
JOIN = scalarltjoinsel
);
CREATE OPERATOR <= (
LEFTARG = vrsn.entity_fullname_type,
RIGHTARG = vrsn.entity_fullname_type,
FUNCTION = vrsn.__entity_fullname_type__le,
COMMUTATOR = >=,
NEGATOR = >,
RESTRICT = scalarlesel,
JOIN = scalarlejoinsel
);
CREATE OPERATOR > (
LEFTARG = vrsn.entity_fullname_type,
RIGHTARG = vrsn.entity_fullname_type,
FUNCTION = vrsn.__entity_fullname_type__gt,
COMMUTATOR = <,
NEGATOR = <=,
RESTRICT = scalargtsel,
JOIN = scalargtjoinsel
);
CREATE OPERATOR >= (
LEFTARG = vrsn.entity_fullname_type,
RIGHTARG = vrsn.entity_fullname_type,
FUNCTION = vrsn.__entity_fullname_type__ge,
COMMUTATOR = <=,
NEGATOR = <,
RESTRICT = scalargesel,
JOIN = scalargejoinsel
);