diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-12-13 10:15:55 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-12-13 10:15:55 +0100 |
commit | 6bb292f1bc6781639533fbe0c681b1d86bb7ef3e (patch) | |
tree | ab658fce06968218b97c295142e5daa83212714e /storage/perfschema/pfs.cc | |
parent | 1b41eed5d178182e7d9070450178188ca1e47265 (diff) | |
download | mariadb-git-6bb292f1bc6781639533fbe0c681b1d86bb7ef3e.tar.gz |
5.6.28
Diffstat (limited to 'storage/perfschema/pfs.cc')
-rw-r--r-- | storage/perfschema/pfs.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/storage/perfschema/pfs.cc b/storage/perfschema/pfs.cc index 6e6f8dcb1c4..cf0fa82ba3f 100644 --- a/storage/perfschema/pfs.cc +++ b/storage/perfschema/pfs.cc @@ -4388,6 +4388,8 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, const void *charset) { DBUG_ASSERT(state != NULL); + DBUG_ASSERT(charset != NULL); + if (! flag_global_instrumentation) return NULL; PFS_statement_class *klass= find_statement_class(key); @@ -4432,6 +4434,8 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, pfs->m_lock_time= 0; pfs->m_current_schema_name_length= 0; pfs->m_sqltext_length= 0; + pfs->m_sqltext_truncated= false; + pfs->m_sqltext_cs_number= system_charset_info->number; /* default */ pfs->m_message_text[0]= '\0'; pfs->m_sql_errno= 0; @@ -4511,6 +4515,7 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, state->m_digest= NULL; state->m_schema_name_length= 0; + state->m_cs_number= ((CHARSET_INFO *)charset)->number; return reinterpret_cast<PSI_statement_locker*> (state); } @@ -4616,10 +4621,14 @@ static void set_statement_text_v1(PSI_statement_locker *locker, PFS_events_statements *pfs= reinterpret_cast<PFS_events_statements*> (state->m_statement); DBUG_ASSERT(pfs != NULL); if (text_len > sizeof (pfs->m_sqltext)) + { text_len= sizeof(pfs->m_sqltext); + pfs->m_sqltext_truncated= true; + } if (text_len) memcpy(pfs->m_sqltext, text, text_len); pfs->m_sqltext_length= text_len; + pfs->m_sqltext_cs_number= state->m_cs_number; } return; |