=== modified file 'python/Makefile.am'
--- a/python/Makefile.am	2008-02-13 01:06:48 +0000
+++ b/python/Makefile.am	2008-04-13 21:25:51 +0000
@@ -4,7 +4,7 @@
 pythonarch_DATA=${builddir}/mysql/cluster/_ndbapi.so ${builddir}/mysql/cluster/_mgmapi.so
 
 CLEANFILES=ndbapi.cpp ndbapi.h mgmapi.cpp mysql/cluster/ndbapi.py mysql/cluster/mgmapi.py mysql/cluster/events.py mysql/cluster/listeners.py *.so mysql/cluster/*pyc *pyc mgmapi.h events.cpp listeners.cpp events.h listeners.h mysql/cluster/*.so ez_setup.pyc ${builddir}/mysql/__init__.pyc
-EXTRA_DIST = *py mgmapi.i ndbapi.i events.i listeners.i PKG-INFO README MANIFEST.in mysql/cluster/alchemy.py mysql/__init__.py mysql/cluster/__init__.py  mysql/cluster/NdbObject mysql/cluster/tests
+EXTRA_DIST = *py mgmapi.i ndbapi.i events.i listeners.i PKG-INFO README MANIFEST.in mysql/cluster/alchemy.py mysql/__init__.py mysql/cluster/__init__.py  tests/ndbapi/*py test/*py examples/*py
 
 SWIG_OPTS=-O -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/mgmpp -I$(SWIG_DIR) @MYSQL_INCLUDES@ -outdir $(builddir)/mysql/cluster
 

=== renamed file 'python/testsqlalchemy.py' => 'python/examples/alchemy.py'
=== renamed file 'python/testasynch.py' => 'python/examples/async.py'
=== renamed file 'python/testdt.py' => 'python/examples/checkdattime.py'
=== renamed file 'python/testjoin.py' => 'python/examples/joinperf.py'
--- a/python/testjoin.py	2007-10-27 09:26:42 +0000
+++ b/python/examples/joinperf.py	2008-04-13 21:25:51 +0000
@@ -11,7 +11,7 @@
 INSERT_NUM=int(sys.argv[2])
 BATCH_SIZE=1000
 
-db = MySQLdb.connect(host="localhost",user="root",read_default_group="client",db="test2")
+db = MySQLdb.connect(host="localhost",user="root",read_default_group="client",db="test")
 
 cur=db.cursor()
 
@@ -85,8 +85,8 @@
   myOperation.insertTuple()
   auto_id = myNdb.getAutoIncrementValue("mytablename",INSERT_NUM)
 
-  myOperation.equalUint64("ATTR1",auto_id);
-  myOperation.setValue("ATTR2",t%10);
+  myOperation.equalUlong("ATTR1",auto_id);
+  myOperation.setInt("ATTR2",t%10);
 
   #for i in range(0,BATCH_SIZE):
 
@@ -95,8 +95,8 @@
   myOperation=myTransaction.getNdbOperation("myothertable")
   myOperation.insertTuple()
   
-  myOperation.equalUint64("ATTR2",auto_id);
-  myOperation.setValue("ATTR3", attr3id);
+  myOperation.equalUlong("ATTR2",auto_id);
+  myOperation.setInt("ATTR3", attr3id);
       
   ret = myTransaction.execute( ndbapi.Commit )
   if ret == -1:
@@ -155,8 +155,7 @@
     myScanOperation=myTransaction.getNdbIndexScanOperation(myAttr2Idx)
     myScanOperation.readTuples(ndbapi.NdbOperation.LM_CommittedRead)
 
-    myScanOperation.equalUint64("ATTR2",id_num)
-    myScanOperation.endOfBound(0)
+    myScanOperation.equalUlong("ATTR2",id_num)
     myRecAttr= myScanOperation.getValue("ATTR1")
 
     
@@ -168,7 +167,7 @@
     while 1:
       myJoinOperation=myJoinTrans.getNdbOperation("myothertable")
       myJoinOperation.readTuple(ndbapi.NdbOperation.LM_CommittedRead)
-      myJoinOperation.equalUint64("ATTR2",myRecAttr.getValue())
+      myJoinOperation.equalUlong("ATTR2",myRecAttr.getValue())
       attrs.append(myJoinOperation.getValue("ATTR3"))
       if (myScanOperation.nextResult(True) != 0) :
         break

=== renamed file 'python/testmgm.py' => 'python/examples/mgm.py'
=== removed file 'python/test2.py'
--- a/python/test2.py	2007-07-25 17:20:31 +0000
+++ b/python/test2.py	1970-01-01 00:00:00 +0000
@@ -1,50 +0,0 @@
-import ndb
-import sys,time,random,struct,math
-
-
-### Connect to cluster
-
-print "connecting to cluster\n"
-
-   
-connection = ndb.NdbFactory.createNdbClusterConnection();
-
-if (connection.connect(5,3,1)):
-
-    print "Connect to cluster management server failed."
-    sys.exit(-1)
-    
-    
-if (connection.waitUntilReady(30,30)):
-    print "Cluster was not ready within 30 secs."
-    sys.exit(-1);
-
-
-myNdb = ndb.Ndb(connection,"sfndb" )
-
-if (myNdb.init(4) == -1):
-    print myNdb.getNdbError().getMessage()
-    sys.exit(-1)
-
-id_num=8136
-
-table_name="Project"
-myTrans = myNdb.startTransaction(table_name,"%s"%id_num)
-if myTrans is None:
-    print myNdb.getNdbError().getMessage()
-
-myOper = myTrans.getNdbOperation(table_name)
-myOper.readTuple(ndb.NdbOperation.LM_Read)
-
-myOper.equal("id",id_num)
-
-myRecAttr= myOper.getValue("director")
-
-
-if myTrans.execute( ndb.Commit ) == -1:
-    print myTrans.getNdbError().getMessage()
-foo=myRecAttr.getValue()
-print foo, myRecAttr.getColType()
-myNdb.closeTransaction(myTrans)
-
-

=== renamed file 'python/testcol.py' => 'python/tests/ndbapi/NdbColumn.py'
--- a/python/testcol.py	2007-07-26 00:19:55 +0000
+++ b/python/tests/ndbapi/NdbColumn.py	2008-04-13 21:25:51 +0000
@@ -1,23 +1,32 @@
+from tests import ClusterTestCase
 from mysql.cluster import ndbapi
+import unittest
+
+
 import sys
 
-c=ndbapi.NdbFactory.createNdbClusterConnection()
-c.connect(1,1,1)
-c.waitUntilReady(5,5)
-
-ndb=c.createNdb('test')
-ndb.init(1)
-t=ndb.startTransaction()
-
-d=ndb.getDictionary()
-dt=d.getTable('testproject')
-col=dt.getColumn('name')
-vst=ndbapi.ndbFormatString(col,"foo",3)
-print repr(vst)
-
-o=t.getNdbOperation(dt)
-o.insertTuple()
-o.equal('id',18)
-o.setString('name',"foo")
-t.execute(ndbapi.Commit)
+class NdbColumn(ClusterTestCase.ClusterTestCase):
+
+  TABLE1="test_column"
+
+  def setUp(self):
+    super(NdbColumn, self).setUp()
+
+    self.createTable(self.TABLE1,"""
+      ( id integer not null primary key,
+        name varchar(24)  ) engine=ndbcluster;""")
+
+  def testStringFormat(self):
+    d=self.ndb.getDictionary()
+    dt=d.getTable(self.TABLE1)
+    col=dt.getColumn('name')
+    vst=ndbapi.ndbFormatString(col,"foo",3)
+    self.assertEqual("\x03foo",vst)
+
+test_column = unittest.TestLoader().loadTestsFromTestCase(NdbColumn)
+
+if __name__=="__main__":
+    #unittest.main()
+
+    unittest.TextTestRunner(verbosity=2).run(test_column)
 

=== modified file 'python/tests/ndbapi/NdbTest.py'
--- a/python/tests/ndbapi/NdbTest.py	2008-04-13 21:08:34 +0000
+++ b/python/tests/ndbapi/NdbTest.py	2008-04-13 21:25:51 +0000
@@ -79,9 +79,9 @@
                     
 
 
-test_all = unittest.TestLoader().loadTestsFromTestCase(NdbTest)
+test_ndb = unittest.TestLoader().loadTestsFromTestCase(NdbTest)
         
 if __name__=="__main__":
     #unittest.main()
     
-    unittest.TextTestRunner(verbosity=2).run(test_all)
+    unittest.TextTestRunner(verbosity=2).run(test_ndb)

=== removed file 'python/teststr.py'
--- a/python/teststr.py	2007-07-26 00:19:55 +0000
+++ b/python/teststr.py	1970-01-01 00:00:00 +0000
@@ -1,175 +0,0 @@
-import sys,time,random
-from mysql.cluster import ndbapi
-import MySQLdb
-
-if len(sys.argv) != 3:
-  print "Usage:\n\ttest.py NUM_OF_ITERATIONS NUM_OF_ROWS "
-  sys.exit(1)
-
-num_iter=sys.argv[1]
-INSERT_NUM=sys.argv[2]
-
-db = MySQLdb.connect(host="localhost",user="root", read_default_group="client")
-
-cur=db.cursor()
-
-print "Dropping and recreating schema\n"
-
-cur.execute("CREATE DATABASE if not exists test")
-cur.execute("USE test")
-
-cur.execute("""
-CREATE TABLE if not exists
-  mytablename
-   (ATTR1 INT UNSIGNED,
-    ATTR2 varchar(32) not null,
-    PRIMARY KEY USING HASH (ATTR1),
-  UNIQUE MYINDEXNAME USING HASH (ATTR2))
-ENGINE=NDBCLUSTER
-""")
-
-db.close()
-
-
-### Connect to cluster
-
-print "connecting to cluster\n"
-    
-connection = ndbapi.NdbFactory.createNdbClusterConnection() 
-#NdbClusterConnection()
-
-if (connection.connect(5,3,1)):
-
-    print "Connect to cluster management server failed."
-    sys.exit(-1)
-    
-    
-if (connection.waitUntilReady(30,30)):
-    print "Cluster was not ready within 30 secs."
-    sys.exit(-1);
-
-
-myNdb = ndbapi.Ndb(connection,"test" )
-
-if (myNdb.init(4) == -1):
-    print myNdb.getNdbError()
-    sys.exit(-1)
-
-
-print "running tests:\n"
-
-### Fill db
-
-
-before_t = time.time()
-
-for i in range(0,int(INSERT_NUM)):
-
-    myTransaction= myNdb.startTransaction()
-      
-    myOperation= myTransaction.getNdbOperation("mytablename")
-      
-    myOperation.insertTuple()
-      
-    auto_id = myNdb.getAutoIncrementValue("mytablename",0)
-        
-    print auto_id
-    myOperation.equalUint64("ATTR1",auto_id);
-    myOperation.setValue("ATTR2", i);
-      
-    ret = myTransaction.execute( ndbapi.Commit )
-    if ret == -1:
-	print myTransaction.getNdbError().message
-        
-    myTransaction.close()
-
-after_t = time.time()
-print "Insert time for %s: %s -- %s" % ( INSERT_NUM, after_t, before_t)
-print "\t %s" % (after_t - before_t)
-
-
-### Get list of ids
-    
-myTransaction = myNdb.startTransaction()
-
-
-myScanOperation=myTransaction.getNdbScanOperation("mytablename");
-
-
-if myScanOperation is None:
-    print myTransaction.getNdbError();
-
-
-if myScanOperation.readTuples(ndbapi.NdbOperation.LM_CommittedRead):
-    print myScanOperation.getNdbError();
-
-
-    
-myRecAttr=myScanOperation.getValue("ATTR1");
-    
-    
-myTransaction.execute(ndbapi.NoCommit);
-
-ids=[]
-while 1:
-      
-    if (myScanOperation.nextResult(True) != 0) :
-        break
-      
-    random_id = myRecAttr.getValue()
-    ids.append(random_id)
-      
-    
-myTransaction.close()
-
-
-### Fetch ids using ndbapi
-
-before_t = time.time()
-
-for f in range(0,int(num_iter)):
-
-    myTrans = myNdb.startTransaction()
-    if myTrans is None:
-        print myNdb.getNdbError()
-
-    myOper = myTrans.getNdbOperation("mytablename")
-    myOper.readTuple(ndbapi.NdbOperation.LM_Read)
-
-    id_num = ids[random.randrange(0,len(ids))]
-    myOper.equalUint64("ATTR1",id_num)
-            
-    myRecAttr= myOper.getValue("ATTR2")
-
-    
-    if myTrans.execute( ndbapi.Commit ) == -1:
-        print myTrans.getNdbError()
-    #foo=myRecAttr.getValue()
-    foo=myRecAttr.getValue()
-    print foo, myRecAttr.getColType(), myRecAttr.getValue()
-    myTrans.close()
-      
-
-after_t = time.time()
-print "NDBAPI time for %s: %s -- %s" % ( num_iter, after_t, before_t)
-print "\t %s" % (after_t - before_t)
-
-
-db = MySQLdb.connect(host="localhost",user="root", db="test")
-
-cur=db.cursor()
-
-before_t = time.time()
-
-for f in range(0,int(num_iter)):
-
-    id_num = ids[random.randrange(0,len(ids))]
-
-    cur.execute("select ATTR2 from mytablename where ATTR1=%s" % (id_num))
-    res=cur.fetchall()
-
-after_t = time.time()
-
-after_t = time.time()
-print "MySQL time for %s: %s -- %s" % ( num_iter, after_t, before_t)
-print "\t %s" % (after_t - before_t)

=== removed file 'python/teststr2.py'
--- a/python/teststr2.py	2007-07-26 00:19:55 +0000
+++ b/python/teststr2.py	1970-01-01 00:00:00 +0000
@@ -1,104 +0,0 @@
-import sys,time,random
-from mysql.cluster import ndbapi
-
-if len(sys.argv) != 3:
-  print "Usage:\n\ttest.py NUM_OF_ITERATIONS NUM_OF_ROWS "
-  sys.exit(1)
-
-num_iter=sys.argv[1]
-INSERT_NUM=sys.argv[2]
-
-
-print "connecting to cluster\n"
-
-#ndb.ndb_init()
-
-connection = ndbapi.NdbFactory.createNdbClusterConnection()
-
-if (connection.connect(5,3,1)):
-
-    print "Connect to cluster management server failed."
-    sys.exit(-1)
-    
-    
-if (connection.waitUntilReady(30,30)):
-    print "Cluster was not ready within 30 secs."
-    sys.exit(-1);
-
-
-myNdb = connection.createNdb("test" )
-
-if (myNdb.init(4) == -1):
-    print myNdb.getNdbError()
-    sys.exit(-1)
-
-
-print "running tests:\n"
-
-### Get list of ids
-    
-myTransaction = myNdb.startTransaction()
-
-
-myScanOperation=myTransaction.getNdbScanOperation("mytablename");
-
-
-if myScanOperation is None:
-    print myTransaction.getNdbError();
-
-
-if myScanOperation.readTuples(ndbapi.NdbOperation.LM_CommittedRead):
-    print myScanOperation.getNdbError();
-
-
-    
-myRecAttr=myScanOperation.getValue("ATTR1");
-    
-    
-myTransaction.execute(ndbapi.NoCommit);
-
-ids=[]
-while 1:
-      
-    if (myScanOperation.nextResult(True) != 0) :
-        break
-      
-    random_id = myRecAttr.getValue()
-    ids.append(random_id)
-
-print ids
-    
-myTransaction.close()
-
-
-### Fetch ids using ndb
-
-before_t = time.time()
-
-for f in range(0,int(num_iter)):
-
-    myTrans = myNdb.startTransaction()
-    if myTrans is None:
-        print myNdb.getNdbError()
-
-    myOper = myTrans.getNdbOperation("mytablename")
-    myOper.readTuple(ndbapi.NdbOperation.LM_Read)
-
-    id_num = ids[random.randrange(0,len(ids))]
-    myOper.equalUint64("ATTR1",id_num)
-            
-    myRecAttr= myOper.getValue("ATTR2")
-    
-    if myTrans.execute( ndbapi.Commit ) == -1:
-        print myTrans.getNdbError()
-    bar=myRecAttr.aRef()
-    print "bar:", bar
-    #foo=myRecAttr.getValue()
-    myTrans.close()
-      
-
-#ndb.ndb_end(0)
-after_t = time.time()
-print "NDBAPI time for %s: %s -- %s" % ( num_iter, after_t, before_t)
-print "\t %s" % (after_t - before_t)
-

=== removed file 'python/teststrwrite.py'
--- a/python/teststrwrite.py	2007-07-26 00:19:55 +0000
+++ b/python/teststrwrite.py	1970-01-01 00:00:00 +0000
@@ -1,66 +0,0 @@
-import sys,time,random,struct
-from mysql.cluster import ndbapi
-
-
-
-print "connecting to cluster\n"
-
-#ndb.ndb_init()
-
-connection = ndbapi.NdbFactory.createNdbClusterConnection()
-
-if (connection.connect(5,3,1)):
-
-    print "Connect to cluster management server failed."
-    sys.exit(-1)
-    
-    
-if (connection.waitUntilReady(30,30)):
-    print "Cluster was not ready within 30 secs."
-    sys.exit(-1);
-
-
-myNdb = connection.createNdb( "sfndb" )
-
-if (myNdb.init(4) == -1):
-    print myNdb.getNdbError()
-    sys.exit(-1)
-
-
-print "running tests:\n"
-
-### Get list of ids
-    
-myTransaction = myNdb.startTransaction()
-
-
-op = myTransaction.getNdbOperation("ContentObject")
-
-print op
-
-op.insertTuple()
-
-id=myNdb.getAutoIncrementValue("ContentObject",0)
-print id
-op.equalUint64("id",id)
-
-# set value option three is col length+1 if param is string
-value = "hello"
-print value
-if (op.setValue("name",value)==-1):
-    print op.getNdbError().message
-    raise "shit"
-if (op.setValue("parent_id",7)==-1):
-    print op.getNdbError().message
-    raise "shit"
-
-if (myTransaction.execute(ndb.Commit)==-1):
-    print myTransaction.getNdbError().message
-    raise "crap"
-print "execute"
-myTransaction.close()
-print "close"
-### Fetch ids using ndb
-
-#ndb.ndb_end(0)
-



