[Evolvis-commits] r523: First try at a single SQL file to handle the data migration from 2. 5↵ to 2 .6. There are several TODOs, and there are probably errors. And↵ the artifact-convert-files .php script (or equivalent) still has to be↵ run afterwards , and maybe even in between. ↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 25 14:28:47 CET 2010


Author: mirabilos
Date: 2010-02-25 13:28:47 +0000 (Thu, 25 Feb 2010)
New Revision: 523

Added:
   trunk/gforge_base/evolvisforge/gforge/deb-specific/sf2.5-to-sf2.6.sql
Modified:
   trunk/gforge_base/evolvisforge/
Log:
First try at a single SQL file to handle the data migration from 2.5
to 2.6.  There are several TODOs, and there are probably errors.  And
the artifact-convert-files.php script (or equivalent) still has to be
run afterwards, and maybe even in between.



Property changes on: trunk/gforge_base/evolvisforge
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2002-01-28 16:38:07.000000000 +0000
committer: lo-lan-do

   + timestamp: 2002-01-29 17:44:34.000000000 +0000
committer: lo-lan-do

Name: bzr:file-ids
   - gforge/debian/sourceforge.docs	7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fsourceforge.docs

   + gforge/deb-specific/sf2.5-to-sf2.6.sql	387 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fsf2.5-to-sf2.6.sql

Name: bzr:revision-id:v4
   - 1 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:1
2 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:2
3 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
4 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:9
5 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:10
6 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:11
7 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:12
8 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:13
9 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:14
10 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:15
11 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:16
12 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:17
13 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:18
14 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:19
15 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:20
16 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:21
17 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:22
18 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:23
19 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:24
20 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:25
21 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:26
22 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:27
23 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:28
24 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
25 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:30
26 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:31
27 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:32
28 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:33
29 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:34
30 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:35
31 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:36
32 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:37
33 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:38
34 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:39
35 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:40
36 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:41
37 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:42
38 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:43
39 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:44
40 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:45
41 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:46
42 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:47
43 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:48
44 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:49
45 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
46 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:51
47 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:52
48 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:53
49 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
50 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:55
51 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
52 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:57
53 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:58
54 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:59
55 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:60
56 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:61
57 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:62
58 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:63
59 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
60 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:65
61 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
62 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:67
63 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:68
64 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:69
65 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:70
66 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:71
67 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:72
68 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:73
69 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:74
70 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:75
71 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:76
72 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:77
73 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:78
74 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:79
75 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:80
76 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:81
77 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:82
78 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:83
79 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:84
80 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:85
81 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:86
82 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:87
83 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:88
84 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:89
85 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:90
86 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:91
87 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:92
88 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:93
89 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:94
90 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:95
91 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:96
92 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:97
93 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:98
94 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:99
95 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:100
96 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:101
97 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:102
98 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:103
99 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:104
100 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:105
101 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:106
102 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:107
103 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:108
104 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:109
105 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:110
106 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:111
107 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:112
108 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:113
109 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:114
110 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:115
111 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:116
112 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:117
113 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:118
114 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:119
115 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:120
116 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:121
117 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:122
118 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:123
119 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:124
120 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:125
121 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:126
122 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:127
123 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:128
124 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:129
125 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:130
126 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:131
127 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:132
128 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:133
129 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:134
130 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:135
131 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:136
132 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:137
133 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:138
134 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:139
135 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:140
136 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:141
137 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:142
138 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:143
139 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:144
140 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:145
141 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:146
142 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:147
143 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:148
144 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:149
145 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:150
146 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:151
147 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:152
148 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:153
149 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:154
150 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:155
151 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:156
152 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:157
153 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:158
154 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:159
155 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:160
156 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:161
157 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:162
158 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:163
159 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:164
160 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:165
161 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:166
162 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:167
163 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:168
164 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:169
165 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:170
166 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:172
167 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:173
168 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:174
169 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:175
170 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:176
171 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:180
172 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:184
173 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:186
174 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:187
175 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:188
176 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:189
177 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:190
178 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:191
179 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:192
180 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:193
181 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:194
182 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:195
183 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:196
184 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:197
185 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:198
186 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:199
187 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:200
188 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:202
189 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:203
190 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:204
191 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:205
192 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:206
193 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:207
194 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:208
195 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:209
196 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:210
197 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:211
198 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:212
199 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:213
200 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:214
201 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:215
202 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:216
203 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:217
204 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:218
205 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:219
206 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:220
207 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:221
208 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:222
209 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:223
210 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:224
211 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:225
212 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:226
213 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:227
214 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:228
215 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:229
216 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:230
217 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:231
218 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:232
219 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:233
220 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:234
221 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:235
222 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:236
223 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:237
224 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:238
225 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:241
226 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:250
227 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:253
228 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:254
229 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:255
230 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:256
231 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:258
232 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:263
233 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:264
234 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:265
235 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:266
236 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:268
237 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:269
238 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:271
239 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:275
240 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:276
241 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:277
242 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:278
243 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:288
244 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:289
245 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:290
246 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:291
247 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:292
248 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:293
249 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:294
250 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:295
251 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:296
252 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:297
253 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:298
254 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:310
255 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:311
256 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:313
257 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:315
258 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:323
259 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:324
260 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:325
261 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:326
262 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:327
263 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:328
264 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:329
265 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:331
266 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:336
267 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:337
268 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:338
269 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:339
270 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:340
271 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:341
272 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:343
273 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:359
274 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:360
275 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:361
276 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:362
277 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:363
278 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:364
279 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:365
280 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:369
281 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:371
282 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:375
283 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:377
284 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:378
285 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:379
286 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:380
287 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:384
288 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:386

   + 1 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:1
