diff --git a/tests/phpunit/tests/dbdelta.php b/tests/phpunit/tests/dbdelta.php
index 208979e9b3..e4ea4d1b66 100644
|
a
|
b
|
class Tests_dbDelta extends WP_UnitTestCase { |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | /** |
| 36 | | * Create a custom table to be used in each test. |
| | 36 | * Force MyISAM, because InnoDB only started supporting FULLTEXT indexes in MySQL 5.7. |
| | 37 | * |
| | 38 | * @ticket 49367 |
| | 39 | * |
| | 40 | * @return string $db_engine ENGINE=MyISAM if we need to force the engine due to MySQL version. |
| 37 | 41 | */ |
| 38 | | public function setUp() { |
| 39 | | |
| | 42 | public static function force_myisam_engine() { |
| 40 | 43 | global $wpdb; |
| 41 | 44 | |
| 42 | 45 | $db_version = $wpdb->db_version(); |
| 43 | 46 | $db_engine = ''; |
| 44 | 47 | |
| 45 | 48 | if ( version_compare( $db_version, '5.7', '<' ) ) { |
| 46 | | // Forcing MyISAM, because InnoDB only started supporting FULLTEXT indexes in MySQL 5.7. |
| 47 | 49 | $db_engine = 'ENGINE=MyISAM'; |
| 48 | 50 | } |
| 49 | 51 | |
| | 52 | return $db_engine; |
| | 53 | } |
| | 54 | |
| | 55 | /** |
| | 56 | * Create a custom table to be used in each test. |
| | 57 | */ |
| | 58 | public function setUp() { |
| | 59 | global $wpdb; |
| | 60 | |
| | 61 | $db_version = $wpdb->db_version(); |
| | 62 | $db_engine = self::force_myisam_engine(); |
| | 63 | |
| 50 | 64 | if ( version_compare( $db_version, '8.0.17', '<' ) ) { |
| 51 | 65 | // Prior to MySQL 8.0.17, default width of 20 digits was used: BIGINT(20). |
| 52 | 66 | $this->bigint_display_width = '(20)'; |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 439 | 453 | function test_dont_downsize_text_fields() { |
| 440 | 454 | global $wpdb; |
| 441 | 455 | |
| | 456 | $db_engine = self::force_myisam_engine(); |
| | 457 | |
| 442 | 458 | $result = dbDelta( |
| 443 | 459 | " |
| 444 | 460 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 450 | 466 | KEY key_1 (column_1({$this->max_index_length})), |
| 451 | 467 | KEY compound_key (id,column_1($this->max_index_length)), |
| 452 | 468 | FULLTEXT KEY fulltext_key (column_1) |
| 453 | | ) ENGINE=MyISAM |
| | 469 | ) {$db_engine} |
| 454 | 470 | ", |
| 455 | 471 | false |
| 456 | 472 | ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 464 | 480 | function test_dont_downsize_blob_fields() { |
| 465 | 481 | global $wpdb; |
| 466 | 482 | |
| | 483 | $db_engine = self::force_myisam_engine(); |
| | 484 | |
| 467 | 485 | $result = dbDelta( |
| 468 | 486 | " |
| 469 | 487 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 475 | 493 | KEY key_1 (column_1({$this->max_index_length})), |
| 476 | 494 | KEY compound_key (id,column_1($this->max_index_length)), |
| 477 | 495 | FULLTEXT KEY fulltext_key (column_1) |
| 478 | | ) ENGINE=MyISAM |
| | 496 | ) {$db_engine} |
| 479 | 497 | ", |
| 480 | 498 | false |
| 481 | 499 | ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 489 | 507 | function test_upsize_text_fields() { |
| 490 | 508 | global $wpdb; |
| 491 | 509 | |
| | 510 | $db_engine = self::force_myisam_engine(); |
| | 511 | |
| 492 | 512 | $result = dbDelta( |
| 493 | 513 | " |
| 494 | 514 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 500 | 520 | KEY key_1 (column_1({$this->max_index_length})), |
| 501 | 521 | KEY compound_key (id,column_1($this->max_index_length)), |
| 502 | 522 | FULLTEXT KEY fulltext_key (column_1) |
| 503 | | ) ENGINE=MyISAM |
| | 523 | ) {$db_engine} |
| 504 | 524 | ", |
| 505 | 525 | false |
| 506 | 526 | ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 520 | 540 | function test_upsize_blob_fields() { |
| 521 | 541 | global $wpdb; |
| 522 | 542 | |
| | 543 | $db_engine = self::force_myisam_engine(); |
| | 544 | |
| 523 | 545 | $result = dbDelta( |
| 524 | 546 | " |
| 525 | 547 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 531 | 553 | KEY key_1 (column_1({$this->max_index_length})), |
| 532 | 554 | KEY compound_key (id,column_1($this->max_index_length)), |
| 533 | 555 | FULLTEXT KEY fulltext_key (column_1) |
| 534 | | ) ENGINE=MyISAM |
| | 556 | ) {$db_engine} |
| 535 | 557 | ", |
| 536 | 558 | false |
| 537 | 559 | ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 577 | 599 | global $wpdb; |
| 578 | 600 | |
| 579 | 601 | $db_version = $wpdb->db_version(); |
| | 602 | $db_engine = self::force_myisam_engine(); |
| 580 | 603 | |
| 581 | 604 | if ( version_compare( $db_version, '5.4', '<' ) ) { |
| 582 | 605 | $this->markTestSkipped( 'Spatial indices require MySQL 5.4 and above.' ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 596 | 619 | spatial_value {$geomcollection_name} NOT NULL, |
| 597 | 620 | KEY non_spatial (non_spatial), |
| 598 | 621 | SPATIAL KEY spatial_key (spatial_value) |
| 599 | | ) ENGINE=MyISAM; |
| | 622 | ) {$db_engine}; |
| 600 | 623 | "; |
| 601 | 624 | |
| 602 | 625 | // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 615 | 638 | KEY non_spatial (non_spatial), |
| 616 | 639 | SPATIAL KEY spatial_key (spatial_value) |
| 617 | 640 | SPATIAL KEY spatial_key2 (spatial_value2) |
| 618 | | ) ENGINE=MyISAM; |
| | 641 | ) {$db_engine}; |
| 619 | 642 | "; |
| 620 | 643 | |
| 621 | 644 | $updates = dbDelta( $schema, false ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 666 | 689 | function test_index_with_a_reserved_keyword_can_be_created() { |
| 667 | 690 | global $wpdb; |
| 668 | 691 | |
| | 692 | $db_engine = self::force_myisam_engine(); |
| | 693 | |
| 669 | 694 | $updates = dbDelta( |
| 670 | 695 | " |
| 671 | 696 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 679 | 704 | KEY compound_key (id , column_1($this->max_index_length)), |
| 680 | 705 | KEY compound_key2 (id,`references`($this->max_index_length)), |
| 681 | 706 | FULLTEXT KEY fulltext_key (column_1) |
| 682 | | ) ENGINE=MyISAM |
| | 707 | ) {$db_engine} |
| 683 | 708 | " |
| 684 | 709 | ); |
| 685 | 710 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 711 | 736 | function test_key_and_index_and_fulltext_key_and_fulltext_index_and_unique_key_and_unique_index_indicies() { |
| 712 | 737 | global $wpdb; |
| 713 | 738 | |
| | 739 | $db_engine = self::force_myisam_engine(); |
| | 740 | |
| 714 | 741 | $schema = " |
| 715 | 742 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| 716 | 743 | id bigint{$this->bigint_display_width} NOT NULL AUTO_INCREMENT, |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 725 | 752 | UNIQUE KEY key_3 (column_1($this->max_index_length)), |
| 726 | 753 | UNIQUE INDEX key_4 (column_1($this->max_index_length)), |
| 727 | 754 | FULLTEXT INDEX key_5 (column_1), |
| 728 | | ) ENGINE=MyISAM |
| | 755 | ) {$db_engine} |
| 729 | 756 | "; |
| 730 | 757 | |
| 731 | 758 | $creates = dbDelta( $schema ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 749 | 776 | function test_index_and_key_are_synonyms_and_do_not_recreate_indices() { |
| 750 | 777 | global $wpdb; |
| 751 | 778 | |
| | 779 | $db_engine = self::force_myisam_engine(); |
| | 780 | |
| 752 | 781 | $updates = dbDelta( |
| 753 | 782 | " |
| 754 | 783 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 760 | 789 | INDEX key_1 (column_1($this->max_index_length)), |
| 761 | 790 | INDEX compound_key (id,column_1($this->max_index_length)), |
| 762 | 791 | FULLTEXT INDEX fulltext_key (column_1) |
| 763 | | ) ENGINE=MyISAM |
| | 792 | ) {$db_engine} |
| 764 | 793 | " |
| 765 | 794 | ); |
| 766 | 795 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 773 | 802 | function test_indices_with_prefix_limits_are_created_and_do_not_recreate_indices() { |
| 774 | 803 | global $wpdb; |
| 775 | 804 | |
| | 805 | $db_engine = self::force_myisam_engine(); |
| | 806 | |
| 776 | 807 | $schema = " |
| 777 | 808 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| 778 | 809 | id bigint{$this->bigint_display_width} NOT NULL AUTO_INCREMENT, |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 785 | 816 | FULLTEXT KEY fulltext_key (column_1), |
| 786 | 817 | KEY key_2 (column_1(10)), |
| 787 | 818 | KEY key_3 (column_2(100),column_1(10)), |
| 788 | | ) ENGINE=MyISAM |
| | 819 | ) {$db_engine} |
| 789 | 820 | "; |
| 790 | 821 | |
| 791 | 822 | $creates = dbDelta( $schema ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 807 | 838 | function test_index_col_names_with_order_do_not_recreate_indices() { |
| 808 | 839 | global $wpdb; |
| 809 | 840 | |
| | 841 | $db_engine = self::force_myisam_engine(); |
| | 842 | |
| 810 | 843 | $updates = dbDelta( |
| 811 | 844 | " |
| 812 | 845 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 818 | 851 | KEY key_1 (column_1($this->max_index_length) DESC), |
| 819 | 852 | KEY compound_key (id,column_1($this->max_index_length) ASC), |
| 820 | 853 | FULLTEXT KEY fulltext_key (column_1) |
| 821 | | ) ENGINE=MyISAM |
| | 854 | ) {$db_engine} |
| 822 | 855 | " |
| 823 | 856 | ); |
| 824 | 857 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 831 | 864 | function test_primary_key_with_single_space_does_not_recreate_index() { |
| 832 | 865 | global $wpdb; |
| 833 | 866 | |
| | 867 | $db_engine = self::force_myisam_engine(); |
| | 868 | |
| 834 | 869 | $updates = dbDelta( |
| 835 | 870 | " |
| 836 | 871 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 842 | 877 | KEY key_1 (column_1($this->max_index_length)), |
| 843 | 878 | KEY compound_key (id,column_1($this->max_index_length)), |
| 844 | 879 | FULLTEXT KEY fulltext_key (column_1) |
| 845 | | ) ENGINE=MyISAM |
| | 880 | ) {$db_engine} |
| 846 | 881 | " |
| 847 | 882 | ); |
| 848 | 883 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 855 | 890 | function test_index_definitions_with_spaces_do_not_recreate_indices() { |
| 856 | 891 | global $wpdb; |
| 857 | 892 | |
| | 893 | $db_engine = self::force_myisam_engine(); |
| | 894 | |
| 858 | 895 | $updates = dbDelta( |
| 859 | 896 | " |
| 860 | 897 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 866 | 903 | KEY key_1 ( column_1($this->max_index_length)), |
| 867 | 904 | KEY compound_key (id, column_1($this->max_index_length)), |
| 868 | 905 | FULLTEXT KEY fulltext_key (column_1) |
| 869 | | ) ENGINE=MyISAM |
| | 906 | ) {$db_engine} |
| 870 | 907 | " |
| 871 | 908 | ); |
| 872 | 909 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 879 | 916 | function test_index_types_are_not_case_sensitive_and_do_not_recreate_indices() { |
| 880 | 917 | global $wpdb; |
| 881 | 918 | |
| | 919 | $db_engine = self::force_myisam_engine(); |
| | 920 | |
| 882 | 921 | $updates = dbDelta( |
| 883 | 922 | " |
| 884 | 923 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 890 | 929 | key key_1 (column_1($this->max_index_length)), |
| 891 | 930 | key compound_key (id,column_1($this->max_index_length)), |
| 892 | 931 | FULLTEXT KEY fulltext_key (column_1) |
| 893 | | ) ENGINE=MyISAM |
| | 932 | ) {$db_engine} |
| 894 | 933 | " |
| 895 | 934 | ); |
| 896 | 935 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 903 | 942 | function test_key_names_are_not_case_sensitive_and_do_not_recreate_indices() { |
| 904 | 943 | global $wpdb; |
| 905 | 944 | |
| | 945 | $db_engine = self::force_myisam_engine(); |
| | 946 | |
| 906 | 947 | $updates = dbDelta( |
| 907 | 948 | " |
| 908 | 949 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 914 | 955 | KEY KEY_1 (column_1($this->max_index_length)), |
| 915 | 956 | KEY compOUND_key (id,column_1($this->max_index_length)), |
| 916 | 957 | FULLTEXT KEY FULLtext_kEY (column_1) |
| 917 | | ) ENGINE=MyISAM |
| | 958 | ) {$db_engine} |
| 918 | 959 | ", |
| 919 | 960 | false |
| 920 | 961 | ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 928 | 969 | function test_unchanged_key_lengths_do_not_recreate_index() { |
| 929 | 970 | global $wpdb; |
| 930 | 971 | |
| | 972 | $db_engine = self::force_myisam_engine(); |
| | 973 | |
| 931 | 974 | $updates = dbDelta( |
| 932 | 975 | " |
| 933 | 976 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 939 | 982 | KEY key_1 (column_1({$this->max_index_length})), |
| 940 | 983 | KEY compound_key (id,column_1($this->max_index_length)), |
| 941 | 984 | FULLTEXT KEY fulltext_key (column_1) |
| 942 | | ) ENGINE=MyISAM |
| | 985 | ) {$db_engine} |
| 943 | 986 | ", |
| 944 | 987 | false |
| 945 | 988 | ); |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 953 | 996 | function test_changed_key_lengths_do_not_recreate_index() { |
| 954 | 997 | global $wpdb; |
| 955 | 998 | |
| | 999 | $db_engine = self::force_myisam_engine(); |
| | 1000 | |
| 956 | 1001 | $updates = dbDelta( |
| 957 | 1002 | " |
| 958 | 1003 | CREATE TABLE {$wpdb->prefix}dbdelta_test ( |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 965 | 1010 | KEY compound_key (id,column_1($this->max_index_length)), |
| 966 | 1011 | KEY changing_key_length (column_1(20)), |
| 967 | 1012 | FULLTEXT KEY fulltext_key (column_1) |
| 968 | | ) ENGINE=MyISAM |
| | 1013 | ) {$db_engine} |
| 969 | 1014 | " |
| 970 | 1015 | ); |
| 971 | 1016 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 988 | 1033 | KEY compound_key (id,column_1($this->max_index_length)), |
| 989 | 1034 | KEY changing_key_length (column_1(50)), |
| 990 | 1035 | FULLTEXT KEY fulltext_key (column_1) |
| 991 | | ) ENGINE=MyISAM |
| | 1036 | ) {$db_engine} |
| 992 | 1037 | " |
| 993 | 1038 | ); |
| 994 | 1039 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 1006 | 1051 | KEY compound_key (id,column_1($this->max_index_length)), |
| 1007 | 1052 | KEY changing_key_length (column_1(1)), |
| 1008 | 1053 | FULLTEXT KEY fulltext_key (column_1) |
| 1009 | | ) ENGINE=MyISAM |
| | 1054 | ) {$db_engine} |
| 1010 | 1055 | " |
| 1011 | 1056 | ); |
| 1012 | 1057 | |
| … |
… |
class Tests_dbDelta extends WP_UnitTestCase { |
| 1024 | 1069 | KEY compound_key (id,column_1), |
| 1025 | 1070 | KEY changing_key_length (column_1), |
| 1026 | 1071 | FULLTEXT KEY fulltext_key (column_1) |
| 1027 | | ) ENGINE=MyISAM |
| | 1072 | ) {$db_engine} |
| 1028 | 1073 | " |
| 1029 | 1074 | ); |
| 1030 | 1075 | |