Hello, While digging more for this I've found these :
http://svn.apache.org/viewvc/thrift/lib/c_glib/test/ Which shows how to create the TSocket and TTransport structures, very similar to the way it's done in C++. Now I'm stuck on how to create the actual connection to the Cassandra server. It should be a function generated by the Cassandra thrift interface, but I can't seem to find the proper one. Any help would be very much appreciated. Regards, Vlad Mina Naguib <mina.nag...@bloomdigital.com> wrote: > >Hi Vlad > >I'm the author of libcassie. > >For what it's worth, it's in production where I work, consuming a heavily-used >cassandra 0.7.9 cluster. > >We do have plans to upgrade the cluster to 1.x, to benefit from all the >improvements, CQL, etc... but that includes revising all our clients (across >several programming languages). > >So, it's definitely on my todo list to address our C clients by either >upgrading libcassie, or possibly completely rewriting it. > >Currently it's a wrapper around the C++ parent project libcassandra. I >haven't been fond of having that many layered abstractions, and the thrift >Glib2 interface has definitely piqued my interest, so I'm leaning towards a >complete rewrite. > >While we're at it, it would also be nice to have features like asynchronous >modes for popular event loops, connection pooling, etc. > >Unfortunately, I have no milestones set for any of this, nor the time >(currently) to experiment and proof-of-concept it. > >I'd be curious to hear from other C hackers whether they've experimented with >the thrift Glib2 interface and gotten a "hello world" to work against >cassandra 1.x. Perhaps there's room for some code sharing/collaboration on a >new library to supersede the existing libcassie+libcassandra. > > >On 2011-12-14, at 5:16 PM, Vlad Paiu wrote: > >> Hello Eric, >> >> We have that, thanks alot for the contribution. >> The idea is to not play around with including C++ code in a C app, if >> there's an alternative ( the thrift g_libc ). >> >> Unfortunately, since thrift does not generate a skeleton for the glibc code, >> I don't know how to find out what the API functions are called, and guessing >> them is not going that good :) >> >> I'll wait a little longer & see if anybody can help with the C thrift, or at >> least tell me it's not working. :) >> >> Regards, >> Vlad >> >> Eric Tamme <eta...@gmail.com> wrote: >> >>> On 12/14/2011 04:18 PM, Vlad Paiu wrote: >>>> Hi, >>>> >>>> Just tried libcassie and seems it's not compatible with latest cassandra, >>>> as even simple inserts and fetches fail with InvalidRequestException... >>>> >>>> So can anybody please provide a very simple example in C for connecting& >>>> fetching columns with thrift ? >>>> >>>> Regards, >>>> Vlad >>>> >>>> Vlad Paiu<vladp...@opensips.org> wrote: >>>> >>> >>> Vlad, >>> >>> We have written a specific cassandra db module for usrloc with opensips >>> and have open sourced it on github. We use the thrift generated c++ >>> bindings and extern stuff to c. I spoke to bogdan about this a while >>> ago, and gave him the github link, but here it is for your reference >>> https://github.com/junction/db_jnctn_usrloc >>> >>> Hopefully that helps. I idle in #opensips too, just ask about >>> cassandra in there and I'll probably see it. >>> >>> - Eric Tamme >>> >