List:NDB Connectors« Previous MessageNext Message »
From:Monty Taylor Date:May 7 2007 8:18am
Subject:Big merge
View as plain text  
Hey guys,

I just did a fairly large merge in to the mainline from the branch where
I've been merging in NDB/J related changes. It is possible I might not
have merged all the necessary code, and there are probably one or two
things missing - since we don't have a comprehensive test suite I can
run yet... although I started work on that.

The main things are -

I have async transactions working everywhere. There is a swig directors
based verion that works in Java, C# and Python. We still do it by hand
in Ruby and Perl, although part of that could be my inability to write a
proper test program.

I started putting the methods like setString and setDatetime over from
NDB/J. I took some of the code Mika wrote and reworked it a little.
Unfortunately, we can use neither the cstring stuff (doesn't work in
java) or my_time.h (it's a private header that is only in the binary
tarballs and is only there by mistake)

To help this, I've added some typemaps and implemented them in Python
and Ruby (still need to do them in the others) to convert incoming
objects to char* str/int len for strings like Mika wanted and MYSQL_TIME
for datetime, which then we have generic functions that handle. So
hopefully we can keep up that work.

Which means we have datetime and timestamp support, at least in some
places. If anyone would like to suggest the "right" way to handle
DateTime objects from Perl, Java or C#, I'm all ears. Decimal is still
to go.

I've also started porting the NDB/J tests over, both in the java tree
and the python tree, since python's unittest is modeled after junit,
it's fairly easy porting work. The one bad part is the
Ndb_cluster_connection has no disconnect() method, and Python has no
deterministic garbage collection, so I can't get rid of the connection
to the cluster in the tearDown() method and then when the next test
runs, it tries to open one again. I'm working on it, though.

Coming up...

more work on tests
more work on defining set* methods and doing similar stuff for equal.
figuring out what/how to do with NDB/J's NdbResultSet (which is the last
NDB/J thing we don't have, btw)
Monty Taylor
Senior Consultant
MySQL Inc.,
Get More with MySQL!
Big mergeMonty Taylor7 May