|
161 | 161 | </rollback>
|
162 | 162 | </changeSet>
|
163 | 163 |
|
| 164 | + <changeSet id="Add apply_or_remove_id function" author="v.kostyukevich"> |
| 165 | + <sql endDelimiter="#"> |
| 166 | + DROP function IF EXISTS `apply_or_remove_id`; |
| 167 | + |
| 168 | + # |
| 169 | + |
| 170 | + CREATE FUNCTION `apply_or_remove_id`( |
| 171 | + request_value varchar(10), |
| 172 | + current_value varchar(10) |
| 173 | + ) RETURNS varchar(10) CHARSET latin1 |
| 174 | + BEGIN |
| 175 | + RETURN IF (request_value='', current_value, IF(request_value = '0', null, request_value)); |
| 176 | + END |
| 177 | + </sql> |
| 178 | + <rollback> |
| 179 | + DROP function IF EXISTS `apply_or_remove_id`; |
| 180 | + </rollback> |
| 181 | + </changeSet> |
| 182 | + |
| 183 | + <changeSet id="Update INSERT_TEST_RUN to use functions" author="v.kostyukevich"> |
| 184 | + <sql endDelimiter="#"> |
| 185 | + |
| 186 | + DROP procedure IF EXISTS `INSERT_TEST_RUN`; |
| 187 | + |
| 188 | + # |
| 189 | + |
| 190 | + CREATE PROCEDURE `INSERT_TEST_RUN`( |
| 191 | + IN request_id VARCHAR(10), |
| 192 | + IN request_build_name VARCHAR(500), |
| 193 | + IN request_start_time VARCHAR(500), |
| 194 | + IN request_execution_environment VARCHAR(500), |
| 195 | + IN request_milestone_id VARCHAR(10), |
| 196 | + IN request_test_suite_id VARCHAR(10), |
| 197 | + IN request_project_id VARCHAR(10), |
| 198 | + IN request_finish_time VARCHAR(500), |
| 199 | + IN request_author VARCHAR(500), |
| 200 | + IN request_label_id VARCHAR(11), |
| 201 | + IN request_debug VARCHAR(1), |
| 202 | + IN request_ci_build VARCHAR(500) |
| 203 | + ) |
| 204 | + BEGIN |
| 205 | + INSERT INTO test_runs ( |
| 206 | + id, |
| 207 | + build_name, |
| 208 | + start_time, |
| 209 | + milestone_id, |
| 210 | + test_suite_id, |
| 211 | + project_id, |
| 212 | + execution_environment, |
| 213 | + finish_time, |
| 214 | + author, |
| 215 | + label_id, |
| 216 | + debug, |
| 217 | + ci_build) |
| 218 | + VALUES ( |
| 219 | + IF(request_id = '', null,request_id), |
| 220 | + request_build_name, |
| 221 | + if(request_start_time = '', FROM_UNIXTIME('0'), FROM_UNIXTIME(request_start_time)), |
| 222 | + IF(request_milestone_id = '', null, request_milestone_id), |
| 223 | + IF(request_test_suite_id = '', null, request_test_suite_id), |
| 224 | + IF(request_project_id = '', 0, request_project_id), |
| 225 | + apply_or_remove_value(request_execution_environment, execution_environment), |
| 226 | + If(request_finish_time = '', null, FROM_UNIXTIME(request_finish_time)), |
| 227 | + IF(request_author = '', null, request_author), |
| 228 | + IF(request_label_id = '', 1, request_label_id), |
| 229 | + IF(request_debug = '', '0', request_debug), |
| 230 | + request_ci_build |
| 231 | + ) |
| 232 | + ON DUPLICATE KEY UPDATE |
| 233 | + build_name = IF(request_build_name = '', build_name, request_build_name), |
| 234 | + start_time = IF(request_start_time = '', start_time, FROM_UNIXTIME(request_start_time)), |
| 235 | + milestone_id = apply_or_remove_id(request_milestone_id, milestone_id), |
| 236 | + test_suite_id = IF(request_test_suite_id = '', test_suite_id, request_test_suite_id), |
| 237 | + project_id = IF(request_project_id = '',project_id, request_project_id ), |
| 238 | + execution_environment = apply_or_remove_value(request_execution_environment, execution_environment), |
| 239 | + finish_time = If(request_finish_time = '', finish_time, FROM_UNIXTIME(request_finish_time)), |
| 240 | + author = apply_or_remove_value(request_author, author), |
| 241 | + label_id = IF(request_label_id = '', label_id, request_label_id), |
| 242 | + debug = IF(request_debug = '', debug, request_debug), |
| 243 | + ci_build = IF(request_ci_build = '', ci_build, request_ci_build); |
| 244 | + |
| 245 | + SET @result_id = IF(request_id = '', LAST_INSERT_ID(), request_id); |
| 246 | + SELECT * from test_runs where id = @result_id; |
| 247 | + END |
| 248 | + </sql> |
| 249 | + <rollback> |
| 250 | + </rollback> |
| 251 | + </changeSet> |
| 252 | + |
164 | 253 | </databaseChangeLog>
|
0 commit comments