2 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:2
3 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:7
4 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:9
5 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:10
6 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:11
7 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:12
8 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:13
9 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:14
10 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:15
11 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:16
12 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:17
13 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:18
14 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:19
15 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:20
16 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:21
17 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:22
18 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:23
19 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:24
20 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:25
21 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:26
22 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:27
23 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:28
24 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:29
25 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:30
26 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:31
27 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:32
28 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:33
29 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:34
30 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:35
31 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:36
32 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:37
33 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:38
34 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:39
35 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:40
36 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:41
37 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:42
38 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:43
39 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:44
40 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:45
41 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:46
42 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:47
43 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:48
44 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:49
45 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:50
46 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:51
47 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:52
48 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:53
49 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:54
50 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:55
51 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:56
52 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:57
53 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:58
54 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:59
55 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:60
56 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:61
57 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:62
58 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:63
59 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:64
60 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:65
61 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:66
62 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:67
63 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:68
64 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:69
65 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:70
66 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:71
67 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:72
68 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:73
69 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:74
70 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:75
71 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:76
72 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:77
73 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:78
74 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:79
75 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:80
76 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:81
77 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:82
78 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:83
79 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:84
80 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:85
81 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:86
82 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:87
83 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:88
84 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:89
85 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:90
86 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:91
87 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:92
88 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:93
89 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:94
90 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:95
91 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:96
92 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:97
93 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:98
94 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:99
95 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:100
96 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:101
97 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:102
98 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:103
99 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:104
100 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:105
101 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:106
102 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:107
103 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:108
104 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:109
105 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:110
106 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:111
107 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:112
108 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:113
109 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:114
110 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:115
111 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:116
112 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:117
113 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:118
114 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:119
115 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:120
116 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:121
117 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:122
118 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:123
119 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:124
120 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:125
121 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:126
122 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:127
123 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:128
124 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:129
125 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:130
126 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:131
127 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:132
128 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:133
129 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:134
130 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:135
131 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:136
132 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:137
133 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:138
134 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:139
135 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:140
136 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:141
137 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:142
138 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:143
139 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:144
140 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:145
141 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:146
142 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:147
143 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:148
144 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:149
145 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:150
146 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:151
147 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:152
148 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:153
149 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:154
150 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:155
151 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:156
152 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:157
153 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:158
154 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:159
155 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:160
156 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:161
157 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:162
158 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:163
159 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:164
160 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:165
161 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:166
162 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:167
163 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:168
164 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:169
165 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:170
166 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:172
167 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:173
168 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:174
169 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:175
170 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:176
171 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:180
172 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:184
173 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:186
174 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:187
175 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:188
176 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:189
177 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:190
178 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:191
179 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:192
180 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:193
181 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:194
182 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:195
183 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:196
184 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:197
185 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:198
186 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:199
187 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:200
188 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:202
189 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:203
190 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:204
191 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:205
192 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:206
193 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:207
194 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:208
195 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:209
196 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:210
197 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:211
198 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:212
199 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:213
200 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:214
201 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:215
202 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:216
203 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:217
204 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:218
205 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:219
206 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:220
207 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:221
208 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:222
209 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:223
210 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:224
211 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:225
212 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:226
213 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:227
214 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:228
215 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:229
216 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:230
217 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:231
218 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:232
219 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:233
220 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:234
221 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:235
222 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:236
223 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:237
224 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:238
225 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:241
226 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:250
227 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:253
228 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:254
229 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:255
230 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:256
231 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:258
232 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:263
233 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:264
234 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:265
235 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:266
236 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:268
237 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:269
238 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:271
239 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:275
240 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:276
241 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:277
242 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:278
243 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:288
244 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:289
245 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:290
246 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:291
247 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:292
248 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:293
249 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:294
250 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:295
251 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:296
252 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:297
253 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:298
254 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:310
255 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:311
256 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:313
257 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:315
258 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:323
259 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:324
260 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:325
261 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:326
262 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:327
263 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:328
264 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:329
265 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:331
266 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:336
267 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:337
268 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:338
269 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:339
270 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:340
271 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:341
272 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:343
273 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:359
274 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:360
275 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:361
276 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:362
277 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:363
278 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:364
279 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:365
280 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:369
281 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:371
282 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:375
283 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:377
284 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:378
285 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:379
286 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:380
287 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:384
288 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:386
289 svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:387


