diff options
Diffstat (limited to 'storage/perfschema/table_events_statements.cc')
-rw-r--r-- | storage/perfschema/table_events_statements.cc | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/storage/perfschema/table_events_statements.cc b/storage/perfschema/table_events_statements.cc index a3f2680c3e7..7d7539b7790 100644 --- a/storage/perfschema/table_events_statements.cc +++ b/storage/perfschema/table_events_statements.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -302,7 +302,7 @@ table_events_statements_common::table_events_statements_common @param statement the statement the cursor is reading */ void table_events_statements_common::make_row_part_1(PFS_events_statements *statement, - PSI_digest_storage *digest) + sql_digest_storage *digest) { const char *base; const char *safe_source_file; @@ -367,46 +367,40 @@ void table_events_statements_common::make_row_part_1(PFS_events_statements *stat m_row.m_sort_scan= statement->m_sort_scan; m_row.m_no_index_used= statement->m_no_index_used; m_row.m_no_good_index_used= statement->m_no_good_index_used; - /* + /* Making a copy of digest storage. */ - digest_copy(digest, & statement->m_digest_storage); + digest->copy(& statement->m_digest_storage); m_row_exists= true; return; } -void table_events_statements_common::make_row_part_2(PSI_digest_storage *digest) +void table_events_statements_common::make_row_part_2(const sql_digest_storage *digest) { /* Filling up statement digest information. */ - int safe_byte_count= digest->m_byte_count; + uint safe_byte_count= digest->m_byte_count; if (safe_byte_count > 0 && - safe_byte_count <= PSI_MAX_DIGEST_STORAGE_SIZE) + safe_byte_count <= pfs_max_digest_length) { - PFS_digest_key md5; - compute_md5_hash((char *) md5.m_md5, - (char *) digest->m_token_array, - safe_byte_count); - /* Generate the DIGEST string from the MD5 digest */ - MD5_HASH_TO_STRING(md5.m_md5, + MD5_HASH_TO_STRING(digest->m_md5, m_row.m_digest.m_digest); m_row.m_digest.m_digest_length= MD5_HASH_TO_STRING_LENGTH; /* Generate the DIGEST_TEXT string from the token array */ - get_digest_text(m_row.m_digest.m_digest_text, digest); - m_row.m_digest.m_digest_text_length= strlen(m_row.m_digest.m_digest_text); + compute_digest_text(digest, &m_row.m_digest.m_digest_text); - if (m_row.m_digest.m_digest_text_length == 0) + if (m_row.m_digest.m_digest_text.length() == 0) m_row.m_digest.m_digest_length= 0; } else { m_row.m_digest.m_digest_length= 0; - m_row.m_digest.m_digest_text_length= 0; + m_row.m_digest.m_digest_text.length(0); } return; @@ -491,9 +485,9 @@ int table_events_statements_common::read_row_values(TABLE *table, f->set_null(); break; case 11: /* DIGEST_TEXT */ - if (m_row.m_digest.m_digest_text_length > 0) - set_field_longtext_utf8(f, m_row.m_digest.m_digest_text, - m_row.m_digest.m_digest_text_length); + if (m_row.m_digest.m_digest_text.length() > 0) + set_field_longtext_utf8(f, m_row.m_digest.m_digest_text.ptr(), + m_row.m_digest.m_digest_text.length()); else f->set_null(); break; @@ -710,11 +704,11 @@ int table_events_statements_current::rnd_pos(const void *pos) void table_events_statements_current::make_row(PFS_thread *pfs_thread, PFS_events_statements *statement) { - PSI_digest_storage digest; + sql_digest_storage digest; pfs_lock lock; pfs_lock stmt_lock; - digest_reset(&digest); + digest.reset(m_token_array, MAX_DIGEST_STORAGE_SIZE); /* Protect this reader against thread termination. */ pfs_thread->m_lock.begin_optimistic_lock(&lock); /* Protect this reader against writing on statement information. */ @@ -838,10 +832,10 @@ int table_events_statements_history::rnd_pos(const void *pos) void table_events_statements_history::make_row(PFS_thread *pfs_thread, PFS_events_statements *statement) { - PSI_digest_storage digest; + sql_digest_storage digest; pfs_lock lock; - digest_reset(&digest); + digest.reset(m_token_array, MAX_DIGEST_STORAGE_SIZE); /* Protect this reader against thread termination. */ pfs_thread->m_lock.begin_optimistic_lock(&lock); @@ -942,9 +936,9 @@ int table_events_statements_history_long::rnd_pos(const void *pos) void table_events_statements_history_long::make_row(PFS_events_statements *statement) { - PSI_digest_storage digest; + sql_digest_storage digest; - digest_reset(&digest); + digest.reset(m_token_array, MAX_DIGEST_STORAGE_SIZE); table_events_statements_common::make_row_part_1(statement, &digest); table_events_statements_common::make_row_part_2(&digest); |