[Evolvis-commits] r450: deb-specific/db-upgrade26.pl: Rewrote the SQL parsing state machine so↵ that it 1 . works better, 2. is more readable, 3. knows about comments, ↵ 4 . knows about COPY [...] FROM stdin. ↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 25 14:24:05 CET 2010
Author: mirabilos
Date: 2010-02-25 13:24:04 +0000 (Thu, 25 Feb 2010)
New Revision: 450
Modified:
trunk/gforge_base/evolvisforge/
trunk/gforge_base/evolvisforge/gforge/deb-specific/db-upgrade26.pl
trunk/gforge_base/evolvisforge/gforge/debian/changelog
Log:
deb-specific/db-upgrade26.pl: Rewrote the SQL parsing state machine so
that it 1. works better, 2. is more readable, 3. knows about comments,
4. knows about COPY [...] FROM stdin.
Property changes on: trunk/gforge_base/evolvisforge
___________________________________________________________________
Name: bzr:revision-info
- timestamp: 2001-11-03 21:46:03.000000000 +0000
committer: cbayle
+ timestamp: 2001-11-03 21:51:38.000000000 +0000
committer: lo-lan-do
Name: bzr:file-ids
- gforge/deb-specific/db-upgrade26.pl 221 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fdb-upgrade26.pl
gforge/deb-specific/install-db.sh 203 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Finstall-db.sh
+ gforge/deb-specific/db-upgrade26.pl 221 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdeb-specific%2Fdb-upgrade26.pl
gforge/debian/changelog 7 at 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk%2Fgforge%2Fdebian%2Fchangelog
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
+ 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
Name: bzr:text-parents
- gforge/deb-specific/install-db.sh svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:220
+ gforge/debian/changelog svn-v4:9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:trunk:217
Modified: trunk/gforge_base/evolvisforge/gforge/deb-specific/db-upgrade26.pl
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/deb-specific/db-upgrade26.pl 2010-02-25 13:24:00 UTC (rev 449)
+++ trunk/gforge_base/evolvisforge/gforge/deb-specific/db-upgrade26.pl 2010-02-25 13:24:04 UTC (rev 450)
@@ -1,6 +1,9 @@
#!/usr/bin/perl -w
#
+# $Id$
+#
# Debian-specific script to upgrade the database between releases
+# Roland Mas <lolando at debian.org>
use DBI ;
use strict ;
@@ -154,7 +157,7 @@
# }
# }
# @reqlist = () ;
-
+#
debug "Inserting skills." ;
foreach my $skill (split /;/, $skill_list) {
@@ -288,98 +291,354 @@
# This is a state machine to parse potentially complex SQL files
# into individual SQL requests/statements
+ my %states = ('INIT' => 0,
+ 'SCAN' => 1,
+ 'SQL_SCAN' => 2,
+ 'IN_SQL' => 3,
+ 'END_SQL' => 4,
+ 'QUOTE_SCAN' => 5,
+ 'IN_QUOTE' => 6,
+ 'START_COPY' => 7,
+ 'IN_COPY' => 8,
+ 'ERROR' => 666,
+ 'DONE' => 999) ;
+ my ($state, $l, $par_level, $chunk, $rest, $sql, @sql_list, $copy_table, $copy_rest, @copy_data) ;
+
# Init the state machine
- my ($l, $level, $inquote, $chunk, $rest) ;
- my $sql = "" ;
- my @sql_list = () ;
+ $state = $states{INIT} ;
# my $n = 0 ;
+
+ STATE_LOOP: while ($state != $states{DONE}) { # State machine main loop
+ STATE_SWITCH: { # State machine step processing
+ $state = $states{INIT} && do {
+ $par_level = 0 ;
+ $sql = $chunk = $rest = "" ;
+ @sql_list = () ;
+ $copy_table = $copy_rest = "" ;
+ @copy_data = () ;
+
+ $l = <F> ;
+ unless ($l) {
+ debug "Empty file."
+ $state = $states{DONE} ;
+ last INIT_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ $state = $states{SCAN} ;
+
+ last STATE_SWITCH ;
+ } # End of INIT state
+
+ $state = $states{SCAN} && do {
+ SCAN_STATE_SWITCH: {
+ ( ($l eq "") or ($l =~ /^\s*$/) or ($l =~ /^--/) ) && do {
+ $l = <F> ;
+ unless ($l) {
+ debug "Detected end of file." ;
+ $state = $states{DONE} ;
+ last SCAN_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ $state = $states{SCAN} ;
+ last SCAN_STATE_SWITCH ;
+ }
+
+ ( ($l =~ m/\s*copy\s+\"[\w_]+\"\s+from\s+stdin\s*;/i)
+ or ($l =~ m/\s*copy\s+[\w_]+\s+from\s+stdin\s*;/i) ) && do {
+ # Nothing to do
+
+ $state = $states{START_COPY} ;
+ last SCAN_STATE_SWITCH ;
+ }
- FILELOOP: while ($l = <F>) { # Loop over the file
- chomp $l ;
- $level = 0 ;
- $inquote = 0 ;
- $chunk = "" ;
- $rest = "" ;
-
- PARSELOOP: while (1) { # Parse a request
+ ( 1 ) && do {
+ $sql = "" ;
- while ( ($l eq "")
- or ((! $inquote) and ($l =~ /^\s*$/))
- or ((! $inquote) and ($l =~ /^--/)) ) {
- $l = <F> ;
- if ($l) {
- chomp $l ;
- } else {
- last PARSELOOP ;
- }
- }
- ($chunk, $rest) = ($l =~ /^([^()\\\';]*)(.*)/) ;
- $sql .= $chunk ;
- # debug "level = $level, inquote = $inquote, chunk = <$chunk>, rest = <$rest>, sql = <$sql>";
+ $state = $states{SQL_SCAN} ;
+ last SCAN_STATE_SWITCH ;
+ }
+ die "Unknown event in SCAN state" ;
+ } # SCAN_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # End of SCAN state
+
+ $state = $states{SQL_SCAN} && do {
+ SQL_SCAN_STATE_SWITCH: {
+ ( ($l eq "") or ($l =~ /^\s*$/) or ($l =~ /^--/) ) && do {
+ $l = <F> ;
+ unless ($l) {
+ debug "End of file detected during an SQL statement." ;
- # Here come the state transitions
- SWITCH: {
- if ($rest =~ /^\(/) { # Enter a paren block (unless we're inside a string)
- $level += 1 unless $inquote ;
- $sql .= '(' ;
- $rest = substr $rest, 1 ;
- last SWITCH;
- }
- if ($rest =~ /^\)/) { # Exit a paren block (unless we're inside a string)
- $level -= 1 unless $inquote ;
- $sql .= ')' ;
- $rest = substr $rest, 1 ;
- last SWITCH;
- }
- if ($rest =~ /^\\\'/) { # Escaped single quote
- if (!$inquote) {
- debug "Encountered a \' sequence outside of a string." ;
- debug "This really shouldn't have happened." ;
- debug "I find it more prudent to just die now." ;
- die "\' outside of a string -- check SQL file" ;
+ $state = $states{ERROR} ;
+ last SQL_SCAN_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ $state = $states{SQL_SCAN} ;
+ last SQL_SCAN_STATE_SWITCH ;
}
- $sql .= '\\\'' ;
- $rest = substr $rest, 2 ;
- last SWITCH;
- }
- if ($rest =~ /^\\/) { # Other backslash is a normal character
- $sql .= '\\' ;
- $rest = substr $rest, 1 ;
- last SWITCH;
- }
- if ($rest =~ /^;/) { # Semi-colon
- if ($inquote) { # If inside a string, treat as a normal character
+
+ ( 1 ) && do {
+ ($chunk, $rest) = ($l =~ /^([^()\';-]*)(.*)/) ;
+ $sql .= $chunk ;
+
+ $state = $states{IN_SQL} ;
+ last SQL_SCAN_STATE_SWITCH ;
+ }
+
+ die "Unknown event in SQL_SCAN state" ;
+ } # SQL_SCAN_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # End of SQL_SCAN state
+
+ $state = $states{IN_SQL} && do {
+ IN_SQL_STATE_SWITCH: {
+ ($rest =~ /^\(/) && do {
+ $par_level += 1 ;
+ $sql .= '(' ;
+ $rest = substr $rest, 1 ;
+ $l = $rest ;
+
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ( ($rest =~ /^\)/) and ($par_level > 0) ) && do {
+ $par_level -= 1 ;
+ $sql .= ')' ;
+ $rest = substr $rest, 1 ;
+ $l = $rest ;
+
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ($rest =~ /^\)/) && do {
+ debug "Detected ')' without any matching '('." ;
+
+ $state = $states{ERROR} ;
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ($rest =~ /^--/) && do {
+ $rest = "" ;
+ $l = $rest ;
+
+ $state = $states{SQL_SCAN} ;
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ($rest =~ /^-[^-]/) && do {
+ $sql .= '-' ;
+ $rest = substr $rest, 1 ;
+ $l = $rest ;
+
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ( ($rest =~ /^;/) and ($par_level == 0) ) && do {
$sql .= ';' ;
$rest = substr $rest, 1 ;
- } elsif ($level == 0) { # If out of a string and toplevel, end of SQL statement
- last PARSELOOP;
- } else{ # What, a semi-colon by itself not at toplevel?
- debug "Encountered a semi-colon outside of a string and not at toplevel" ;
- debug "This really shouldn't have happened." ;
- debug "I find it more prudent to just die now." ;
- die "semi-colon outside of a string and not at toplevel -- check SQL file" ;
+
+ $state = $states{END_SQL} ;
+ last IN_SQL_STATE_SWITCH ;
}
- last SWITCH;
- }
- if ($rest =~ /^\'/) { # Non-escaped single quote -- string delimiter
- $inquote = $inquote ? 0 : 1 ; # Toggle $inquote
- $sql .= '\'' ;
- $rest = substr $rest, 1 ;
- last SWITCH;
- }
- } # SWITCH
- $l = $rest ;
- } # PARSELOOP
-
- # (Do something with $sql now that we have it :-)
- push @sql_list, $sql unless $sql eq "" ;
- # $n++ ; debug "SQL OK $n" ;
- $sql = "" ;
- } # FILELOOP
-
+ ($rest =~ /^;/) && do {
+ debug "Detected ';' within a parenthesis." ;
+
+ $state = $states{ERROR} ;
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ($rest eq "") && do {
+ $l = $rest ;
+ $sql .= " " ;
+
+ $state = $states{SQL_SCAN} ;
+ last IN_SQL_STATE_SWITCH ;
+ }
+ ($rest =~ /^\'/) && do {
+ $sql .= '\'' ;
+ $rest = substr $rest, 1 ;
+
+ $state = $states{IN_QUOTE} ;
+ last IN_SQL_STATE_SWITCH ;
+ }
+ } # IN_SQL_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # End of IN_SQL state
+
+ $state = $states{END_SQL} && do {
+ END_SQL_STATE_SWITCH: {
+ ($sql =~ /\s*/) && do {
+ debug "Empty request." ;
+ $sql = "" ;
+ $l = $rest ;
+
+ $state = $states{SQL_SCAN} ;
+ last END_SQL_STATE_SWITCH ;
+ }
+ ( 1 ) && do {
+ push @sql_list ;
+ $sql = "" ;
+ $l = $rest ;
+
+ $state = $states{SQL_SCAN} ;
+ last END_SQL_STATE_SWITCH ;
+ }
+ } # END_SQL_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # End of END_SQL state
+
+ $state = $states{QUOTE_SCAN} && do {
+ QUOTE_SCAN_STATE_SWITCH: {
+ ($l eq "") && do {
+ $sql .= "\n" ;
+ $l = <F> ;
+ unless ($l) {
+ debug "Detected end of file inside a quoted string." ;
+ $state = $states{ERROR} ;
+ last QUOTE_SCAN_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ last QUOTE_SCAN_STATE_SWITCH ;
+ }
+ ( 1 ) && do {
+ ($chunk, $rest) = ($l =~ /^([^\\\']*)(.*)/) ;
+ $sql .= $chunk ;
+
+ $state = $states{IN_QUOTE} ;
+ last QUOTE_SCAN_STATE_SWITCH ;
+ }
+ die "Unknown event in QUOTE_SCAN state" ;
+ } # QUOTE_SCAN_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # Enf of QUOTE_SCAN state
+
+ $state = $states{IN_QUOTE} && do {
+ IN_QUOTE_STATE_SWITCH: {
+ ($rest =~ /^\'/) && do {
+ $sql .= '\'' ;
+ $rest = substr $rest, 1 ;
+
+ $state = $states{IN_SQL} ;
+ last IN_QUOTE_STATE_SWITCH ;
+ }
+ ($rest =~ /^\\\'/) && do {
+ $sql .= '\\\'' ;
+ $rest = substr $rest, 2 ;
+
+ last IN_QUOTE_STATE_SWITCH ;
+ }
+ ($rest =~ /^\\[^\\]/) && do {
+ $sql .= '\\' ;
+ $rest = substr $rest, 1 ;
+
+ last IN_QUOTE_STATE_SWITCH ;
+ }
+ ($rest eq "") && do {
+ # Nothing to do
+
+ $state = $states{QUOTE_SCAN} ;
+ last IN_QUOTE_STATE_SWITCH ;
+ }
+ ( 1 ) && do {
+ debug "Unknown event in IN_QUOTE state." ;
+ $state = $states{ERROR} ;
+ last IN_QUOTE_STATE_SWITCH ;
+ }
+ } # IN_QUOTE_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # End of IN_QUOTE state
+
+ $state = $states{START_COPY} && do {
+ START_COPY_STATE_SWITCH: {
+ ($l =~ m/\s*copy\s+\"[\w_]+\"\s+from\s+stdin\s*;/i) && do {
+ ($copy_table, $copy_rest) = ($l =~ /\s*copy\s+\"([\w_]+)\"\s+from\s+stdin\s*;(.*)/i) ;
+ $l = <F> ;
+ unless ($l) {
+ debug "Detected end of file within a COPY statement." ;
+ $state = $states{ERROR} ;
+ last START_COPY_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ $state = $states{IN_COPY} ;
+ last START_COPY_STATE_SWITCH ;
+ }
+
+ ($l =~ m/\s*copy\s+[\w_]+\s+from\s+stdin\s*;/i) && do {
+ ($copy_table, $copy_rest) = ($l =~ /\s*copy\s+([\w_]+)\s+from\s+stdin\s*;(.*)/i) ;
+ $l = <F> ;
+ unless ($l) {
+ debug "Detected end of file within a COPY statement." ;
+ $state = $states{ERROR} ;
+ last START_COPY_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ $state = $states{IN_COPY} ;
+ last START_COPY_STATE_SWITCH ;
+ }
+
+ ( 1 ) && do {
+ debug "Unknown event in START_COPY state." ;
+ $state = $states{ERROR} ;
+ last START_COPY_STATE_SWITCH ;
+ }
+ } # START_COPY_STATE_SWITCH
+ last STATE_SWITCH ;
+ } # End of START_COPY state
+
+ $state = $states{IN_COPY} && do {
+ IN_COPY_SWITCH: {
+ ($l =~ /^\\\.$/) && do {
+ $l = $copy_rest ;
+
+ $state = $states{SCAN} ;
+ last IN_COPY_STATE_SWITCH ;
+ }
+
+ ( 1 ) && do {
+ @copy_data = split /\t/, $l ;
+ @copy_data = map { s/\'/\\\'/g } @copy_data ;
+ @copy_data = map { "'" . $_ . "'" } @copy_data ;
+ $sql = "INSERT INTO \"$copy_table\" VALUES (" ;
+ $sql .= join (", ", @copy_data) ;
+ $sql .= ")" ;
+ push @sql_list, $sql ;
+ $l = <F> ;
+ unless ($l) {
+ debug "Detected end of file within a COPY statement." ;
+ $state = $states{ERROR} ;
+ last IN_COPY_STATE_SWITCH ;
+ }
+ chomp $l ;
+
+ last IN_COPY_STATE_SWITCH ;
+ }
+ } # IN_COPY_SWITCH
+ last STATE_SWITCH ;
+ } # End of IN_COPY state
+
+ $state = $states{DONE} && do {
+ debug "End of file detected." ;
+
+ last STATE_SWITCH ;
+ } # End of DONE state
+
+ $state = $states{ERROR} && do {
+ debug "Reached the ERROR state. Dying." ;
+ die "State machine is buggy." ;
+
+ last STATE_SWITCH ;
+ } # End of ERROR state
+
+ ( 1 ) && do {
+ debug "State machine went in an unknown state... Redirecting to ERROR." ;
+ $state = $states{ERROR} ;
+ last STATE_SWITCH ;
+ }
+ } # STATE_SWITCH
+ } # STATE_LOOP
+
close F ;
-
return \@sql_list ;
}
Modified: trunk/gforge_base/evolvisforge/gforge/debian/changelog
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/debian/changelog 2010-02-25 13:24:00 UTC (rev 449)
+++ trunk/gforge_base/evolvisforge/gforge/debian/changelog 2010-02-25 13:24:04 UTC (rev 450)
@@ -11,13 +11,17 @@
are more readable (well, they are more readable to me), and work
approximately the same way. Added a install-skel.sh template for
future such scripts.
- * Put utils/include.pl utils/sql2ldif.pl utils/underworld-dummy/ssh_dump.pl
- of 2.5 as 2.6 scripts, sql2ldif will probably have to be re-seen
- * Added sf-2.6-complete.sql script
- * Cleaned debian/rules
- * Added path in apache template
+ * [Christian] Put utils/include.pl utils/sql2ldif.pl
+ utils/underworld-dummy/ssh_dump.pl of 2.5 as 2.6 scripts, sql2ldif
+ will probably have to be re-seen
+ * [Christian] Added sf-2.6-complete.sql script
+ * [Christian] Cleaned debian/rules
+ * [Christian] Added path in apache template
+ * deb-specific/db-upgrade26.pl: Rewrote the SQL parsing state machine so
+ that it 1. works better, 2. is more readable, 3. knows about comments,
+ 4. knows about COPY [...] FROM stdin.
- -- Christian Bayle <bayle at aist.enst.fr> Sat, 3 Nov 2001 11:09:12 +0100
+ -- Roland Mas <lolando at debian.org> Sat, 3 Nov 2001 22:50:29 +0100
sourceforge (2.5-12) unstable; urgency=low
More information about the evolvis-commits
mailing list