summaryrefslogtreecommitdiff
path: root/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include')
-rw-r--r--storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h103
-rw-r--r--storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h128
2 files changed, 231 insertions, 0 deletions
diff --git a/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h b/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h
new file mode 100644
index 00000000000..863c230502b
--- /dev/null
+++ b/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h
@@ -0,0 +1,103 @@
+/* Copyright (C) 2003 MySQL AB
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifndef TESTDATA_H
+#define TESTDATA_H
+
+/***************************************************************
+* I N C L U D E D F I L E S *
+***************************************************************/
+
+#include "testDefinitions.h"
+#include <random.h>
+
+/***************************************************************
+* M A C R O S *
+***************************************************************/
+
+/***************************************************************/
+/* C O N S T A N T S */
+/***************************************************************/
+
+#define NUM_TRANSACTION_TYPES 5
+#define SESSION_LIST_LENGTH 1000
+
+/***************************************************************
+* D A T A S T R U C T U R E S *
+***************************************************************/
+
+typedef struct {
+ SubscriberNumber subscriberNumber;
+ ServerId serverId;
+} SessionElement;
+
+typedef struct {
+ SessionElement list[SESSION_LIST_LENGTH];
+ unsigned int readIndex;
+ unsigned int writeIndex;
+ unsigned int numberInList;
+} SessionList;
+
+typedef struct {
+ double benchTime;
+ unsigned int count;
+ double tps;
+ unsigned int branchExecuted;
+ unsigned int rollbackExecuted;
+}TransactionDefinition;
+
+typedef struct {
+ RandomSequence transactionSequence;
+ RandomSequence rollbackSequenceT4;
+ RandomSequence rollbackSequenceT5;
+
+ TransactionDefinition transactions[NUM_TRANSACTION_TYPES];
+
+ unsigned int totalTransactions;
+
+ double innerLoopTime;
+ double innerTps;
+
+ double outerLoopTime;
+ double outerTps;
+
+ SessionList activeSessions;
+} GeneratorStatistics;
+
+typedef struct {
+ unsigned long threadId;
+ unsigned long randomSeed;
+
+ unsigned int warmUpSeconds;
+ unsigned int testSeconds;
+ unsigned int coolDownSeconds;
+ unsigned int numTransactions;
+
+ GeneratorStatistics generator;
+}ThreadData;
+
+/***************************************************************
+* P U B L I C F U N C T I O N S *
+***************************************************************/
+
+/***************************************************************
+* E X T E R N A L D A T A *
+***************************************************************/
+
+
+
+#endif /* TESTDATA_H */
+
diff --git a/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h b/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h
new file mode 100644
index 00000000000..b70ded87756
--- /dev/null
+++ b/storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h
@@ -0,0 +1,128 @@
+/* Copyright (C) 2003 MySQL AB
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifndef DBINTERFACE_H
+#define DBINTERFACE_H
+
+/***************************************************************/
+/* I N C L U D E D F I L E S */
+/***************************************************************/
+
+#include "testDefinitions.h"
+
+/***************************************************************
+* M A C R O S *
+***************************************************************/
+
+/***************************************************************/
+/* C O N S T A N T S */
+/***************************************************************/
+
+/*-----------------------*/
+/* Default Database Name */
+/*-----------------------*/
+#define DEFAULTDB "TestDbClient"
+
+/***************************************************************
+* D A T A S T R U C T U R E S *
+***************************************************************/
+
+typedef struct {
+ struct Ndb * pNDB;
+ struct NdbConnection * pCurrTrans;
+} UserHandle;
+
+/***************************************************************
+* P U B L I C F U N C T I O N S *
+***************************************************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern double userGetTimeSync(void);
+
+extern void userCheckpoint(UserHandle *uh);
+
+extern UserHandle *userDbConnect(uint32 createDb, char *dbName);
+extern void userDbDisconnect(UserHandle *uh);
+
+extern int userDbInsertServer(UserHandle *uh,
+ ServerId serverId,
+ SubscriberSuffix suffix,
+ ServerName name);
+
+extern int userDbInsertSubscriber(UserHandle *uh,
+ SubscriberNumber number,
+ uint32 groupId,
+ SubscriberName name);
+
+extern int userDbInsertGroup(UserHandle *uh,
+ GroupId groupId,
+ GroupName name,
+ Permission allowRead,
+ Permission allowInsert,
+ Permission allowDelete);
+
+extern int userDbCommit(UserHandle *uh);
+extern int userDbRollback(UserHandle *uh);
+
+extern void userTransaction_T1(UserHandle *uh,
+ SubscriberNumber number,
+ Location new_location,
+ ChangedBy changed_by,
+ ChangedTime changed_time);
+
+extern void userTransaction_T2(UserHandle *uh,
+ SubscriberNumber number,
+ Location *new_location,
+ ChangedBy changed_by,
+ ChangedTime changed_time,
+ SubscriberName subscriberName);
+
+extern void userTransaction_T3(UserHandle *uh,
+ SubscriberNumber number,
+ ServerId server_id,
+ ServerBit server_bit,
+ SessionDetails session_details,
+ unsigned int *branch_executed);
+
+extern void userTransaction_T4(UserHandle *uh,
+ SubscriberNumber number,
+ ServerId server_id,
+ ServerBit server_bit,
+ SessionDetails session_details,
+ unsigned int do_rollback,
+ unsigned int *branch_executed);
+
+extern void userTransaction_T5(UserHandle *uh,
+ SubscriberNumber number,
+ ServerId server_id,
+ ServerBit server_bit,
+ unsigned int do_rollback,
+ unsigned int *branch_executed);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+/***************************************************************
+* E X T E R N A L D A T A *
+***************************************************************/
+
+#endif /* DBINTERFACE_H */
+