Added: trunk/gforge_base/evolvisforge/gforge/deb-specific/sf2.5-to-sf2.6.sql
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/sf2.5-to-sf2.6.sql	                        (rev 0)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/sf2.5-to-sf2.6.sql	2010-02-25 13:28:47 UTC (rev 523)
@@ -0,0 +1,998 @@
+-- 20001209
+-- drop index downloads_idx;
+-- create index frsdlstatsgroupagg_day_dls on  frs_dlstats_group_agg (day,downloads);
+-- create index projectweeklymetric_ranking on project_weekly_metric(ranking);
+-- create index users_status on users(status);
+-- drop index news_date;
+-- create index support_groupid_assignedto_status on support(group_id,assigned_to,support_status_id);
+-- create index support_groupid_assignedto on support(group_id,assigned_to);
+-- create index support_groupid_status on support(group_id,support_status_id);
+-- create index patch_groupid_assignedto_status on patch(group_id,assigned_to,patch_status_id);
+-- create index patch_groupid_assignedto on patch(group_id,assigned_to);
+-- create index patch_groupid_status on patch(group_id,patch_status_id);
+-- create index projecttask_projid_status on project_task(group_project_id,status_id);
+
+CREATE INDEX forummonitoredforums_user ON forum_monitored_forums(user_id);
+CREATE INDEX filemodulemonitor_userid ON filemodule_monitor(user_id);
+CREATE INDEX support_status_assignedto ON support(support_status_id,assigned_to);
+CREATE INDEX bug_status_assignedto ON bug(status_id,assigned_to);
+
+-- 20001214
+-- alter table filemodule_monitor add column id int not null default 0 primary key auto_increment first;
+-- alter table frs_dlstats_filetotal_agg change column file_id file_id int not null default 0 primary key;
+-- alter table group_cvs_history add column id int not null default 0 primary key auto_increment first;
+-- DROP TABLE system_news;
+-- DROP TABLE system_history;
+-- DROP TABLE system_status;
+-- DROP TABLE system_services;
+-- DROP TABLE system_machines;
+-- create index foundrynews_foundry_date_approved on foundry_news(foundry_id,approve_date,is_approved);
+-- create index news_group_date on news_bytes(group_id,date);
+CREATE INDEX news_date ON news_bytes(date);
+-- create index news_approved_date on news_bytes(is_approved,date);
+
+-- 20001220
+ALTER TABLE patch ADD COLUMN details text;
+INSERT INTO themes (dirname, fullname) VALUES ('ultralite','Ultra Lite');
+
+-- 20010109
+CREATE TABLE project_sums_agg (
+  group_id int NOT NULL DEFAULT 0,
+  type char(4),
+  count int NOT NULL DEFAULT 0
+);
+CREATE INDEX projectsumsagg_groupid ON project_sums_agg (group_id);
+
+-- 20010112
+ALTER TABLE groups ADD COLUMN bug_due_period int NOT NULL DEFAULT 2592000;
+ALTER TABLE groups ADD COLUMN patch_due_period int NOT NULL DEFAULT 5184000;
+ALTER TABLE groups ADD COLUMN support_due_period int NOT NULL DEFAULT 1296000;
+
+-- 20010126
+CREATE TABLE prdb_dbs (
+  dbid SERIAL PRIMARY KEY, 
+  group_id INT NOT NULL,
+  dbname TEXT NOT NULL,
+  dbusername TEXT NOT NULL,
+  dbuserpass TEXT NOT NULL,
+  requestdate INT NOT NULL,
+  dbtype INT NOT NULL,
+  created_by INT NOT NULL,
+  state INT NOT NULL
+);
+CREATE TABLE prdb_states (
+  stateid INT NOT NULL,
+  statename TEXT
+);                
+CREATE UNIQUE INDEX idx_prdb_dbname ON prdb_dbs (dbname);
+INSERT INTO prdb_states VALUES ('1', 'Active');
+INSERT INTO prdb_states VALUES ('2', 'Pending Create');
+INSERT INTO prdb_states VALUES ('3', 'Pending Delete');
+INSERT INTO prdb_states VALUES ('4', 'Pending Update');
+INSERT INTO prdb_states VALUES ('5', 'Failed Create'); 
+INSERT INTO prdb_states VALUES ('6', 'Failed Delete');
+INSERT INTO prdb_states VALUES ('7', 'Failed Update');
+CREATE TABLE prdb_types (
+  dbtypeid INT PRIMARY KEY,
+  dbservername TEXT NOT NULL,
+  dbsoftware TEXT NOT NULL
+);
+INSERT INTO prdb_types VALUES ('1','pr-db1','mysql');
+CREATE TABLE prweb_vhost (
+  vhostid SERIAL PRIMARY KEY, 
+  vhost_name TEXT,        
+  docdir TEXT,
+  cgidir TEXT,	
+  group_id INT NOT NULL
+);
+CREATE INDEX idx_vhost_groups ON prweb_vhost (group_id);
+CREATE UNIQUE INDEX idx_vhost_hostnames ON prweb_vhost(vhost_name);
+
+-- 20010206
+ALTER TABLE db_images ADD COLUMN upload_date int NOT NULL;
+ALTER TABLE db_images ADD COLUMN version int NOT NULL;
+CREATE UNIQUE INDEX usergroup_uniq_groupid_userid ON user_group(group_id,user_id);
+
+-- 20010301
+-- \connect - www
+-- CREATE TABLE "kernel_traffic" (
+--   "kt_id" serial primary key,
+--   "kt_data" text,
+--   CONSTRAINT "kernel_traffic_pkey" PRIMARY KEY ("kt_id")
+-- );
+
+-----
+
+-- artifact-man
+ALTER TABLE user_preferences RENAME COLUMN preference_value TO dead1;
+ALTER TABLE user_preferences ADD COLUMN preference_value TEXT;
+UPDATE user_preferences SET preference_value=dead1;
+UPDATE user_preferences SET dead1='';
+ALTER TABLE user_group ADD COLUMN artifact_flags INT NOT NULL DEFAULT 0;
+UPDATE user_group SET artifact_flags=0;
+CREATE TABLE artifact_group_list (
+  group_artifact_id serial primary key,
+  group_id int not null,
+  name text,
+  description text,
+  is_public int not null default 0,
+  allow_anon int not null default 0,
+  email_all_updates int not null default 0,
+  email_address text not null,
+  due_period int not null default 2592000,
+  use_resolution int not null default 0,
+  submit_instructions text,
+  browse_instructions text,
+  datatype int not null default 0
+);
+CREATE INDEX artgrouplist_groupid on artifact_group_list (group_id);
+CREATE INDEX artgrouplist_groupid_public on artifact_group_list (group_id,is_public);
+CREATE TABLE artifact_resolution (
+  id serial primary key,
+  resolution_name text
+);
+INSERT INTO artifact_resolution SELECT * FROM bug_resolution;
+CREATE TABLE artifact_perm (
+  id serial primary key,
+  group_artifact_id int not null,
+  user_id int not null,
+  perm_level int not null DEFAULT 0
+);
+CREATE INDEX artperm_groupartifactid on artifact_perm (group_artifact_id);
+CREATE UNIQUE INDEX artperm_groupartifactid_userid on artifact_perm (group_artifact_id,user_id);
+CREATE VIEW artifactperm_user_vw AS 
+SELECT ap.id, ap.group_artifact_id, ap.user_id, ap.perm_level, users.user_name, users.realname
+	FROM artifact_perm ap, users 
+	WHERE users.user_id=ap.user_id;
+CREATE VIEW artifactperm_artgrouplist_vw AS
+SELECT agl.group_artifact_id,agl.name,agl.description,agl.group_id,ap.user_id, ap.perm_level
+FROM artifact_perm ap, artifact_group_list agl
+WHERE ap.group_artifact_id=agl.group_artifact_id;
+CREATE TABLE artifact_category (
+  id serial primary key,
+  group_artifact_id int NOT NULL,
+  category_name text NOT NULL,
+  auto_assign_to int not null DEFAULT 100
+);
+CREATE INDEX artcategory_groupartifactid on artifact_category (group_artifact_id);
+CREATE TABLE artifact_group (
+  id serial primary key,
+  group_artifact_id int NOT NULL,
+  group_name text NOT NULL
+);
+CREATE INDEX artgroup_groupartifactid on artifact_group (group_artifact_id);
+CREATE TABLE artifact_status (
+  id serial primary key,
+  status_name text NOT NULL
+);
+CREATE TABLE artifact (
+  artifact_id serial primary key,
+  group_artifact_id int NOT NULL,
+  status_id int DEFAULT '1' NOT NULL,
+  category_id int DEFAULT '100' NOT NULL,
+  artifact_group_id int DEFAULT '0' NOT NULL,
+  resolution_id int not null default '100',
+  priority int DEFAULT '5' NOT NULL,
+  submitted_by int DEFAULT '100' NOT NULL,
+  assigned_to int DEFAULT '100' NOT NULL,
+  open_date int DEFAULT '0' NOT NULL,
+  close_date int DEFAULT '0' NOT NULL,
+  summary text NOT NULL,
+  details text NOT NULL
+);
+CREATE INDEX art_groupartid ON artifact (group_artifact_id);
+CREATE INDEX art_groupartid_statusid ON artifact (group_artifact_id,status_id);
+CREATE INDEX art_groupartid_assign ON artifact (group_artifact_id,assigned_to);
+CREATE INDEX art_groupartid_submit ON artifact (group_artifact_id,submitted_by);
+CREATE INDEX art_submit_status ON artifact(submitted_by,status_id);
+CREATE INDEX art_assign_status ON artifact(assigned_to,status_id);
+CREATE INDEX art_groupartid_artifactid ON artifact (group_artifact_id,artifact_id);
+CREATE VIEW artifact_vw AS
+SELECT 
+artifact.*,
+u.user_name AS assigned_unixname,
+u.realname AS assigned_realname,
+u.email AS assigned_email,
+u2.user_name AS submitted_unixname,
+u2.realname AS submitted_realname,
+u2.email AS submitted_email,
+artifact_status.status_name, 
+artifact_category.category_name, 
+artifact_group.group_name, 
+artifact_resolution.resolution_name 
+FROM 
+users u, users u2, artifact, artifact_status, artifact_category, artifact_group, artifact_resolution
+WHERE 
+artifact.assigned_to=u.user_id
+AND artifact.submitted_by=u2.user_id
+AND artifact.status_id=artifact_status.id 
+AND artifact.category_id=artifact_category.id 
+AND artifact.artifact_group_id=artifact_group.id
+AND artifact.resolution_id=artifact_resolution.id;
+CREATE TABLE artifact_history (
+  id serial primary key,
+  artifact_id int DEFAULT '0' NOT NULL,
+  field_name text DEFAULT '' NOT NULL,
+  old_value text DEFAULT '' NOT NULL,
+  mod_by int DEFAULT '0' NOT NULL,
+  entrydate int DEFAULT '0' NOT NULL
+);
+CREATE INDEX arthistory_artid on artifact_history(artifact_id);
+CREATE INDEX arthistory_artid_entrydate on artifact_history(artifact_id,entrydate);
+CREATE VIEW artifact_history_user_vw AS
+SELECT ah.id, ah.artifact_id, ah.field_name, ah.old_value, ah.entrydate, users.user_name 
+FROM artifact_history ah, users 
+WHERE ah.mod_by=users.user_id; 
+CREATE TABLE artifact_file (
+  id serial primary key,
+  artifact_id int NOT NULL,
+  description text NOT NULL,
+  bin_data text NOT NULL,
+  filename text NOT NULL,
+  filesize int NOT NULL,
+  filetype text NOT NULL,
+  adddate int not null DEFAULT '0',
+  submitted_by int not null
+);
+CREATE INDEX artfile_artid on artifact_file(artifact_id);
+CREATE INDEX artfile_artid_adddate on artifact_file(artifact_id,adddate);
+CREATE VIEW artifact_file_user_vw AS
+SELECT af.id, af.artifact_id, af.description, af.bin_data, af.filename, af.filesize, af.filetype, 
+	af.adddate, af.submitted_by, users.user_name, users.realname
+FROM artifact_file af,users 
+WHERE af.submitted_by=users.user_id;
+CREATE TABLE artifact_message (
+  id serial primary key,
+  artifact_id int NOT NULL,
+  submitted_by int not null,
+  from_email text NOT NULL,
+  adddate int DEFAULT '0' NOT NULL,
+  body text NOT NULL
+);
+CREATE INDEX artmessage_artid on artifact_message(artifact_id);
+CREATE INDEX artmessage_artid_adddate on artifact_message(artifact_id,adddate);
+CREATE VIEW artifact_message_user_vw AS
+SELECT am.id, am.artifact_id, am.from_email, am.body, am.adddate, 
+users.user_id, users.email, users.user_name, users.realname
+FROM artifact_message am,users 
+WHERE am.submitted_by=users.user_id;
+CREATE TABLE artifact_monitor (
+id serial primary key,
+artifact_id int NOT NULL,
+user_id int not null,
+email text
+);
+CREATE INDEX artmonitor_artifactid on artifact_monitor(artifact_id);
+
+ALTER TABLE artifact_monitor ADD CONSTRAINT artifactmonitor_artifactid_fk
+        FOREIGN KEY (artifact_id) REFERENCES artifact(artifact_id) MATCH FULL;
+INSERT INTO artifact_group_list VALUES (100,1,'Default','Default Data - Dont Edit',3,0,0,'0',0);
+INSERT INTO artifact_category VALUES (100,100,'None',100);
+INSERT INTO artifact_group VALUES (100,100,'None');
+INSERT INTO artifact_status VALUES (1,'Open');
+INSERT INTO artifact_status VALUES (2,'Closed');
+INSERT INTO artifact_status VALUES (3,'Deleted');
+CREATE TABLE artifact_canned_responses (
+  id serial primary key,
+  group_artifact_id int NOT NULL,
+  title text NOT NULL,
+  body text NOT NULL
+);
+
+CREATE INDEX artifactcannedresponses_groupid ON artifact_canned_responses (group_artifact_id);
+
+CREATE TABLE artifact_counts_agg (
+group_artifact_id int not null,
+count int not null
+);
+CREATE INDEX artifactcountsagg_groupartid ON artifact_counts_agg(group_artifact_id);
+----- TODO
+-- Re-enable this when the "stats" account exists
+-----
+-- GRANT SELECT ON 
+-- artifact,
+-- artifact_group_list
+-- TO stats;
+
+-- artifact-conversion
+UPDATE groups SET bug_due_period='2592000' WHERE bug_due_period is null;
+INSERT INTO artifact_group_list 
+(group_artifact_id,group_id,name,description,is_public,
+allow_anon,email_all_updates,email_address,due_period,use_resolution,datatype)
+SELECT group_id+100000,group_id,'Bugs','Bug Tracking System',use_bugs,
+1,send_all_bugs,new_bug_address,bug_due_period,1,1 
+FROM groups 
+WHERE status != 'I' AND status != 'P'
+ORDER BY group_id ASC;
+INSERT INTO artifact_perm
+(group_artifact_id,user_id,perm_level)
+SELECT group_id+100000,user_id,bug_flags 
+FROM user_group;
+INSERT INTO artifact_group (id,group_artifact_id,group_name)
+SELECT bug_group_id+100000,group_id+100000,group_name FROM bug_group;
+INSERT INTO artifact_category (id,group_artifact_id,category_name,auto_assign_to)
+SELECT bug_category_id+100000,group_id+100000,category_name,100 FROM bug_category;
+UPDATE bug SET status_id=1 WHERE status_id=100;
+INSERT INTO bug_status (status_id,status_name) VALUES (2,'Open');
+UPDATE bug SET status_id=2 WHERE status_id=3;
+DELETE FROM bug_status WHERE status_id=3;
+UPDATE bug SET close_date=0 WHERE close_date is NULL;
+INSERT INTO artifact 
+(artifact_id,group_artifact_id,status_id,category_id,artifact_group_id,priority,
+submitted_by,assigned_to,open_date,close_date,summary,details,resolution_id)
+SELECT 
+bug_id+100000,group_id+100000,status_id,category_id+100000,bug_group_id+100000,priority,
+submitted_by,assigned_to,date,close_date,summary,details,resolution_id 
+FROM bug WHERE summary is not null
+ORDER BY group_id ASC;
+-- UPDATE bug_history SET old_value=1 WHERE old_value='100' AND field_name='status_id';
+UPDATE bug_history SET old_value=2 WHERE old_value='3' AND field_name='status_id';
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+bug_id+100000,field_name,old_value,mod_by,date
+FROM bug_history
+WHERE field_name IN ('summary','resolution_id','priority','group_id','close_date','assigned_to','status_id');
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+bug_id+100000,'artifact_group_id',(old_value::int)+100000,mod_by,date
+FROM bug_history
+WHERE field_name='bug_group_id';
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+bug_id+100000,field_name,(old_value::int)+100000,mod_by,date
+FROM bug_history
+WHERE field_name='category_id';
+INSERT INTO artifact_message
+(artifact_id,submitted_by,from_email,adddate,body)
+SELECT
+bh.bug_id+100000,bh.mod_by,users.email,bh.date,bh.old_value
+FROM bug_history bh, users
+WHERE bh.mod_by=users.user_id
+AND bh.field_name='details';
+delete from bug_canned_responses where title is null;
+INSERT INTO artifact_canned_responses
+(group_artifact_id,title,body)
+SELECT
+group_id+100000,title,body
+FROM bug_canned_responses
+WHERE group_id > 0;
+UPDATE groups SET support_due_period='2592000' WHERE support_due_period is null;
+INSERT INTO artifact_group_list 
+(group_artifact_id,group_id,name,description,is_public,
+allow_anon,email_all_updates,email_address,due_period,use_resolution,datatype)
+SELECT group_id+200000,group_id,'Support Requests','Tech Support Tracking System',use_support,
+1,send_all_support,new_support_address,support_due_period,0,2 
+FROM groups  
+WHERE status != 'I' AND status != 'P'
+ORDER BY group_id ASC;
+INSERT INTO artifact_perm
+(group_artifact_id,user_id,perm_level)
+SELECT group_id+200000,user_id,support_flags
+FROM user_group;
+INSERT INTO artifact_category (id,group_artifact_id,category_name,auto_assign_to)
+SELECT support_category_id+200000,group_id+200000,category_name,100 FROM support_category;
+DELETE FROM support WHERE NOT EXISTS 
+(SELECT group_id FROM groups WHERE support.group_id=groups.group_id);
+INSERT INTO artifact
+(artifact_id,group_artifact_id,status_id,category_id,artifact_group_id,priority,
+submitted_by,assigned_to,open_date,close_date,summary,details,resolution_id)
+SELECT 
+support_id+200000,group_id+200000,support_status_id,support_category_id+200000,100,priority,
+submitted_by,assigned_to,open_date,close_date,summary,'',100
+FROM support
+ORDER BY group_id ASC;
+DELETE FROM support_history WHERE support_id=0;
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+support_id+200000,field_name,old_value,mod_by,date
+FROM support_history
+WHERE
+field_name IN ('summary','priority','close_date','assigned_to');
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+support_id+200000,'category_id',(old_value::int)+200000,mod_by,date
+FROM support_history
+WHERE
+field_name='support_category_id';
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+support_id+200000,'status_id',old_value,mod_by,date
+FROM support_history
+WHERE
+field_name='support_status_id';
+DELETE FROM support_messages WHERE NOT EXISTS
+(SELECT support_id FROM support WHERE support.support_id=support_messages.support_id);
+INSERT INTO artifact_message
+(artifact_id,submitted_by,from_email,adddate,body)
+SELECT
+support_id+200000,100,from_email,date,body
+FROM support_messages;
+INSERT INTO artifact_canned_responses
+(group_artifact_id,title,body)
+SELECT
+group_id+200000,title,body
+FROM support_canned_responses 
+WHERE group_id > 0;
+UPDATE groups SET patch_due_period='2592000' WHERE patch_due_period is null;
+INSERT INTO artifact_group_list  
+(group_artifact_id,group_id,name,description,is_public,
+allow_anon,email_all_updates,email_address,due_period,use_resolution,datatype)
+SELECT group_id+300000,group_id,'Patches','Patch Tracking System',use_patch,
+1,send_all_patches,new_patch_address,patch_due_period,1,3 
+FROM groups  
+WHERE status != 'I' AND status != 'P'
+ORDER BY group_id ASC;
+INSERT INTO artifact_perm
+(group_artifact_id,user_id,perm_level)
+SELECT group_id+300000,user_id,patch_flags
+FROM user_group;
+INSERT INTO artifact_category (id,group_artifact_id,category_name,auto_assign_to)
+SELECT patch_category_id+300000,group_id+300000,category_name,100 FROM patch_category;
+ALTER TABLE patch ADD COLUMN resolution_id INT NOT NULL DEFAULT 100;
+UPDATE patch SET resolution_id=patch_status_id;
+-- vacuum analyze patch;
+update patch set patch_status_id=2 where patch_status_id > 3;
+update patch set resolution_id=100 WHERE resolution_id < 4;
+INSERT INTO artifact_resolution VALUES (102,'Accepted');
+INSERT INTO artifact_resolution VALUES (103,'Out of Date');
+INSERT INTO artifact_resolution VALUES (104,'Postponed');
+INSERT INTO artifact_resolution VALUES (105,'Rejected');
+update patch set resolution_id=104 WHERE resolution_id=4;
+update patch set resolution_id=105 WHERE resolution_id=101;
+delete from patch where patch_id=100000;
+UPDATE patch SET details=' ' WHERE details is null;
+
+INSERT INTO artifact
+(artifact_id,group_artifact_id,status_id,category_id,artifact_group_id,priority,
+submitted_by,assigned_to,open_date,close_date,summary,details,resolution_id)
+SELECT
+patch_id+300000,group_id+300000,patch_status_id,patch_category_id+300000,100,5,
+submitted_by,assigned_to,open_date,close_date,summary,details,resolution_id
+FROM patch
+WHERE summary is not null
+ORDER BY group_id ASC;
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+patch_id+300000,field_name,old_value,mod_by,date
+FROM patch_history
+WHERE field_name IN ('summary','close_date','assigned_to','Patch Code');
+
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+patch_id+300000,'status_id',old_value,mod_by,date
+FROM patch_history
+WHERE field_name='patch_status_id';
+
+INSERT INTO artifact_history
+(artifact_id,field_name,old_value,mod_by,entrydate)
+SELECT
+patch_id+300000,'category_id',(old_value::int)+300000,mod_by,date
+FROM patch_history
+WHERE field_name='patch_category_id';
+INSERT INTO artifact_message
+(artifact_id,submitted_by,from_email,adddate,body)
+SELECT
+ph.patch_id+300000,ph.mod_by,users.email,ph.date,ph.old_value
+FROM patch_history ph, users
+WHERE ph.mod_by=users.user_id
+AND ph.field_name='details';
+
+INSERT INTO artifact_file
+(artifact_id,description,bin_data,filename,filesize,filetype,adddate,submitted_by)
+SELECT patch_id+300000,'None',code,'None',length(code),'text/plain',open_date,submitted_by
+FROM patch 
+WHERE code IS NOT NULL;
+
+INSERT INTO artifact_counts_agg
+SELECT group_artifact_id,count(*)
+FROM artifact
+WHERE status_id <> 3
+GROUP BY group_artifact_id;
+
+INSERT INTO artifact_group_list
+(group_artifact_id,group_id,name,description,is_public,
+allow_anon,email_all_updates,email_address,due_period,use_resolution,datatype)
+SELECT group_id+350000,group_id,'Feature Requests','Feature Request Tracking System',1,
+1,0,'',45*24*60*60,0,4 
+FROM groups  
+WHERE status != 'I' AND status != 'P'
+ORDER BY group_id ASC;
+
+-- vacuum analyze artifact_perm;
+-- vacuum analyze artifact_group_list;
+-- vacuum analyze artifact;
+-- vacuum analyze artifact_history;
+-- vacuum analyze artifact_category;
+-- vacuum analyze artifact_group;
+-- vacuum analyze artifact_file;
+-- vacuum analyze artifact_message;
+
+-- artifact-fkeys
+ALTER TABLE artifact_group_list ADD CONSTRAINT artifactgroup_groupid_fk 
+	FOREIGN KEY (group_id) REFERENCES groups(group_id) MATCH FULL;
+
+ALTER TABLE artifact_perm ADD CONSTRAINT artifactperm_userid_fk 
+        FOREIGN KEY (user_id) REFERENCES users(user_id) MATCH FULL;
+DELETE from artifact_perm 
+	where not exists (select group_artifact_id 
+	from artifact_group_list 
+	where artifact_perm.group_artifact_id=artifact_group_list.group_artifact_id);
+ALTER TABLE artifact_perm ADD CONSTRAINT artifactperm_groupartifactid_fk 
+        FOREIGN KEY (group_artifact_id) REFERENCES artifact_group_list(group_artifact_id) MATCH FULL;
+
+ALTER TABLE artifact_category ADD CONSTRAINT artifactcategory_groupartifactid_fk
+        FOREIGN KEY (group_artifact_id) REFERENCES artifact_group_list(group_artifact_id) MATCH FULL;
+ALTER TABLE artifact_category ADD CONSTRAINT artifactcategory_autoassignto_fk
+        FOREIGN KEY (auto_assign_to) REFERENCES users(user_id) MATCH FULL;
+
+ALTER TABLE artifact_group ADD CONSTRAINT artifactgroup_groupartifactid_fk
+        FOREIGN KEY (group_artifact_id) REFERENCES artifact_group_list(group_artifact_id) MATCH FULL;
+
+ALTER TABLE artifact ADD CONSTRAINT artifact_groupartifactid_fk
+        FOREIGN KEY (group_artifact_id) REFERENCES artifact_group_list(group_artifact_id) MATCH FULL;
+ALTER TABLE artifact ADD CONSTRAINT artifact_statusid_fk
+        FOREIGN KEY (status_id) REFERENCES artifact_status(id) MATCH FULL;
+ALTER TABLE artifact ADD CONSTRAINT artifact_categoryid_fk
+        FOREIGN KEY (category_id) REFERENCES artifact_category(id) MATCH FULL;
+ALTER TABLE artifact ADD CONSTRAINT artifact_artifactgroupid_fk
+        FOREIGN KEY (artifact_group_id) REFERENCES artifact_group(id) MATCH FULL;
+ALTER TABLE artifact ADD CONSTRAINT artifact_submittedby_fk
+        FOREIGN KEY (submitted_by) REFERENCES users(user_id) MATCH FULL;
+ALTER TABLE artifact ADD CONSTRAINT artifact_assignedto_fk
+        FOREIGN KEY (assigned_to) REFERENCES users(user_id) MATCH FULL;
+ALTER TABLE artifact ADD CONSTRAINT artifact_resolutionid_fk
+        FOREIGN KEY (resolution_id) REFERENCES artifact_resolution(id) MATCH FULL;
+
+DELETE FROM artifact_history WHERE NOT EXISTS
+	(SELECT artifact_id FROM artifact WHERE artifact.artifact_id=artifact_history.artifact_id);
+ALTER TABLE artifact_history ADD CONSTRAINT artifacthistory_artifactid_fk
+        FOREIGN KEY (artifact_id) REFERENCES artifact(artifact_id) MATCH FULL;
+ALTER TABLE artifact_history ADD CONSTRAINT artifacthistory_modby_fk
+        FOREIGN KEY (mod_by) REFERENCES users(user_id) MATCH FULL;
+
+ALTER TABLE artifact_file ADD CONSTRAINT artifactfile_artifactid_fk
+        FOREIGN KEY (artifact_id) REFERENCES artifact(artifact_id) MATCH FULL;
+ALTER TABLE artifact_file ADD CONSTRAINT artifactfile_submittedby_fk
+        FOREIGN KEY (submitted_by) REFERENCES users(user_id) MATCH FULL;
+
+ALTER TABLE artifact_message ADD CONSTRAINT artifactmessage_artifactid_fk
+        FOREIGN KEY (artifact_id) REFERENCES artifact(artifact_id) MATCH FULL;
+ALTER TABLE artifact_message ADD CONSTRAINT artifactmessage_submittedby_fk
+        FOREIGN KEY (submitted_by) REFERENCES users(user_id) MATCH FULL;
+
+ALTER TABLE artifact_monitor ADD CONSTRAINT artifactmonitor_artifactid_fk
+        FOREIGN KEY (artifact_id) REFERENCES artifact(artifact_id) MATCH FULL;
+
+SELECT setval('artifact_grou_group_artifac_seq',(SELECT max(group_artifact_id) FROM artifact_group_list));
+--SELECT setval('artifact_perm_id_seq',(SELECT max(id) FROM artifact_perm));
+SELECT setval('artifact_category_id_seq',(SELECT max(id) FROM artifact_category));
+SELECT setval('artifact_group_id_seq',(SELECT max(id) FROM artifact_group));
+--SELECT setval('artifact_status_id_seq',(SELECT max(id) FROM artifact_status));
+SELECT setval('artifact_artifact_id_seq',(SELECT max(artifact_id) FROM artifact));
+--SELECT setval('artifact_history_id_seq',(SELECT max(id) FROM artifact_history));
+--SELECT setval('artifact_file_id_seq',(SELECT max(id) FROM artifact_file));
+--SELECT setval('artifact_message_id_seq',(SELECT max(id) FROM artifact_message));
+--SELECT setval('artifact_monitor_id_seq',(SELECT max(id) FROM artifact_monitor));
+
+----- TODO
+-- Here should go something to the effect of artifact-convert-files.php
+-- I think it is possible to run it after everything else, so maybe there
+-- is no need to run this script just here.
+-----
+
+-- 20010305
+----- TODO
+-- Re-enable the grants once we are sure the "backend" account exists
+-----
+-- CREATE USER backend WITH PASSWORD 'xxxxx' NOCREATEDB NOCREATEUSER;
+-- GRANT SELECT ON prweb_vhost TO backend;
+-- GRANT SELECT,UPDATE ON prdb_dbs TO backend;
+
+DROP SEQUENCE bug_bug_dependencies_pk_seq;
+DROP SEQUENCE bug_canned_responses_pk_seq;
+DROP SEQUENCE bug_category_pk_seq       ;
+DROP SEQUENCE bug_filter_pk_seq         ;
+DROP SEQUENCE bug_group_pk_seq       ;
+DROP SEQUENCE bug_history_pk_seq    ;
+DROP SEQUENCE bug_pk_seq            ;
+DROP SEQUENCE bug_resolution_pk_seq  ;
+DROP SEQUENCE bug_status_pk_seq      ;
+DROP SEQUENCE bug_task_dependencies_pk_seq ;
+DROP SEQUENCE patch_category_pk_seq   ;
+DROP SEQUENCE patch_history_pk_seq    ;
+DROP SEQUENCE patch_pk_seq            ;
+DROP SEQUENCE patch_status_pk_seq     ;
+DROP SEQUENCE support_canned_responses_pk_seq;
+DROP SEQUENCE support_category_pk_seq   ;
+DROP SEQUENCE support_history_pk_seq    ;
+DROP SEQUENCE support_messages_pk_seq   ;
+DROP SEQUENCE support_pk_seq            ;
+DROP SEQUENCE support_status_pk_seq     ;
+
+DROP TABLE bug                 ;
+DROP TABLE bug_bug_dependencies  ;
+DROP TABLE bug_canned_responses  ;
+DROP TABLE bug_category          ;
+DROP TABLE bug_filter            ;
+DROP TABLE bug_group             ;
+DROP TABLE bug_history           ;
+DROP TABLE bug_resolution        ;
+DROP TABLE bug_status            ;
+DROP TABLE bug_task_dependencies ;
+DROP TABLE patch                 ;
+DROP TABLE patch_category        ;
+DROP TABLE patch_history         ;
+DROP TABLE patch_status          ;
+DROP TABLE support               ;
+DROP TABLE support_canned_responses ;
+DROP TABLE support_category         ;
+DROP TABLE support_history          ;
+DROP TABLE support_messages         ;
+DROP TABLE support_status           ;
+
+alter table groups rename column use_bugs to dead1;
+alter table groups rename column use_patch to dead2;
+alter table groups rename column use_support to dead3;
+alter table groups rename column new_bug_address to dead4;
+alter table groups rename column new_patch_address to dead5;
+alter table groups rename column new_support_address to dead6;
+alter table groups rename column send_all_bugs to dead7;
+alter table groups rename column send_all_patches to dead8;
+alter table groups rename column send_all_support to dead9;
+alter table groups rename column use_bug_depend_box to dead10;
+alter table groups rename column bug_due_period to dead11;
+alter table groups rename column patch_due_period to dead12;
+alter table groups rename column support_due_period to dead13;
+
+drop index groups_unix; 
+create unique index group_unix_uniq on groups (unix_group_name);
+
+-- 20010313
+create unique index users_namename_uniq on users(user_name);
+DROP INDEX user_user;
+DROP INDEX idx_users_username;
+-- CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE AS '/usr/local/pgsql/lib/plpgsql.so' LANGUAGE 'C';
+-- CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL';
+CREATE FUNCTION forumgrouplist_insert_agg () RETURNS OPAQUE AS '
+BEGIN
+        INSERT INTO forum_agg_msg_count (group_forum_id,count) \
+                VALUES (NEW.group_forum_id,0);
+        RETURN NEW;
+END;    
+' LANGUAGE 'plpgsql';
+CREATE TRIGGER forumgrouplist_insert_trig AFTER INSERT ON forum_group_list
+        FOR EACH ROW EXECUTE PROCEDURE forumgrouplist_insert_agg();
+CREATE RULE forum_insert_agg AS
+    ON INSERT TO forum
+    DO UPDATE forum_agg_msg_count SET count=count+1
+        WHERE group_forum_id=new.group_forum_id;
+CREATE RULE forum_delete_agg AS
+    ON DELETE TO forum
+    DO UPDATE forum_agg_msg_count SET count=count-1
+        WHERE group_forum_id=old.group_forum_id;
+ALTER TABLE artifact_counts_agg ADD COLUMN open_count int;
+CREATE FUNCTION artifactgrouplist_insert_agg () RETURNS OPAQUE AS '
+BEGIN
+	INSERT INTO artifact_counts_agg (group_artifact_id,count,open_count) \
+		VALUES (NEW.group_artifact_id,0,0);
+        RETURN NEW;
+END;    
+' LANGUAGE 'plpgsql';
+
+CREATE TRIGGER artifactgrouplist_insert_trig AFTER INSERT ON artifact_group_list
+        FOR EACH ROW EXECUTE PROCEDURE artifactgrouplist_insert_agg();
+CREATE RULE artifact_insert_agg AS
+	ON INSERT TO artifact
+	DO UPDATE artifact_counts_agg SET count=count+1,open_count=open_count+1 
+		WHERE group_artifact_id=new.group_artifact_id;
+-- drop TRIGGER artifactgroup_update_trig ON artifact;
+-- drop function artifactgroup_update_agg();
+
+CREATE FUNCTION artifactgroup_update_agg () RETURNS OPAQUE AS '
+BEGIN
+	--
+	-- see if they are moving to a new artifacttype
+	-- if so, its a more complex operation
+	--
+	IF NEW.group_artifact_id <> OLD.group_artifact_id THEN
+		--
+		-- transferred artifacts always have a status of 1
+		-- so we will increment the new artifacttypes sums
+		--
+		UPDATE artifact_counts_agg SET count=count+1, open_count=open_count+1 \
+			WHERE group_artifact_id=NEW.group_artifact_id;
+
+		--
+		--	now see how to increment/decrement the old types sums
+		--
+		IF NEW.status_id <> OLD.status_id THEN 
+			IF OLD.status_id = 2 THEN
+				UPDATE artifact_counts_agg SET count=count-1 \
+					WHERE group_artifact_id=OLD.group_artifact_id;
+			--
+			--	no need to do anything if it was in deleted status
+			--
+			END IF;
+		ELSE
+			--
+			--	Was already in open status before
+			--
+			UPDATE artifact_counts_agg SET count=count-1, open_count=open_count-1 \
+				WHERE group_artifact_id=OLD.group_artifact_id;
+		END IF;
+	ELSE
+		--
+		-- just need to evaluate the status flag and 
+		-- increment/decrement the counter as necessary
+		--
+		IF NEW.status_id <> OLD.status_id THEN
+			IF new.status_id = 1 THEN
+				UPDATE artifact_counts_agg SET open_count=open_count+1 \
+					WHERE group_artifact_id=new.group_artifact_id;
+			ELSE 
+				IF new.status_id = 2 THEN
+					UPDATE artifact_counts_agg SET open_count=open_count-1 \
+						WHERE group_artifact_id=new.group_artifact_id;
+				ELSE 
+					IF new.status_id = 3 THEN
+						UPDATE artifact_counts_agg SET open_count=open_count-1,count=count-1 \
+							WHERE group_artifact_id=new.group_artifact_id;
+					END IF;
+				END IF;
+			END IF;
+		END IF;	
+	END IF;
+	RETURN NEW;
+END;
+' LANGUAGE 'plpgsql';
+CREATE TRIGGER artifactgroup_update_trig AFTER UPDATE ON artifact
+	FOR EACH ROW EXECUTE PROCEDURE artifactgroup_update_agg();
+
+-- 20010317
+CREATE TABLE massmail_queue (
+  id serial primary key,
+  type varchar(8) not null,
+  subject text not null,
+  message text not null,
+  queued_date int not null,
+  last_userid int not null default 0,
+  failed_date int not null default 0,
+  finished_date int not null default 0
+);
+
+-- 20010409
+-- drop table stats_project_build_tmp;
+drop table tmp_projs_releases_tmp;
+delete from stats_project where day is null or week is null;
+drop table stats_project_tmp;
+-- drop table topproj_admins;
+DROP TABLE frs_dlstats_agg;
+DROP TABLE frs_dlstats_filetotal_agg_old;
+DROP TABLE stats_agg_pages_by_browser;
+DROP TABLE stats_agg_pages_by_day_old;
+DROP TABLE stats_agr_filerelease;
+DROP TABLE stats_agr_project;
+DROP TABLE group_cvs_history;
+DROP TABLE project_counts_tmp;
+CREATE TABLE frs_dlstats_file_agg_tmp AS
+SELECT
+	substring(day::text from 1 for 6)::int AS month,
+	substring(day::text from 7 for 2)::int AS day,
+	file_id,
+	downloads
+	from frs_dlstats_file_agg;
+
+DROP TABLE frs_dlstats_file_agg;
+ALTER TABLE frs_dlstats_file_agg_tmp RENAME TO frs_dlstats_file_agg;
+CREATE UNIQUE INDEX frsdlfileagg_month_day_file ON frs_dlstats_file_agg(month,day,file_id);
+drop index httpdl_fid;
+drop index httpdl_group_id;
+create index statshttpdl_day_fileid ON stats_http_downloads(day,filerelease_id);
+drop index ftpdl_fid;
+drop index ftpdl_group_id;
+create index statsftpdl_day_fileid ON stats_ftp_downloads(day,filerelease_id);
+CREATE TABLE stats_project_metric (
+month int not null default 0,
+day int not null default 0,
+ranking int not null default 0,
+precentile float not null default 0,
+group_id int not null default 0
+);
+-- copy stats_project_metric from '/tmp/stats_project_metric.dump';
+CREATE UNIQUE INDEX statsprojectmetric_month_day_group ON stats_project_metric(month,day,group_id);
+CREATE TABLE stats_agg_site_by_group_tmp AS
+SELECT 
+	substring(day::text from 1 for 6)::int AS month, 
+	substring(day::text from 7 for 2)::int AS day, 
+	group_id,
+	count
+	from stats_agg_site_by_group ;
+
+DROP TABLE stats_agg_site_by_group;
+ALTER TABLE stats_agg_site_by_group_tmp RENAME TO stats_agg_site_by_group;
+
+DROP TABLE stats_agg_site_by_day;
+
+CREATE UNIQUE INDEX statssitebygroup_month_day_group ON stats_agg_site_by_group(month,day,group_id);
+CREATE TABLE stats_agg_logo_by_group_tmp AS
+SELECT	   
+	substring(day::text from 1 for 6)::int AS month,
+	substring(day::text from 7 for 2)::int AS day,
+	group_id,
+	count 
+	from stats_agg_logo_by_group ;
+
+DROP TABLE stats_agg_logo_by_group;
+ALTER TABLE stats_agg_logo_by_group_tmp RENAME TO stats_agg_logo_by_group;
+
+CREATE UNIQUE INDEX statslogobygroup_month_day_group ON stats_agg_logo_by_group(month,day,group_id);
+create table stats_subd_pages (
+month INT NOT NULL DEFAULT 0,
+day INT NOT NULL DEFAULT 0,
+group_id INT NOT NULL DEFAULT 0,
+pages INT NOT NULL DEFAULT 0
+);
+INSERT INTO stats_subd_pages
+SELECT month,day,group_id,subdomain_views 
+FROM stats_project WHERE subdomain_views > 0;
+
+CREATE UNIQUE INDEX statssubdpages_month_day_group ON stats_subd_pages(month,day,group_id);
+
+
+create table stats_cvs_user (
+month INT NOT NULL DEFAULT 0,
+day INT NOT NULL DEFAULT 0,
+group_id INT NOT NULL DEFAULT 0,
+user_id INT NOT NULL DEFAULT 0,
+checkouts INT NOT NULL DEFAULT 0,
+commits INT NOT NULL DEFAULT 0,
+adds INT NOT NULL DEFAULT 0
+);
+create table stats_cvs_group (
+month INT NOT NULL DEFAULT 0,
+day INT NOT NULL DEFAULT 0,
+group_id INT NOT NULL DEFAULT 0,
+checkouts INT NOT NULL DEFAULT 0,
+commits INT NOT NULL DEFAULT 0,
+adds INT NOT NULL DEFAULT 0
+);
+INSERT INTO stats_cvs_group 
+SELECT month,day,group_id,cvs_checkouts,cvs_commits,cvs_adds 
+FROM stats_project 
+WHERE cvs_checkouts > 0 
+OR cvs_commits > 0 
+OR cvs_adds > 0;
+
+CREATE UNIQUE INDEX statscvsgroup_month_day_group ON stats_cvs_group(month,day,group_id);
+DROP INDEX archive_project_day;
+DROP INDEX archive_project_month;
+DROP INDEX archive_project_monthday;
+DROP INDEX archive_project_week;
+DROP INDEX project_log_group;
+create table stats_project_developers (
+month INT NOT NULL DEFAULT 0,
+day INT NOT NULL DEFAULT 0,
+group_id INT NOT NULL DEFAULT 0,
+developers INT NOT NULL DEFAULT 0
+);
+-- COPY stats_project_developers from '/tmp/stats_project_developers';
+CREATE UNIQUE INDEX statsprojectdev_month_day_group ON stats_project_developers(month,day,group_id);
+DROP TABLE stats_project;
+
+create table stats_project (
+month INT NOT NULL DEFAULT 0,
+day INT NOT NULL DEFAULT 0,
+group_id INT NOT NULL DEFAULT 0,
+file_releases INT DEFAULT 0,
+msg_posted INT DEFAULT 0,
+msg_uniq_auth INT DEFAULT 0,
+bugs_opened INT DEFAULT 0,
+bugs_closed INT DEFAULT 0,
+support_opened INT DEFAULT 0,
+support_closed INT DEFAULT 0,
+patches_opened INT DEFAULT 0,
+patches_closed INT DEFAULT 0,
+artifacts_opened INT DEFAULT 0,
+artifacts_closed INT DEFAULT 0,
+tasks_opened INT DEFAULT 0,
+tasks_closed INT DEFAULT 0,
+help_requests INT DEFAULT 0
+);
+-- copy stats_project from '/tmp/stats_project.dump';
+CREATE UNIQUE INDEX statsproject_month_day_group ON stats_project(month,day,group_id);
+CREATE TABLE stats_site_tmp AS 
+SELECT month,day,uniq_users,sessions,total_users,new_users,new_projects 
+FROM stats_site;
+
+DROP TABLE stats_site;
+ALTER TABLE stats_site_tmp RENAME TO stats_site;
+
+CREATE UNIQUE INDEX statssite_month_day on stats_site(month,day);
+----- TODO
+-- Re-enable this once we are sure the "stats" account exists
+-----
+-- GRANT ALL ON stats_cvs_group TO stats;
+-- GRANT ALL ON stats_project TO stats;
+-- GRANT ALL ON stats_subd_pages TO stats;
+
+-- 20010412
+ALTER TABLE groups ADD COLUMN logo_image_id int NOT NULL DEFAULT 100;
+
+-- 20010507
+ALTER TABLE users ADD COLUMN block_ratings int NOT NULL DEFAULT 0;
+
+-- 20010509
+INSERT INTO frs_filetype VALUES (100,'None');
+INSERT INTO frs_processor VALUES (100,'None');
+
+DELETE FROM frs_file
+WHERE NOT EXISTS(
+	SELECT release_id
+	FROM frs_release
+	WHERE frs_file.release_id=frs_release.release_id
+);
+
+UPDATE frs_file
+SET type_id=100
+WHERE NOT EXISTS(
+	SELECT type_id
+	FROM frs_filetype
+	WHERE frs_file.type_id=frs_filetype.type_id
+)
+;
+
+UPDATE frs_file
+SET processor_id=100
+WHERE NOT EXISTS(
+	SELECT processor_id
+	FROM frs_processor
+	WHERE frs_file.processor_id=frs_processor.processor_id
+)
+;
+
+ALTER TABLE frs_file ADD CONSTRAINT frsfile_releaseid_fk
+	FOREIGN KEY (release_id) REFERENCES frs_release(release_id) MATCH FULL;
+ALTER TABLE frs_file ADD CONSTRAINT frsfile_typeid_fk
+	FOREIGN KEY (type_id) REFERENCES frs_filetype(type_id) MATCH FULL;
+ALTER TABLE frs_file ADD CONSTRAINT frsfile_processorid_fk
+	FOREIGN KEY (processor_id) REFERENCES frs_processor(processor_id) MATCH FULL;
+
+ALTER TABLE frs_package ADD CONSTRAINT frspackage_groupid_fk
+	FOREIGN KEY (group_id) REFERENCES groups(group_id) MATCH FULL;
+ALTER TABLE frs_package ADD CONSTRAINT frspackage_statusid_fk
+	FOREIGN KEY (status_id) REFERENCES frs_status(status_id) MATCH FULL;
+
+ALTER TABLE frs_release ADD CONSTRAINT frsrelease_packageid_fk
+	FOREIGN KEY (package_id) REFERENCES frs_package(package_id) MATCH FULL;
+ALTER TABLE frs_release ADD CONSTRAINT frsrelease_statusid_fk
+	FOREIGN KEY (status_id) REFERENCES frs_status(status_id) MATCH FULL;
+ALTER TABLE frs_release ADD CONSTRAINT frsrelease_releasedby_fk
+	FOREIGN KEY (released_by) REFERENCES users(user_id) MATCH FULL;
+
+ALTER TABLE artifact_group_list ADD COLUMN status_timeout integer;
+----- TODO
+-- This command breaks on my installation
+-- Find out why, then fix it
+-----
+-- UPDATE artifact_group_list SET status_timeout='1209600' WHERE status_timeout is NULL;
+
+INSERT INTO artifact_status VALUES('4','Pending');
+
+-- 20010511
+CREATE TABLE user_metric_history(
+month int not null,
+day  int not null,
+user_id int not null,
+ranking int not null,
+metric float not null);
+
+CREATE UNIQUE INDEX user_metric_history_date_userid 
+ON user_metric_history(month,day,user_id);




More information about the evolvis-commits mailing list