On 04/08/2010 11:46 AM, Jeremy Dunck wrote:
On Thu, Apr 8, 2010 at 12:41 PM, Mike Gallamore
<mike.e.gallam...@googlemail.com> wrote:
Hello. If you are doing exactly the same thing as N::C::Easy (ie a join on
the gettimeofday). Then you should have the same problem I found a fix for.
The problem is that the microseconds value isn't zero padded. So if you are
at say 23s 25 micro seconds you get a date: 2325. not 23000025 which of
course means that sometimes your next timestamp will be "older" than your
previous one. Here is a patch to N::C::Easy that fixes this and hopefully a
similar thing will fix your code.
All maintainers of competing libraries should be so helpful. :-)
Thanks for the compliment but I'm not a maintainer of N::C::Easy just a
user. Ted Zlatanov is the maintainer of the package and is quite active
on the forums. I'd already started looking at the area of the code
before he mentioned it, but if I hadn't thought of it his suggestions
definitely would have pointed me in the right direction. Also, I've
literally seen updates to the package the same day that a new version of
Cassandra comes out. Good job Ted.
Hopefully my fix helps others. I imagine it is something you'll run into
regardless of the language/interface you use, for example I'm pretty
sure that the C/C++ time function truncates values too. I'd recommend
anyone using time to generate your timestamp: be careful that your
timestamp is always the same length (or at least that the sub components
that you are concatenating are the length you expect them to be).
Cheers