MySQL
8.3.0
Source Code Documentation
i_progress_watcher.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2015, 2023, Oracle and/or its affiliates.
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License, version 2.0,
6
as published by the Free Software Foundation.
7
8
This program is also distributed with certain software (including
9
but not limited to OpenSSL) that is licensed under separate terms,
10
as designated in a particular file or component or in included license
11
documentation. The authors of MySQL hereby grant you an additional
12
permission to link the program and your derivative works with the
13
separately licensed software that they have included with MySQL.
14
15
This program is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU General Public License, version 2.0, for more details.
19
20
You should have received a copy of the GNU General Public License
21
along with this program; if not, write to the Free Software
22
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23
*/
24
25
#ifndef I_PROGRESS_WATCHER_INCLUDED
26
#define I_PROGRESS_WATCHER_INCLUDED
27
28
#include "
client/dump/i_chain_element.h
"
29
#include "
client/dump/i_crawler.h
"
30
#include "
client/dump/item_processing_data.h
"
31
32
namespace
Mysql
{
33
namespace
Tools {
34
namespace
Dump {
35
36
class
I_progress_watcher
:
public
virtual
I_chain_element
{
37
public
:
38
/**
39
Reports new non-empty chain being created by Chain Maker or new row
40
fetched from table by Table Reader. Called from Crawler or Table Reader.
41
*/
42
virtual
void
new_chain_created
(
43
Item_processing_data
*new_chain_process_data) = 0;
44
/**
45
Report new object(table, row or any other) was started processing by
46
specified Object Reader, Table Reader, Formatter or Row Formatter. Reported
47
by these types. Is not reported by queues on enqueue but on dequeue.
48
*/
49
virtual
void
object_processing_started
(
50
Item_processing_data
*process_data) = 0;
51
/**
52
Report object(table, row or any other) finished being processed. In case of
53
table, this does not necessarily mean that all rows were processed. That
54
does not necessarily mean that object was successfully written by
55
Output Writers.
56
*/
57
virtual
void
object_processing_ended
(
58
Item_processing_data
*finished_process_data) = 0;
59
/**
60
Reports crawler ended enumerating objects and creating chains for them.
61
*/
62
virtual
void
crawler_completed
(
I_crawler
*crawler) = 0;
63
};
64
65
}
// namespace Dump
66
}
// namespace Tools
67
}
// namespace Mysql
68
69
#endif
Mysql::Tools::Dump::I_chain_element
Interface for all objects that can process data in any part of dump process.
Definition:
i_chain_element.h:40
Mysql::Tools::Dump::I_crawler
Definition:
i_crawler.h:35
Mysql::Tools::Dump::I_progress_watcher
Definition:
i_progress_watcher.h:36
Mysql::Tools::Dump::I_progress_watcher::new_chain_created
virtual void new_chain_created(Item_processing_data *new_chain_process_data)=0
Reports new non-empty chain being created by Chain Maker or new row fetched from table by Table Reade...
Mysql::Tools::Dump::I_progress_watcher::object_processing_ended
virtual void object_processing_ended(Item_processing_data *finished_process_data)=0
Report object(table, row or any other) finished being processed.
Mysql::Tools::Dump::I_progress_watcher::crawler_completed
virtual void crawler_completed(I_crawler *crawler)=0
Reports crawler ended enumerating objects and creating chains for them.
Mysql::Tools::Dump::I_progress_watcher::object_processing_started
virtual void object_processing_started(Item_processing_data *process_data)=0
Report new object(table, row or any other) was started processing by specified Object Reader,...
Mysql::Tools::Dump::Item_processing_data
Data structure for objects that are processed in any chain.
Definition:
item_processing_data.h:42
i_chain_element.h
i_crawler.h
item_processing_data.h
Mysql
Definition:
abstract_connection_program.h:39
client
dump
i_progress_watcher.h
Generated by
1.9.2