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

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 TraceNdbApi_hpp
  14. #define TraceNdbApi_hpp
  15. class CTraceNdbSchemaOp : public NdbSchemaOp
  16. {
  17. public:
  18.   int createTable(const char* aTableName);
  19.   int createAttribute(const char* aAttrName, KeyType aTupleyKey);
  20. };
  21. class CTraceNdbSchemaCon : public NdbSchemaCon
  22. {
  23. public:
  24.   CTraceNdbSchemaOp* getNdbSchemaOp(); 
  25.   int execute();
  26. };
  27. class CTraceNdbRecAttr : public NdbRecAttr
  28. {
  29. public:
  30.   Uint32 u_32_value();
  31. };
  32. class CTraceNdbOperation : public NdbOperation
  33. {
  34. public:
  35.   int insertTuple();
  36.   int updateTuple();
  37.   int interpretedUpdateTuple();
  38.   int readTuple();
  39.   int readTupleExclusive();
  40.   int deleteTuple();
  41.   int equal(const char* anAttrName, Uint32 aValue);
  42.   int setValue(const char* anAttrName, Uint32 aValue);
  43.   int incValue(const char* anAttrName, Uint32 aValue);
  44.   CTraceNdbRecAttr* getValue(const char* anAttrName);
  45. };
  46. class CTraceNdbIndexOperation : public NdbIndexOperation
  47. {
  48. public:
  49.   int insertTuple();
  50.   int updateTuple();
  51.   int interpretedUpdateTuple();
  52.   int readTuple();
  53.   int readTupleExclusive();
  54.   int deleteTuple();
  55.   int equal(const char* anAttrName, Uint32 aValue);
  56.   int setValue(const char* anAttrName, Uint32 aValue);
  57.   int incValue(const char* anAttrName, Uint32 aValue);
  58.   CTraceNdbRecAttr* getValue(const char* anAttrName);
  59. };
  60. class CTraceNdbConnection : public NdbConnection
  61. {
  62. public:
  63.   CTraceNdbOperation* getNdbOperation(const char* aTableName);
  64.   CTraceNdbIndexOperation* getNdbIndexOperation(const char* anIndexName, const char* aTableName);
  65.   int execute(ExecType aTypeOfExec);
  66.   int execute_ok(ExecType aTypeOfExec)
  67.   {
  68.     return execute(aTypeOfExec);
  69.   };
  70. const NdbError & getNdbError(void) const;
  71. };
  72. class CTraceNdbDictionary : public NdbDictionary
  73. {
  74. public:
  75. class CTraceTable : public Table
  76. {
  77. };
  78. class CTraceIndex : public Index
  79. {
  80. };
  81. class CTraceColumn : public Column
  82. {
  83. };
  84.     int createTable(const CTraceTable &);
  85.     int createIndex(const CTraceIndex &);
  86. };
  87. class CTraceNdb : public Ndb
  88. {
  89. public:
  90.   CTraceNdb(const char* aDataBase);
  91.   CTraceNdbSchemaCon* startSchemaTransaction();
  92.   void closeSchemaTransaction(CTraceNdbSchemaCon* aSchemaCon);
  93.   CTraceNdbConnection* startTransaction();
  94.   void closeTransaction(CTraceNdbConnection* aConnection);
  95. };
  96. #endif // TraceNdbApi_hpp