db_version.anubis
1.49 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
/*
* Created by PyramIDE.
* User: フランスのトトロ aka (David RENÉ)
* Date: 09/07/2017
* Time: 00:52
* © David RENÉ
*/
transmit tools/basis.anubis
transmit calexium_lib/types/version.anubis
public type DB_Version_Compare_Result:
less,
more,
equal,
equal_but_sign
.
public type DB_Version:
db_version (
Version version, //version of database
String db_hash //signature like SHA1 etc
)
.
public define DB_Version
db_version
(
String version_str,
String hash
)=
db_version(version(version_str), hash)
.
public define DB_Version
db_version
(
String version_str
)=
db_version(version(version_str), "")
.
public define DB_Version
db_v_0 =
db_version(version(0), "")
.
public define String
String s + DB_Version db_v =
s + db_v.version + " " + db_v.db_hash
.
public define String
DB_Version db_v + String s =
db_v.version + " " + db_v.db_hash + s
.
public define DB_Version_Compare_Result
compare_db_version
(
DB_Version v_x,
DB_Version v_y
) =
if v_x.version.numeric +< v_y.version.numeric then
less
else if v_x.version.numeric = v_y.version.numeric then
if v_x.db_hash = v_y.db_hash then
equal
else
equal_but_sign
else
more
.
public define Bool
db_version_less
(
DB_Version v_x,
DB_Version v_y
)=
// +=< below is unsigned comparison for Word32
if v_x.version.numeric +=< v_y.version.numeric then true else false
.