1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

P_S 5.7.28

This commit is contained in:
Sergei Golubchik
2019-12-10 15:35:00 +01:00
parent dfe6e914e5
commit 0ea717f51a
942 changed files with 174739 additions and 20780 deletions

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2011, 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, version 2.0,
@@ -28,6 +28,13 @@
#include "my_global.h"
#include "cursor_by_thread.h"
#include "pfs_instr.h"
#include "pfs_buffer_container.h"
ha_rows
cursor_by_thread::get_row_count(void)
{
return global_thread_container.get_row_count();
}
cursor_by_thread::cursor_by_thread(const PFS_engine_table_share *share)
: PFS_engine_table(share, &m_pos),
@@ -44,17 +51,14 @@ int cursor_by_thread::rnd_next(void)
{
PFS_thread *pfs;
for (m_pos.set_at(&m_next_pos);
m_pos.m_index < thread_max;
m_pos.next())
m_pos.set_at(&m_next_pos);
PFS_thread_iterator it= global_thread_container.iterate(m_pos.m_index);
pfs= it.scan_next(& m_pos.m_index);
if (pfs != NULL)
{
pfs= &thread_array[m_pos.m_index];
if (pfs->m_lock.is_populated())
{
make_row(pfs);
m_next_pos.set_after(&m_pos);
return 0;
}
make_row(pfs);
m_next_pos.set_after(&m_pos);
return 0;
}
return HA_ERR_END_OF_FILE;
@@ -66,9 +70,9 @@ cursor_by_thread::rnd_pos(const void *pos)
PFS_thread *pfs;
set_position(pos);
DBUG_ASSERT(m_pos.m_index < thread_max);
pfs= &thread_array[m_pos.m_index];
if (pfs->m_lock.is_populated())
pfs= global_thread_container.get(m_pos.m_index);
if (pfs != NULL)
{
make_row(pfs);
return 0;