FireTrigOrd.hpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef FIRE_TRIG_ORD_HPP
  14. #define FIRE_TRIG_ORD_HPP
  15. #include "SignalData.hpp"
  16. #include <NodeBitmask.hpp>
  17. #include <trigger_definitions.h>
  18. #include <string.h>
  19. /**
  20.  * FireTrigOrd
  21.  *
  22.  * This signal is sent by TUP to signal
  23.  * that a trigger has fired
  24.  */
  25. class FireTrigOrd {
  26.   /**
  27.    * Sender(s)
  28.    */
  29.   // API
  30.   
  31.   /**
  32.    * Sender(s) / Reciver(s)
  33.    */
  34.   friend class Dbtup;
  35.   
  36.   /**
  37.    * Reciver(s)
  38.    */
  39.   friend class Dbtc;
  40.   friend class Backup;
  41.   friend class SumaParticipant;
  42.   
  43.   /**
  44.    * For printing
  45.    */
  46.   friend bool printFIRE_TRIG_ORD(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo);
  47. public:
  48.   STATIC_CONST( SignalLength = 7 );
  49.   STATIC_CONST( SignalWithGCILength = 8 );
  50.   STATIC_CONST( SignalWithHashValueLength = 9 );
  51. private:
  52.   Uint32 m_connectionPtr;
  53.   Uint32 m_userRef;
  54.   Uint32 m_triggerId;
  55.   TriggerEvent::Value m_triggerEvent;
  56.   Uint32 m_noPrimKeyWords;
  57.   Uint32 m_noBeforeValueWords;
  58.   Uint32 m_noAfterValueWords;
  59.   Uint32 m_gci;
  60.   Uint32 m_hashValue;
  61.   // Public methods
  62. public:
  63.   Uint32 getConnectionPtr() const;
  64.   void setConnectionPtr(Uint32);  
  65.   Uint32 getUserRef() const;
  66.   void setUserRef(Uint32);
  67.   Uint32 getTriggerId() const;
  68.   void setTriggerId(Uint32 anIndxId);
  69.   TriggerEvent::Value getTriggerEvent() const;
  70.   void setTriggerEvent(TriggerEvent::Value);
  71.   Uint32 getNoOfPrimaryKeyWords() const;
  72.   void setNoOfPrimaryKeyWords(Uint32);
  73.   Uint32 getNoOfBeforeValueWords() const;
  74.   void setNoOfBeforeValueWords(Uint32);
  75.   Uint32 getNoOfAfterValueWords() const;
  76.   void setNoOfAfterValueWords(Uint32);
  77.   Uint32 getGCI() const;
  78.   void setGCI(Uint32);
  79.   Uint32 getHashValue() const;
  80.   void setHashValue(Uint32);
  81. };
  82. inline
  83. Uint32 FireTrigOrd::getConnectionPtr() const
  84. {
  85.   return m_connectionPtr;
  86. }
  87. inline 
  88. void FireTrigOrd::setConnectionPtr(Uint32 aConnectionPtr)
  89. {
  90.   m_connectionPtr = aConnectionPtr;
  91. }
  92. inline
  93. Uint32 FireTrigOrd::getUserRef() const
  94. {
  95.   return m_userRef;
  96. }
  97. inline 
  98. void FireTrigOrd::setUserRef(Uint32 aUserRef)
  99. {
  100.   m_userRef = aUserRef;
  101. }
  102. inline
  103. Uint32 FireTrigOrd::getTriggerId() const
  104. {
  105.   return m_triggerId;
  106. }
  107. inline
  108. void FireTrigOrd::setTriggerId(Uint32 aTriggerId)
  109. {
  110.   m_triggerId = aTriggerId;
  111. }
  112. inline
  113. TriggerEvent::Value FireTrigOrd::getTriggerEvent() const
  114. {
  115.   return m_triggerEvent;
  116. }
  117. inline
  118. void FireTrigOrd::setTriggerEvent(TriggerEvent::Value aTriggerEvent)
  119. {
  120.   m_triggerEvent = aTriggerEvent;
  121. }
  122. inline
  123. Uint32 FireTrigOrd::getNoOfPrimaryKeyWords() const
  124. {
  125.   return m_noPrimKeyWords;
  126. }
  127. inline
  128. void FireTrigOrd::setNoOfPrimaryKeyWords(Uint32 noPrim)
  129. {
  130.   m_noPrimKeyWords = noPrim;
  131. }
  132. inline
  133. Uint32 FireTrigOrd::getNoOfBeforeValueWords() const
  134. {
  135.   return m_noBeforeValueWords;
  136. }
  137. inline
  138. void FireTrigOrd::setNoOfBeforeValueWords(Uint32 noBefore)
  139. {
  140.   m_noBeforeValueWords = noBefore;
  141. }
  142. inline
  143. Uint32 FireTrigOrd::getNoOfAfterValueWords() const
  144. {
  145.   return m_noAfterValueWords;
  146. }
  147. inline
  148. void FireTrigOrd::setNoOfAfterValueWords(Uint32 noAfter)
  149. {
  150.   m_noAfterValueWords = noAfter;
  151. }
  152. inline
  153. Uint32 FireTrigOrd::getGCI() const
  154. {
  155.   return m_gci;
  156. }
  157. inline
  158. void FireTrigOrd::setGCI(Uint32 aGCI)
  159. {
  160.   m_gci = aGCI;
  161. }
  162. inline
  163. Uint32 FireTrigOrd::getHashValue() const
  164. {
  165.   return m_hashValue;
  166. }
  167. inline
  168. void FireTrigOrd::setHashValue(Uint32 flag)
  169. {
  170.   m_hashValue = flag;
  171. }
  172. #endif