static void debug_check_for_write_sets()

in sql/rpl_write_set_handler.cc [59:660]


static void debug_check_for_write_sets(
    std::vector<std::string> &key_list_to_hash,
    std::vector<uint64> &hash_list) {
  DBUG_EXECUTE_IF(
      "PKE_assert_single_primary_key_generated_insert",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
             "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
             "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 340395741608101502ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_primary_key_generated_update",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" ||
             key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 8563267070232261320ULL ||
             hash_list[0] == 340395741608101502ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_primary_key_generated_insert",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
             "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
             "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
             "12" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 13655149628280894901ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_primary_key_generated_update",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR
                 "12" HASH_STRING_SEPARATOR "1" ||
             key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                 "12" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 16833405476607614310ULL ||
             hash_list[0] == 13655149628280894901ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_primary_unique_key_generated_insert",
      assert(key_list_to_hash.size() == 3);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[2] ==
                 "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 3);
      assert(hash_list[0] == 340395741608101502ULL &&
             hash_list[1] == 12796928550717161120ULL &&
             hash_list[2] == 11199547876733116431ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_primary_unique_key_generated_update",
      assert(key_list_to_hash.size() == 3);
      assert((key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1") ||
             (key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "c3" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1"));
      assert(hash_list.size() == 3);
      assert((hash_list[0] == 7803002059431370747ULL &&
              hash_list[1] == 12796928550717161120ULL &&
              hash_list[2] == 11199547876733116431ULL) ||
             (hash_list[0] == 340395741608101502ULL &&
              hash_list[1] == 12796928550717161120ULL &&
              hash_list[2] == 11199547876733116431ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_primary_unique_key_generated_insert",
      assert(key_list_to_hash.size() == 3);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                 "12" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[2] ==
                 "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 3);
      assert(hash_list[0] == 13655149628280894901ULL &&
             hash_list[1] == 8954424140835647185ULL &&
             hash_list[2] == 3520344117573337805ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_primary_unique_key_generated_update",
      assert(key_list_to_hash.size() == 3);
      assert((key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                  "12" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1") ||
             (key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR
                  "12" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "b" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1"));
      assert(hash_list.size() == 3);
      assert((hash_list[0] == 13655149628280894901ULL &&
              hash_list[1] == 8954424140835647185ULL &&
              hash_list[2] == 3520344117573337805ULL) ||
             (hash_list[0] == 17122769277112661326ULL &&
              hash_list[1] == 8954424140835647185ULL &&
              hash_list[2] == 3520344117573337805ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_foreign_key_generated_insert",
      assert(key_list_to_hash.size() == 4);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t3" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                 "15" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t3" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[2] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[3] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t2" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 4);
      assert(hash_list[0] == 3283233640848908273ULL &&
             hash_list[1] == 17221725733811443497ULL &&
             hash_list[2] == 340395741608101502ULL &&
             hash_list[3] == 14682037479339770823ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_foreign_key_generated_update",
      assert(key_list_to_hash.size() == 4);
      assert((key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t3" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                  "15" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t3" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[3] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1") ||
             (key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t3" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR
                  "15" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t3" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "23" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[3] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR "1"));
      assert(hash_list.size() == 4);
      assert((hash_list[0] == 3283233640848908273ULL &&
              hash_list[1] == 17221725733811443497ULL &&
              hash_list[2] == 340395741608101502ULL &&
              hash_list[3] == 14682037479339770823ULL) ||
             (hash_list[0] == 12666755939597291234ULL &&
              hash_list[1] == 17221725733811443497ULL &&
              hash_list[2] == 8563267070232261320ULL &&
              hash_list[3] == 14682037479339770823ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_foreign_key_on_referenced_unique_key_parent_generated_insert",
      assert(key_list_to_hash.size() == 2);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 2);
      assert(hash_list[0] == 16097759999475440183ULL &&
             hash_list[1] == 12796928550717161120ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_foreign_key_on_referenced_unique_key_generated_insert",
      assert(key_list_to_hash.size() == 2);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 2);
      assert(hash_list[0] == 10002085147685770725ULL &&
             hash_list[1] == 8692935619695688993ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_foreign_key_on_referenced_unique_key_generated_update",
      assert(key_list_to_hash.size() == 2);
      assert((key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1") ||
             (key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "c2" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1"));
      assert(hash_list.size() == 2);
      assert((hash_list[0] == 10002085147685770725ULL &&
              hash_list[1] == 12796928550717161120ULL) ||
             (hash_list[0] == 10002085147685770725ULL &&
              hash_list[1] == 8692935619695688993ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_foreign_key_on_referenced_non_unique_key_parent_generated_"
      "insert",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
             "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
             "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 16097759999475440183ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_foreign_key_on_referenced_non_unique_key_generated_insert",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
             "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
             "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 10002085147685770725ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_foreign_key_on_referenced_non_unique_key_generated_update",
      assert(key_list_to_hash.size() == 1);
      assert(key_list_to_hash[0] ==
             "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
             "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 1);
      assert(hash_list[0] == 10002085147685770725ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_column_foreign_key_on_multiple_column_primary_key_"
      "insert",
      assert(key_list_to_hash.size() == 2);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                 "12" HASH_STRING_SEPARATOR "13" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                 "12" HASH_STRING_SEPARATOR "13" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 2);
      assert(hash_list[0] == 15066957522449671266ULL &&
             hash_list[1] == 9647156720027801592ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_column_foreign_key_on_multiple_column_primary_key_"
      "update",
      assert(key_list_to_hash.size() == 2);
      assert((key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR
                  "12" HASH_STRING_SEPARATOR "13" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR
                  "12" HASH_STRING_SEPARATOR "13" HASH_STRING_SEPARATOR "1") ||
             (key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                  "12" HASH_STRING_SEPARATOR "13" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR
                  "12" HASH_STRING_SEPARATOR "13" HASH_STRING_SEPARATOR "1"));
      assert(hash_list.size() == 2);
      assert((hash_list[0] == 12726729333133305663ULL &&
              hash_list[1] == 17273381564889724595ULL) ||
             (hash_list[0] == 15066957522449671266ULL &&
              hash_list[1] == 9647156720027801592ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_multiple_column_unique_key_insert",
      assert(key_list_to_hash.size() == 2);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "key_b_c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR
                 "13" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 2);
      assert(hash_list[0] == 340395741608101502ULL &&
             hash_list[1] == 14341778092818779177ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_column_foreign_key_on_multiple_column_unique_key_"
      "insert",
      assert(key_list_to_hash.size() == 3);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "key_e_f" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t2" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR
                 "13" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[2] ==
                 "key_b_c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR
                 "13" HASH_STRING_SEPARATOR "1");
      assert(hash_list.size() == 3);
      assert(hash_list[0] == 10002085147685770725ULL &&
             hash_list[1] == 7781576503154198764ULL &&
             hash_list[2] == 14341778092818779177ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multi_column_foreign_key_on_multiple_column_unique_key_"
      "update",
      assert(key_list_to_hash.size() == 3);
      assert((key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "24" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "key_e_f" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR
                  "16" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "key_b_c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "25" HASH_STRING_SEPARATOR
                  "16" HASH_STRING_SEPARATOR "1") ||
             (key_list_to_hash[0] ==
                  "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "21" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[1] ==
                  "key_e_f" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t2" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR
                  "13" HASH_STRING_SEPARATOR "1" &&
              key_list_to_hash[2] ==
                  "key_b_c" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                  "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR
                  "13" HASH_STRING_SEPARATOR "1"));
      assert(hash_list.size() == 3);
      assert((hash_list[0] == 7572125940027161025ULL &&
              hash_list[1] == 12139583969308846244ULL &&
              hash_list[2] == 3682008013696622692ULL) ||
             (hash_list[0] == 10002085147685770725ULL &&
              hash_list[1] == 7781576503154198764ULL &&
              hash_list[2] == 14341778092818779177ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_primary_key_part_insert",
      assert(key_list_to_hash.size() == 2);
      assert(hash_list.size() == 2); assert(
          key_list_to_hash[0] ==
              "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
              "4t1" HASH_STRING_SEPARATOR
              "2\034\217\034\217\034\217\034\217" HASH_STRING_SEPARATOR "8" &&
          key_list_to_hash[1] ==
              "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
              "4t1" HASH_STRING_SEPARATOR
              "2\034\217\034\217\034\217\034\217\036\377\036\377\036\377\036"
              "\377" HASH_STRING_SEPARATOR "16");
      assert(hash_list[0] == 16317411346116498013ULL &&
             hash_list[1] == 18003062610192037758ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_primary_key_part_update",
      assert(key_list_to_hash.size() == 2);
      assert(hash_list.size() == 2); assert(
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034`\034`\034`\034`" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[1] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR "2\034`\034`\034`\034`"
               "\036\377\036\377\036\377\036\377" HASH_STRING_SEPARATOR "16") ||
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034\217\034\217\034\217\034\217" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[1] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034\217\034\217\034\217\034\217\036\377\036\377\036\377\036"
               "\377" HASH_STRING_SEPARATOR "16"));
      assert((hash_list[0] == 12854286396201953359ULL &&
              hash_list[1] == 7801970996840350074ULL) ||
             (hash_list[0] == 16317411346116498013ULL &&
              hash_list[1] == 18003062610192037758ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_multiple_primary_key_part_insert",
      assert(key_list_to_hash.size() == 2);
      assert(hash_list.size() == 2);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR
                 "2\034G\034G\034G\034G" HASH_STRING_SEPARATOR
                 "8\034z\034z\034z\034z" HASH_STRING_SEPARATOR "8" &&
             key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR
                                    "test" HASH_STRING_SEPARATOR
                                    "4t1" HASH_STRING_SEPARATOR
                                    "2\034G\034G\034G\034G\036\377\036\377\036"
                                    "\377\036\377" HASH_STRING_SEPARATOR
                                    "16\034z\034z\034z\034z\036\377\036\377\036"
                                    "\377\036\377" HASH_STRING_SEPARATOR "16");
      assert(hash_list[0] == 11952739978637581076ULL &&
             hash_list[1] == 5625842696515157153ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multiple_primary_key_part_update",
      assert(key_list_to_hash.size() == 2);
      assert(hash_list.size() == 2); assert(
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034G\034G\034G\034G" HASH_STRING_SEPARATOR
               "8\034\217\034\217\034\217\034\217" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[1] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034G\034G\034G\034G\036\377\036\377\036\377\036"
               "\377" HASH_STRING_SEPARATOR
               "16\034\217\034\217\034\217\034\217\036\377\036\377\036\377\036"
               "\377" HASH_STRING_SEPARATOR "16") ||
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034G\034G\034G\034G" HASH_STRING_SEPARATOR
               "8\034z\034z\034z\034z" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[1] == "PRIMARY" HASH_STRING_SEPARATOR
                                  "test" HASH_STRING_SEPARATOR
                                  "4t1" HASH_STRING_SEPARATOR
                                  "2\034G\034G\034G\034G\036\377\036\377\036"
                                  "\377\036\377" HASH_STRING_SEPARATOR
                                  "16\034z\034z\034z\034z\036\377\036\377\036"
                                  "\377\036\377" HASH_STRING_SEPARATOR "16"));
      assert((hash_list[0] == 321901661932738829ULL &&
              hash_list[1] == 13548511452318291546ULL) ||
             (hash_list[0] == 11952739978637581076ULL &&
              hash_list[1] == 5625842696515157153ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_unique_key_part_insert",
      assert(key_list_to_hash.size() == 3);
      assert(hash_list.size() == 3);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR
                 "2\034`\034`\034`\034`" HASH_STRING_SEPARATOR "8" &&
             key_list_to_hash[2] ==
                 "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "2\034`\034`\034`\034`"
                 "\036\377\036\377\036\377\036\377" HASH_STRING_SEPARATOR "16");
      assert(hash_list[0] == 16097759999475440183ULL &&
             hash_list[1] == 7725531530140183570ULL &&
             hash_list[2] == 14701666498086136515ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_single_unique_key_part_update",
      assert(key_list_to_hash.size() == 3);
      assert(hash_list.size() == 3); assert(
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
           key_list_to_hash[1] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034\217\034\217\034\217\034\217" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[2] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034\217\034\217\034\217\034\217\036\377\036\377\036\377\036"
               "\377" HASH_STRING_SEPARATOR "16") ||
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
           key_list_to_hash[1] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034`\034`\034`\034`" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[2] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR "2\034`\034`\034`\034`"
               "\036\377\036\377\036\377\036\377" HASH_STRING_SEPARATOR "16"));
      assert((hash_list[0] == 16097759999475440183ULL &&
              hash_list[1] == 5363251102313010695ULL &&
              hash_list[2] == 14835022138864790192ULL) ||
             (hash_list[0] == 16097759999475440183ULL &&
              hash_list[1] == 7725531530140183570ULL &&
              hash_list[2] == 14701666498086136515ULL)););

  DBUG_EXECUTE_IF(
      "PKE_assert_multiple_unique_key_part_insert",
      assert(key_list_to_hash.size() == 3);
      assert(hash_list.size() == 3);
      assert(key_list_to_hash[0] ==
                 "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
             key_list_to_hash[1] ==
                 "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
                 "4t1" HASH_STRING_SEPARATOR
                 "2\034G\034G\034G\034G" HASH_STRING_SEPARATOR
                 "8\034z\034z\034z\034z" HASH_STRING_SEPARATOR "8" &&
             key_list_to_hash[2] == "a" HASH_STRING_SEPARATOR
                                    "test" HASH_STRING_SEPARATOR
                                    "4t1" HASH_STRING_SEPARATOR
                                    "2\034G\034G\034G\034G\036\377\036\377\036"
                                    "\377\036\377" HASH_STRING_SEPARATOR
                                    "16\034z\034z\034z\034z\036\377\036\377\036"
                                    "\377\036\377" HASH_STRING_SEPARATOR "16");
      assert(hash_list[0] == 16097759999475440183ULL &&
             hash_list[1] == 1438169577983365775ULL &&
             hash_list[2] == 312264863968578629ULL););

  DBUG_EXECUTE_IF(
      "PKE_assert_multiple_unique_key_part_update",
      assert(key_list_to_hash.size() == 3);
      assert(hash_list.size() == 3); assert(
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
           key_list_to_hash[1] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034G\034G\034G\034G" HASH_STRING_SEPARATOR
               "8\034\217\034\217\034\217\034\217" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[2] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034G\034G\034G\034G\036\377\036\377\036\377\036"
               "\377" HASH_STRING_SEPARATOR
               "16\034\217\034\217\034\217\034\217\036\377\036\377\036\377"
               "\036\377" HASH_STRING_SEPARATOR "16") ||
          (key_list_to_hash[0] ==
               "PRIMARY" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR "22" HASH_STRING_SEPARATOR "1" &&
           key_list_to_hash[1] ==
               "a" HASH_STRING_SEPARATOR "test" HASH_STRING_SEPARATOR
               "4t1" HASH_STRING_SEPARATOR
               "2\034G\034G\034G\034G" HASH_STRING_SEPARATOR
               "8\034z\034z\034z\034z" HASH_STRING_SEPARATOR "8" &&
           key_list_to_hash[2] == "a" HASH_STRING_SEPARATOR
                                  "test" HASH_STRING_SEPARATOR
                                  "4t1" HASH_STRING_SEPARATOR
                                  "2\034G\034G\034G\034G\036\377\036\377\036"
                                  "\377\036\377" HASH_STRING_SEPARATOR
                                  "16\034z\034z\034z\034z\036\377\036\377\036"
                                  "\377\036\377" HASH_STRING_SEPARATOR "16"));
      assert((hash_list[0] == 16097759999475440183ULL &&
              hash_list[1] == 7001586410307804499ULL &&
              hash_list[2] == 888558645316043973ULL) ||
             (hash_list[0] == 16097759999475440183ULL &&
              hash_list[1] == 1438169577983365775ULL &&
              hash_list[2] == 312264863968578629ULL)););
}