|
488 | 488 | IN request_fail_reason VARCHAR(150),
|
489 | 489 | IN request_fail_reason_regex VARCHAR(500),
|
490 | 490 | IN request_issue_id VARCHAR(11),
|
491 |
| - In request_limit INT(10) |
| 491 | + In request_limit VARCHAR(11) |
492 | 492 | )
|
493 | 493 | BEGIN
|
| 494 | + declare valid_limit int; |
| 495 | + SET valid_limit = get_valid_limit(request_limit); |
| 496 | + |
494 | 497 | IF(request_fail_reason_regex = '') THEN SET request_fail_reason_regex = '.*';
|
495 | 498 | END IF;
|
496 | 499 |
|
497 | 500 | SELECT * FROM test_results as res
|
498 |
| - WHERE empty_or_equal(request_id, id) |
499 |
| - AND empty_or_equal(request_project_id, project_id) |
500 |
| - AND empty_or_equal(request_test_id, test_id) |
501 |
| - AND empty_or_equal(request_final_result_id, final_result_id) |
502 |
| - AND empty_or_equal(request_test_run_id, test_run_id) |
503 |
| - AND empty_or_equal(request_test_resolution_id, test_resolution_id) |
504 |
| - AND empty_or_equal(request_debug, debug) |
505 |
| - AND (request_fail_reason = '' OR INSTR(fail_reason, request_fail_reason) > 0) |
| 501 | + WHERE (request_id='' OR request_id=id) |
| 502 | + AND (request_project_id='' OR request_project_id=project_id) |
| 503 | + AND (request_test_id='' OR request_test_id=test_id) |
| 504 | + AND (request_final_result_id='' OR request_final_result_id=final_result_id) |
| 505 | + AND (request_test_run_id='' OR request_test_run_id=test_run_id) |
| 506 | + AND (request_test_resolution_id='' OR request_test_resolution_id=test_resolution_id) |
| 507 | + AND (request_debug='' OR request_debug=debug) |
| 508 | + AND (request_fail_reason='' OR INSTR(fail_reason, request_fail_reason) > 0) |
506 | 509 | AND IFNULL(fail_reason, '') REGEXP request_fail_reason_regex
|
507 |
| - AND empty_or_equal(request_issue_id, issue_id) |
| 510 | + AND (request_issue_id='' OR request_issue_id=issue_id) |
508 | 511 | ORDER BY start_date DESC
|
509 |
| - LIMIT request_limit |
| 512 | + LIMIT valid_limit |
510 | 513 | ;
|
511 | 514 | END
|
512 | 515 | </sql>
|
513 | 516 | <rollback>
|
514 | 517 | </rollback>
|
515 | 518 | </changeSet>
|
| 519 | + |
516 | 520 | <changeSet id="create SELECT_ISSUE_STATUS" author="v.kostyukevich">
|
517 | 521 | <sql endDelimiter="#">
|
518 | 522 |
|
|
531 | 535 | </rollback>
|
532 | 536 | </changeSet>
|
533 | 537 |
|
| 538 | + <changeSet id="create issues_BEFORE_INSERT" author="v.kostyukevich"> |
| 539 | + <sql endDelimiter="#"> |
| 540 | + |
| 541 | + DROP TRIGGER IF EXISTS `issues_BEFORE_INSERT`; |
| 542 | + |
| 543 | + # |
| 544 | + CREATE TRIGGER `issues_BEFORE_INSERT` BEFORE INSERT ON `issues` FOR EACH ROW |
| 545 | + BEGIN |
| 546 | + IF EXISTS (SELECT * FROM issues WHERE title = NEW.title AND project_id = NEW.project_id) |
| 547 | + THEN SIGNAL SQLSTATE '45000' |
| 548 | + SET MESSAGE_TEXT = 'Issue with this title already exists in this Project!'; |
| 549 | + END IF; |
| 550 | + |
| 551 | + IF EXISTS (SELECT * FROM issues WHERE expression = NEW.expression AND project_id = NEW.project_id) |
| 552 | + THEN SIGNAL SQLSTATE '45000' |
| 553 | + SET MESSAGE_TEXT = 'Issue with this expression already exists in this Project!'; |
| 554 | + END IF; |
| 555 | + END |
| 556 | + |
| 557 | + </sql> |
| 558 | + <rollback> |
| 559 | + </rollback> |
| 560 | + </changeSet> |
| 561 | + |
| 562 | + <changeSet id="create issues_BEFORE_UPDATE" author="v.kostyukevich"> |
| 563 | + <sql endDelimiter="#"> |
| 564 | + |
| 565 | + DROP TRIGGER IF EXISTS `issues_BEFORE_UPDATE`; |
| 566 | + |
| 567 | + # |
| 568 | + CREATE TRIGGER `issues_BEFORE_UPDATE` BEFORE UPDATE ON `issues` FOR EACH ROW |
| 569 | + BEGIN |
| 570 | + IF EXISTS (SELECT * FROM issues WHERE title = NEW.title AND project_id = NEW.project_id AND id != NEW.id) |
| 571 | + THEN SIGNAL SQLSTATE '45000' |
| 572 | + SET MESSAGE_TEXT = 'Issue with this title already exists in this Project!'; |
| 573 | + END IF; |
| 574 | + |
| 575 | + IF EXISTS (SELECT * FROM issues WHERE expression = NEW.expression AND project_id = NEW.project_id AND id != NEW.id) |
| 576 | + THEN SIGNAL SQLSTATE '45000' |
| 577 | + SET MESSAGE_TEXT = 'Issue with this expression already exists in this Project!'; |
| 578 | + END IF; |
| 579 | + END |
| 580 | + |
| 581 | + </sql> |
| 582 | + <rollback> |
| 583 | + </rollback> |
| 584 | + </changeSet> |
| 585 | + |
| 586 | + <changeSet id="update SELECT_TEST_RUN with limit function" author="v.kostyukevich"> |
| 587 | + <sql endDelimiter="#"> |
| 588 | + |
| 589 | + DROP PROCEDURE IF EXISTS `SELECT_TEST_RUN`; |
| 590 | + |
| 591 | + # |
| 592 | + CREATE PROCEDURE `SELECT_TEST_RUN`( |
| 593 | + IN request_id VARCHAR(10), |
| 594 | + IN request_build_name VARCHAR(500), |
| 595 | + IN request_milestone_id VARCHAR(10), |
| 596 | + IN request_test_suite_id VARCHAR(10), |
| 597 | + IN request_project_id VARCHAR(10), |
| 598 | + IN request_execution_environment VARCHAR(500), |
| 599 | + IN request_debug VARCHAR(1), |
| 600 | + IN request_label_id VARCHAR(11), |
| 601 | + IN request_limit VARCHAR(11) |
| 602 | + ) |
| 603 | + BEGIN |
| 604 | + declare valid_limit int; |
| 605 | + SET valid_limit = get_valid_limit(request_limit); |
| 606 | + |
| 607 | + SELECT |
| 608 | + runs.*, |
| 609 | + mil.name as milestone_name, |
| 610 | + suite.name as testsuite_name |
| 611 | + |
| 612 | + FROM union_reporting.test_runs as runs |
| 613 | + LEFT JOIN union_reporting.milestones as mil ON runs.milestone_id = mil.id |
| 614 | + LEFT JOIN union_reporting.test_suites as suite ON runs.test_suite_id = suite.id |
| 615 | + |
| 616 | + WHERE (request_id= '' OR runs.id=request_id) |
| 617 | + AND (request_build_name = '' OR build_name=request_build_name) |
| 618 | + AND (request_milestone_id = '' OR milestone_id=request_milestone_id OR IF(request_milestone_id=0, milestone_id IS NULL, request_milestone_id = '')) |
| 619 | + AND (request_test_suite_id = '' OR test_suite_id=request_test_suite_id) |
| 620 | + AND (request_project_id = '' OR runs.project_id=request_project_id) |
| 621 | + AND (request_execution_environment = '' OR execution_environment=request_execution_environment) |
| 622 | + AND (request_debug = '' OR runs.debug=request_debug) |
| 623 | + AND (request_label_id = '' OR runs.label_id=request_label_id) |
| 624 | + ORDER BY finish_time DESC |
| 625 | + LIMIT valid_limit |
| 626 | + ; |
| 627 | + END |
| 628 | + |
| 629 | + </sql> |
| 630 | + <rollback> |
| 631 | + </rollback> |
| 632 | + </changeSet> |
| 633 | + |
534 | 634 |
|
535 | 635 |
|
536 | 636 | </databaseChangeLog>
|
0 commit comments