@@ -20,7 +20,6 @@ if Code.ensure_loaded?(Tds) do
20
20
"""
21
21
@ type raw :: << _ :: 128 >>
22
22
23
-
24
23
@ doc false
25
24
@ impl true
26
25
def type ( ) , do: :uuid
@@ -47,7 +46,6 @@ if Code.ensure_loaded?(Tds) do
47
46
end
48
47
49
48
def cast ( << bin :: binary - size ( 16 ) >> ) , do: encode ( bin )
50
-
51
49
def cast ( _ ) , do: :error
52
50
53
51
@ doc """
@@ -91,11 +89,11 @@ if Code.ensure_loaded?(Tds) do
91
89
"""
92
90
@ impl true
93
91
@ spec dump ( t | any ) :: { :ok , raw } | :error
94
- def dump ( << a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , ?- ,
95
- b1 , b2 , b3 , b4 , ?- ,
96
- c1 , c2 , c3 , c4 , ?- ,
97
- d1 , d2 , d3 , d4 , ?- ,
98
- e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 , e11 , e12 >> ) do
92
+ def dump ( << a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , ?- ,
93
+ b1 , b2 , b3 , b4 , ?- ,
94
+ c1 , c2 , c3 , c4 , ?- ,
95
+ d1 , d2 , d3 , d4 , ?- ,
96
+ e1 , e2 , e3 , e4 , e5 , e6 , e7 , e8 , e9 , e10 , e11 , e12 >> ) do
99
97
try do
100
98
<< d ( a7 ) :: 4 , d ( a8 ) :: 4 , d ( a5 ) :: 4 , d ( a6 ) :: 4 ,
101
99
d ( a3 ) :: 4 , d ( a4 ) :: 4 , d ( a1 ) :: 4 , d ( a2 ) :: 4 ,
@@ -178,29 +176,15 @@ if Code.ensure_loaded?(Tds) do
178
176
"""
179
177
@ spec bingenerate ( ) :: raw
180
178
def bingenerate do
181
- << a1 :: 4 , a2 :: 4 , a3 :: 4 , a4 :: 4 ,
182
- a5 :: 4 , a6 :: 4 , a7 :: 4 , a8 :: 4 ,
183
- b1 :: 4 , b2 :: 4 , b3 :: 4 , b4 :: 4 ,
184
- _ :: 4 , c2 :: 4 , c3 :: 4 , c4 :: 4 ,
185
- d1 :: 4 , d2 :: 4 , d3 :: 4 , d4 :: 4 ,
186
- e1 :: 4 , e2 :: 4 , e3 :: 4 , e4 :: 4 ,
187
- _ :: 4 , e6 :: 4 , e7 :: 4 , e8 :: 4 ,
188
- e9 :: 4 , e10 :: 4 , e11 :: 4 , e12 :: 4 >> = :crypto . strong_rand_bytes ( 16 )
189
- << a7 :: 4 , a8 :: 4 , a5 :: 4 , a6 :: 4 ,
190
- a3 :: 4 , a4 :: 4 , a1 :: 4 , a2 :: 4 ,
191
- b3 :: 4 , b4 :: 4 , b1 :: 4 , b2 :: 4 ,
192
- c3 :: 4 , c4 :: 4 , 4 :: 4 , c2 :: 4 ,
193
- d1 :: 4 , d2 :: 4 , d3 :: 4 , d4 :: 4 ,
194
- e1 :: 4 , e2 :: 4 , e3 :: 4 , e4 :: 4 ,
195
- 2 :: 4 , e6 :: 4 , e7 :: 4 , e8 :: 4 ,
196
- e9 :: 4 , e10 :: 4 , e11 :: 4 , e12 :: 4 >>
179
+ << u0 :: 56 , u1 :: 36 , u2 :: 28 >> = :crypto . strong_rand_bytes ( 15 )
180
+ << u0 :: 56 , 4 :: 4 , u1 :: 36 , 2 :: 4 , u2 :: 28 >>
197
181
end
198
182
199
183
# Callback invoked by autogenerate fields.
200
184
@ doc false
201
185
def autogenerate , do: generate ( )
202
186
203
- defp encode ( << a1 :: 4 , a2 :: 4 , a3 :: 4 , a4 :: 4 ,
187
+ defp encode ( << a1 :: 4 , a2 :: 4 , a3 :: 4 , a4 :: 4 ,
204
188
a5 :: 4 , a6 :: 4 , a7 :: 4 , a8 :: 4 ,
205
189
b1 :: 4 , b2 :: 4 , b3 :: 4 , b4 :: 4 ,
206
190
c1 :: 4 , c2 :: 4 , c3 :: 4 , c4 :: 4 ,
@@ -265,13 +249,12 @@ if Code.ensure_loaded?(Tds) do
265
249
"""
266
250
@ type varchar :: { String . t , :varchar }
267
251
268
-
269
252
@ doc false
270
253
@ impl true
271
254
def type ( ) , do: :varchar
272
255
273
256
@ doc """
274
- Casts to string
257
+ Casts to string.
275
258
"""
276
259
@ spec cast ( t | varchar | any ) :: { :ok , t } | :error
277
260
@ impl true
@@ -297,19 +280,19 @@ if Code.ensure_loaded?(Tds) do
297
280
end
298
281
end
299
282
300
-
301
- @ doc false
283
+ @ doc """
284
+ Loads the DB type as is.
285
+ """
302
286
@ impl true
303
287
@ spec load ( t | any ) :: { :ok , t } | :error
304
288
def load ( value ) do
305
- # what ever TDS returns just pass back to ecto. It is already a string
306
289
{ :ok , value }
307
290
end
308
291
309
292
@ doc """
310
293
Converts a string representing a VarChar into a tuple `{value, :varchar}`.
311
294
312
- returns `:error` if value is not binary
295
+ Returns `:error` if value is not binary.
313
296
"""
314
297
@ impl true
315
298
@ spec dump ( t | any ) :: { :ok , varchar } | :error
0 commit comments