userInterface.h
上传用户: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. #ifndef DBINTERFACE_H
  14. #define DBINTERFACE_H
  15. /***************************************************************/
  16. /* I N C L U D E D   F I L E S                                 */
  17. /***************************************************************/
  18. #include "testDefinitions.h"
  19. #include "testData.h"
  20. /***************************************************************
  21. * M A C R O S                                                  *
  22. ***************************************************************/
  23. /***************************************************************/
  24. /* C O N S T A N T S                                           */
  25. /***************************************************************/
  26. /*-----------------------*/
  27. /* Default Database Name */
  28. /*-----------------------*/
  29. #define DEFAULTDB "TestDbClient"
  30. /***************************************************************
  31. * D A T A   S T R U C T U R E S                                *
  32. ***************************************************************/
  33. /***************************************************************
  34. * P U B L I C    F U N C T I O N S                             *
  35. ***************************************************************/
  36. typedef struct Ndb Ndb;
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40.   extern void showTime();
  41.   extern double userGetTime(void);
  42.   extern Ndb   *asyncDbConnect(int parallellism);
  43.   extern void    asyncDbDisconnect(Ndb* pNDB);
  44.   extern void start_T1(Ndb * uh, ThreadData * data, int async);
  45.   extern void start_T2(Ndb * uh, ThreadData * data, int async);
  46.   extern void start_T3(Ndb * uh, ThreadData * data, int async);
  47.   extern void start_T4(Ndb * uh, ThreadData * data, int async);
  48.   extern void start_T5(Ndb * uh, ThreadData * data, int async);
  49.   
  50.   extern void complete_T1(ThreadData * data);
  51.   extern void complete_T2(ThreadData * data);
  52.   extern void complete_T3(ThreadData * data);
  53.   extern void complete_T4(ThreadData * data);
  54.   extern void complete_T5(ThreadData * data);
  55. #ifdef __cplusplus
  56. }
  57. #endif
  58. /***************************************************************/
  59. /* I N C L U D E D   F I L E S                                 */
  60. /***************************************************************/
  61. #include "testDefinitions.h"
  62. /***************************************************************
  63. * M A C R O S                                                  *
  64. ***************************************************************/
  65. /***************************************************************/
  66. /* C O N S T A N T S                                           */
  67. /***************************************************************/
  68. /*-----------------------*/
  69. /* Default Database Name */
  70. /*-----------------------*/
  71. #define DEFAULTDB "TestDbClient"
  72. /***************************************************************
  73. * D A T A   S T R U C T U R E S                                *
  74. ***************************************************************/
  75. typedef struct {
  76.   struct Ndb_cluster_connection* pNCC;
  77.   struct Ndb           * pNDB;
  78.   struct NdbConnection * pCurrTrans;
  79. } UserHandle;
  80. /***************************************************************
  81. * P U B L I C    F U N C T I O N S                             *
  82. ***************************************************************/
  83. #ifdef __cplusplus
  84. extern "C" {
  85. #endif
  86. extern double userGetTimeSync(void);
  87. extern void userCheckpoint(UserHandle *uh);
  88. extern UserHandle *userDbConnect(uint32 createDb, char *dbName);
  89. extern void        userDbDisconnect(UserHandle *uh);
  90. extern int userDbInsertServer(UserHandle      *uh,
  91.                               ServerId         serverId,
  92.                       SubscriberSuffix suffix,
  93.                       ServerName       name);
  94. extern int userDbInsertSubscriber(UserHandle      *uh,
  95.                           SubscriberNumber number,
  96.                                   uint32           groupId,
  97.                           SubscriberName   name);
  98. extern int userDbInsertGroup(UserHandle *uh,
  99.              GroupId     groupId, 
  100.              GroupName   name,
  101.              Permission  allowRead,
  102.              Permission  allowInsert,
  103.              Permission  allowDelete);
  104.   
  105.   extern int userDbCommit(UserHandle *uh);
  106.   extern int userDbRollback(UserHandle *uh);
  107.   
  108. #ifdef __cplusplus
  109. }
  110. #endif
  111. /***************************************************************
  112. * E X T E R N A L   D A T A                                    *
  113. ***************************************************************/
  114. #endif /* DBINTERFACE_H */