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

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. #include <signaldata/CreateTrig.hpp>
  14. bool printCREATE_TRIG_REQ(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo)
  15. {
  16.   const CreateTrigReq * const sig = (CreateTrigReq *) theData;
  17.   //char triggerName[MAX_TAB_NAME_SIZE];
  18.   char triggerType[32];
  19.   char triggerActionTime[32];
  20.   char triggerEvent[32];
  21.   //sig->getTriggerName((char *) &triggerName);
  22.   switch (sig->getTriggerType()) {
  23.   case(TriggerType::SECONDARY_INDEX): 
  24.     BaseString::snprintf(triggerType, sizeof(triggerType), "SECONDARY_INDEX");
  25.     break;
  26.   case(TriggerType::SUBSCRIPTION):
  27.     BaseString::snprintf(triggerType, sizeof(triggerType), "SUBSCRIPTION");
  28.     break;
  29.   case(TriggerType::ORDERED_INDEX): 
  30.     BaseString::snprintf(triggerType, sizeof(triggerType), "ORDERED_INDEX");
  31.     break;
  32.   default:
  33.     BaseString::snprintf(triggerType, sizeof(triggerType), "UNKNOWN [%d]", (int)sig->getTriggerType());
  34.     break;
  35.   }
  36.   switch (sig->getTriggerActionTime()) {
  37.   case (TriggerActionTime::TA_BEFORE):
  38.     BaseString::snprintf(triggerActionTime, sizeof(triggerActionTime), "BEFORE");
  39.     break;
  40.   case(TriggerActionTime::TA_AFTER):
  41.     BaseString::snprintf(triggerActionTime, sizeof(triggerActionTime), "AFTER");
  42.     break;
  43.   case (TriggerActionTime::TA_DEFERRED):
  44.     BaseString::snprintf(triggerActionTime, sizeof(triggerActionTime), "DEFERRED");
  45.     break;
  46.   case (TriggerActionTime::TA_DETACHED):
  47.     BaseString::snprintf(triggerActionTime, sizeof(triggerActionTime), "DETACHED");
  48.     break;
  49.   default:
  50.     BaseString::snprintf(triggerActionTime, sizeof(triggerActionTime),
  51.      "UNKNOWN [%d]", (int)sig->getTriggerActionTime());
  52.     break;
  53.   }
  54.   switch (sig->getTriggerEvent()) {
  55.   case (TriggerEvent::TE_INSERT):
  56.     BaseString::snprintf(triggerEvent, sizeof(triggerEvent), "INSERT");
  57.     break;
  58.   case(TriggerEvent::TE_DELETE):
  59.     BaseString::snprintf(triggerEvent, sizeof(triggerEvent), "DELETE");
  60.     break;
  61.   case(TriggerEvent::TE_UPDATE):
  62.     BaseString::snprintf(triggerEvent, sizeof(triggerEvent), "UPDATE");
  63.     break;
  64.   case(TriggerEvent::TE_CUSTOM):
  65.     BaseString::snprintf(triggerEvent, sizeof(triggerEvent), "CUSTOM");
  66.     break;
  67.   default:
  68.     BaseString::snprintf(triggerEvent, sizeof(triggerEvent), "UNKNOWN [%d]", (int)sig->getTriggerEvent());
  69.     break;
  70.   }
  71.   
  72.   fprintf(output, "User: %u, ", sig->getUserRef());
  73.   //fprintf(output, "Trigger name: "%s"n", triggerName);
  74.   fprintf(output, "Type: %s, ", triggerType);
  75.   fprintf(output, "Action: %s, ", triggerActionTime);
  76.   fprintf(output, "Event: %s, ", triggerEvent);
  77.   fprintf(output, "Trigger id: %u, ", sig->getTriggerId());
  78.   fprintf(output, "Table id: %u, ", sig->getTableId());
  79.   fprintf(output, "Monitor replicas: %s ", (sig->getMonitorReplicas())?"true":"false");
  80.   fprintf(output, "Monitor all attributes: %s ", (sig->getMonitorAllAttributes())?"true":"false");
  81.   const AttributeMask& attributeMask = sig->getAttributeMask();
  82.   char buf[MAXNROFATTRIBUTESINWORDS * 8 + 1];
  83.   fprintf(output, "Attribute mask: %s", attributeMask.getText(buf));
  84.   fprintf(output, "n");  
  85.   return false;
  86. }
  87. bool printCREATE_TRIG_CONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo)
  88. {
  89.   const CreateTrigConf * const sig = (CreateTrigConf *) theData;
  90.   
  91.   fprintf(output, "User: %u, ", sig->getUserRef());
  92.   fprintf(output, "Trigger id: %u, ", sig->getTriggerId());
  93.   fprintf(output, "Table id: %u, ", sig->getTableId());
  94.   fprintf(output, "n");  
  95.   return false;
  96. }
  97. bool printCREATE_TRIG_REF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo)
  98. {
  99.   const CreateTrigRef * const sig = (CreateTrigRef *) theData;
  100.   fprintf(output, "User: %u, ", sig->getUserRef());
  101.   fprintf(output, "Trigger id: %u, ", sig->getTriggerId());
  102.   fprintf(output, "Table id: %u, ", sig->getTableId());
  103.   fprintf(output, "Error code: %u, ", sig->getErrorCode());
  104.   fprintf(output, "n");  
  105.   
  106.   return false;
  107. }