1
/* Copyright (C) 2003 MySQL AB
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; version 2 of the License.
7
This program is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU General Public License for more details.
12
You should have received a copy of the GNU General Public License
13
along with this program; if not, write to the Free Software
14
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
18
#include <Properties.hpp>
19
#include <Configuration.hpp>
21
Suma::Suma(Block_context& ctx) :
22
SimulatedBlock(SUMA, ctx),
23
c_metaSubscribers(c_subscriberPool),
24
c_removeDataSubscribers(c_subscriberPool),
25
c_tables(c_tablePool),
26
c_subscriptions(c_subscriptionPool),
28
c_gcp_list(c_gcp_pool)
30
BLOCK_CONSTRUCTOR(Suma);
32
// Add received signals
33
addRecSignal(GSN_READ_CONFIG_REQ, &Suma::execREAD_CONFIG_REQ);
34
addRecSignal(GSN_STTOR, &Suma::execSTTOR);
35
addRecSignal(GSN_NDB_STTOR, &Suma::execNDB_STTOR);
36
addRecSignal(GSN_DUMP_STATE_ORD, &Suma::execDUMP_STATE_ORD);
37
addRecSignal(GSN_READ_NODESCONF, &Suma::execREAD_NODESCONF);
38
addRecSignal(GSN_API_START_REP, &Suma::execAPI_START_REP, true);
39
addRecSignal(GSN_API_FAILREQ, &Suma::execAPI_FAILREQ);
40
addRecSignal(GSN_NODE_FAILREP, &Suma::execNODE_FAILREP);
41
addRecSignal(GSN_INCL_NODEREQ, &Suma::execINCL_NODEREQ);
42
addRecSignal(GSN_CONTINUEB, &Suma::execCONTINUEB);
43
addRecSignal(GSN_SIGNAL_DROPPED_REP, &Suma::execSIGNAL_DROPPED_REP, true);
44
addRecSignal(GSN_UTIL_SEQUENCE_CONF, &Suma::execUTIL_SEQUENCE_CONF);
45
addRecSignal(GSN_UTIL_SEQUENCE_REF, &Suma::execUTIL_SEQUENCE_REF);
46
addRecSignal(GSN_CREATE_SUBID_REQ,
47
&Suma::execCREATE_SUBID_REQ);
49
addRecSignal(GSN_SUB_CREATE_CONF, &Suma::execSUB_CREATE_CONF);
50
addRecSignal(GSN_SUB_CREATE_REF, &Suma::execSUB_CREATE_REF);
52
addRecSignal(GSN_SUB_START_CONF, &Suma::execSUB_START_CONF);
53
addRecSignal(GSN_SUB_START_REF, &Suma::execSUB_START_REF);
55
addRecSignal(GSN_SUMA_START_ME_REQ, &Suma::execSUMA_START_ME_REQ);
56
addRecSignal(GSN_SUMA_START_ME_REF, &Suma::execSUMA_START_ME_REF);
57
addRecSignal(GSN_SUMA_START_ME_CONF, &Suma::execSUMA_START_ME_CONF);
58
addRecSignal(GSN_SUMA_HANDOVER_REQ, &Suma::execSUMA_HANDOVER_REQ);
59
addRecSignal(GSN_SUMA_HANDOVER_REF, &Suma::execSUMA_HANDOVER_REF);
60
addRecSignal(GSN_SUMA_HANDOVER_CONF, &Suma::execSUMA_HANDOVER_CONF);
62
addRecSignal(GSN_SUB_GCP_COMPLETE_ACK,
63
&Suma::execSUB_GCP_COMPLETE_ACK);
68
addRecSignal(GSN_SUB_CREATE_REQ, &Suma::execSUB_CREATE_REQ);
69
addRecSignal(GSN_SUB_REMOVE_REQ, &Suma::execSUB_REMOVE_REQ);
70
addRecSignal(GSN_SUB_START_REQ, &Suma::execSUB_START_REQ);
71
addRecSignal(GSN_SUB_STOP_REQ, &Suma::execSUB_STOP_REQ);
72
addRecSignal(GSN_SUB_STOP_REF, &Suma::execSUB_STOP_REF);
73
addRecSignal(GSN_SUB_STOP_CONF, &Suma::execSUB_STOP_CONF);
74
addRecSignal(GSN_SUB_SYNC_REQ, &Suma::execSUB_SYNC_REQ);
79
addRecSignal(GSN_DROP_TAB_CONF, &Suma::execDROP_TAB_CONF);
80
addRecSignal(GSN_ALTER_TAB_REQ, &Suma::execALTER_TAB_REQ);
81
addRecSignal(GSN_CREATE_TAB_CONF, &Suma::execCREATE_TAB_CONF);
84
addRecSignal(GSN_LIST_TABLES_CONF, &Suma::execLIST_TABLES_CONF);
86
addRecSignal(GSN_GET_TABINFO_CONF, &Suma::execGET_TABINFO_CONF);
87
addRecSignal(GSN_GET_TABINFOREF, &Suma::execGET_TABINFOREF);
89
addRecSignal(GSN_GET_TABLEID_CONF, &Suma::execGET_TABLEID_CONF);
90
addRecSignal(GSN_GET_TABLEID_REF, &Suma::execGET_TABLEID_REF);
95
addRecSignal(GSN_DI_FCOUNTCONF, &Suma::execDI_FCOUNTCONF);
96
addRecSignal(GSN_DI_FCOUNTREF, &Suma::execDI_FCOUNTREF);
97
addRecSignal(GSN_DIGETPRIMCONF, &Suma::execDIGETPRIMCONF);
102
addRecSignal(GSN_SCAN_HBREP, &Suma::execSCAN_HBREP);
103
addRecSignal(GSN_TRANSID_AI, &Suma::execTRANSID_AI);
104
addRecSignal(GSN_SCAN_FRAGREF, &Suma::execSCAN_FRAGREF);
105
addRecSignal(GSN_SCAN_FRAGCONF, &Suma::execSCAN_FRAGCONF);
107
addRecSignal(GSN_SUB_SYNC_CONTINUE_REF,
108
&Suma::execSUB_SYNC_CONTINUE_REF);
110
addRecSignal(GSN_SUB_SYNC_CONTINUE_CONF,
111
&Suma::execSUB_SYNC_CONTINUE_CONF);
116
addRecSignal(GSN_TRIG_ATTRINFO, &Suma::execTRIG_ATTRINFO);
117
addRecSignal(GSN_FIRE_TRIG_ORD, &Suma::execFIRE_TRIG_ORD);
119
addRecSignal(GSN_CREATE_TRIG_REF, &Suma::execCREATE_TRIG_REF);
120
addRecSignal(GSN_CREATE_TRIG_CONF, &Suma::execCREATE_TRIG_CONF);
121
addRecSignal(GSN_DROP_TRIG_REF, &Suma::execDROP_TRIG_REF);
122
addRecSignal(GSN_DROP_TRIG_CONF, &Suma::execDROP_TRIG_CONF);
124
addRecSignal(GSN_SUB_GCP_COMPLETE_REP,
125
&Suma::execSUB_GCP_COMPLETE_REP);
127
c_startup.m_restart_server_node_id = RNIL; // Server for my NR
134
BLOCK_FUNCTIONS(Suma)