polardbxengine/sql/ppi/ppi_noop.cc

111 lines
3.8 KiB
C++

/* Copyright (c) 2018, 2021, Alibaba 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,
as published by the Free Software Foundation.
This program is also distributed with certain software (including
but not limited to OpenSSL) that is licensed under separate terms,
as designated in a particular file or component or in included license
documentation. The authors of MySQL/PolarDB-X Engine hereby grant you an
additional permission to link the program and your derivative works with the
separately licensed software that they have included with
MySQL/PolarDB-X Engine.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License, version 2.0, for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#include "ppi/ppi_statement.h"
#include "ppi/ppi_thread.h"
class THD;
static PPI_thread *create_thread_noop() { return nullptr; }
static void destroy_thread_noop(PPI_thread *) { return; }
static void get_thread_statistic_noop(const PPI_thread *, PPI_stat *) {
return;
}
/* The noop definition for thread service */
static PPI_thread_service_t PPI_thread_service_noop = {
create_thread_noop,
destroy_thread_noop,
get_thread_statistic_noop };
static void start_statement_noop(PPI_thread *, PPI_stat *) { return; }
static void end_statement_noop(THD *, PPI_thread *, PPI_stat *) { return; }
static void startoff_statement_time_noop(PPI_thread *) { return; }
static void inc_statement_server_lock_time_noop(const unsigned long long) {
return;
}
static void inc_statement_transaction_lock_time_noop(const unsigned long long) {
return;
}
static void inc_statement_mutex_wait_noop(const unsigned long long,
const unsigned long long) {
return;
}
static void inc_statement_rwlock_wait_noop(const unsigned long long,
const unsigned long long,
const unsigned long long) {
return;
}
static void inc_statement_logical_read_noop(const unsigned long long) {
return;
}
static void inc_statement_physical_read_noop(const unsigned long long) {
return;
}
static void inc_statement_physical_async_read_noop(const unsigned long long) {
return;
}
static PPI_statement *start_statement_IO_operation_noop(const PPI_IO_TYPE) {
return nullptr;
}
static void end_statement_IO_operation_noop(PPI_statement *,
const unsigned long long) {
return;
}
static void get_statement_statistic_noop(const PPI_thread *, PPI_stat *) {
return;
}
static void rows_read_delete_mark_noop(unsigned long long) {
return;
}
/* The noop definition for thread service */
static PPI_statement_service_t PPI_statement_service_noop = {
start_statement_noop,
end_statement_noop,
startoff_statement_time_noop,
inc_statement_server_lock_time_noop,
inc_statement_transaction_lock_time_noop,
inc_statement_mutex_wait_noop,
inc_statement_rwlock_wait_noop,
inc_statement_logical_read_noop,
inc_statement_physical_read_noop,
inc_statement_physical_async_read_noop,
start_statement_IO_operation_noop,
end_statement_IO_operation_noop,
get_statement_statistic_noop,
rows_read_delete_mark_noop};
/* Thread service handler */
PPI_thread_service_t *PPI_thread_service = &PPI_thread_service_noop;
/* Statement service handler*/
PPI_statement_service_t *PPI_statement_service = &PPI_statement_service_noop;