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:
@@ -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,
|
||||
@@ -27,7 +27,13 @@
|
||||
|
||||
#include "my_global.h"
|
||||
#include "cursor_by_user.h"
|
||||
#include "pfs_user.h"
|
||||
#include "pfs_buffer_container.h"
|
||||
|
||||
ha_rows
|
||||
cursor_by_user::get_row_count(void)
|
||||
{
|
||||
return global_user_container.get_row_count();
|
||||
}
|
||||
|
||||
cursor_by_user::cursor_by_user(const PFS_engine_table_share *share)
|
||||
: PFS_engine_table(share, &m_pos),
|
||||
@@ -44,17 +50,14 @@ int cursor_by_user::rnd_next(void)
|
||||
{
|
||||
PFS_user *pfs;
|
||||
|
||||
for (m_pos.set_at(&m_next_pos);
|
||||
m_pos.m_index < user_max;
|
||||
m_pos.next())
|
||||
m_pos.set_at(&m_next_pos);
|
||||
PFS_user_iterator it= global_user_container.iterate(m_pos.m_index);
|
||||
pfs= it.scan_next(& m_pos.m_index);
|
||||
if (pfs != NULL)
|
||||
{
|
||||
pfs= &user_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 +69,9 @@ cursor_by_user::rnd_pos(const void *pos)
|
||||
PFS_user *pfs;
|
||||
|
||||
set_position(pos);
|
||||
DBUG_ASSERT(m_pos.m_index < user_max);
|
||||
pfs= &user_array[m_pos.m_index];
|
||||
if (pfs->m_lock.is_populated())
|
||||
|
||||
pfs= global_user_container.get(m_pos.m_index);
|
||||
if (pfs != NULL)
|
||||
{
|
||||
make_row(pfs);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user