rjmcguire / cassandra-d

D language cassandra client
MIT License
10 stars 8 forks source link

Makes the vibe.d version fully work, cleans up/extends the public API and prepares for publication on the DUB registry #2

Closed s-ludwig closed 10 years ago

s-ludwig commented 10 years ago

I've finally gotten a little bit of time to start playing with Cassandra and have worked a bit yesterday to extend the library.

The main changes are:

I'd also like to go through all names and switch to either Phobos or vibe.d naming convention as it currently is still a bit inconsistent in some places, but wanted to get your opinion on it (and the existing changes) first.

rjmcguire commented 10 years ago

Nice clean up, thanks. I'll test this out as soon as I can just to make sure it still works the same on my side. The only thing I'm really against is things like coming up with new names for things that exist already. e.g. canFind which exists in Phobos should be called contains. Considering the expected audience for cassandra-d it would make sense to use vibe.d naming conventions. There is code in cassandra-d that should really be in a protocol library too. Lately I've just been working on a wrapper which works like Google's non-relational database apis.

s-ludwig commented 10 years ago

OK, no I was thinking mostly about the character case of enum mebers and acronyms and private/protected members (Phobos uses _member and vibe.d m_member). I'll also need to get to know the database a bit better before I can continue in a meaningful way.

A high level wrapper would of course be nice if just to avoid manual string operations - did you think about trying to integrate with hibernateD/DDBC? ... if that makes sense at all that is, I didn't yet have a closer look at those.

s-ludwig commented 10 years ago

BTW, I've started to make some larger refactoring and registered the package on code.dlang.org, since I'm now evaluating Cassandra more seriously. It's not finished yet, but it already does a lot regarding memory allocations and moving the low-level Connection API to the higher level classes, such as CassandraKeyspace and CassandraTable.

Maybe you can have a look at it and see if it fits your expectations, so that those changes can possibly be merged upstream (assuming that you plan to keep maintaining the project)

s-ludwig commented 10 years ago

Oh, scratch that, I just noticed that this pull request has already been updated.