~mordred/ndb-bindings/resultsets

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
--- main-exceptions-good.i	2007-02-22 11:41:30.000000000 -0600
+++ main-extended.i	2007-02-22 12:41:38.000000000 -0600
@@ -68,8 +68,15 @@
     $action
       if (result) { 
 	const char * msg = "Connect to management server failed"; 
+#if defined(SWIGPYTHON)
         PyErr_SetString(PyExc_RuntimeError, msg); 
         return PyInt_FromLong(-1); 
+#endif
+#if defined(SWIGJAVA)
+	jclass clazz = jenv->FindClass("java/lang/RuntimeException");
+	jenv->ThrowNew(clazz, msg); 
+        return -1; 
+#endif 
       }
   }
 
@@ -79,6 +86,14 @@
 };
 
 
+%extend Ndb_cluster_connection {
+public:
+  Ndb* getNdb(const char* aCatalogName="", const char* aSchemaName="def") {
+    Ndb* myNdb = new Ndb(self,aCatalogName,aSchemaName);
+    return myNdb; 
+  }
+}
+
 class Ndb { 
 
 public:
@@ -112,6 +127,29 @@
   void closeTransaction(NdbTransaction*);
 };     
 
+%extend Ndb {
+public:
+  NdbTransaction* startTransaction(const char* aTableName, 
+				   const char *keyData) {
+    const NdbDictionary::Dictionary *myDict = self->getDictionary();
+    const NdbDictionary::Table *myTable = myDict->getTable(aTableName);
+    return self->startTransaction(myTable,keyData);
+  }
+  NdbTransaction* startTransaction(const char* aTableName, 
+				   int keyData) {
+    const NdbDictionary::Dictionary *myDict = self->getDictionary();
+    const NdbDictionary::Table *myTable = myDict->getTable(aTableName);
+    return self->startTransaction(myTable,(const char *) &keyData);
+  }
+
+  Uint64 getAutoIncrementValue(const char* aTableName,
+			       Uint32 cacheSize) {
+    
+    Uint64 id = 0;
+    self->getAutoIncrementValue(aTableName,id,cacheSize);
+    return id;
+  };
+};
 
 class NdbTransaction {
   ~NdbTransaction();
@@ -262,5 +300,11 @@
   }
 
 };
+
+%extend NdbError { 
+  const char * getMessage() { 
+   return self->message; 
+  }
+}
 /* test */
 /* -*- mode: c++ -*- */