Hi John- I was thinking more about that date formatting use case that I had mentioned earlier, where some light transformations need to be performed at run-time on a column that is getting grouped on. Instead of putting that logic into fastbit I was thinking it would be super handy if there was a way that one could register a callback for these situations.
After examining the fastbit code a bit I think it could be accomplished the following way: If a callback is somehow registered, the ibis::bundles::bundles constructors would just need to call the callback and pass it the colList before sort() gets called. With the colList in hand a users callback could pick a column and dynamic_cast to descendents of ibis::colValues, and adjust data as needed. In the instance of date formatting, the callback would really just need to adjust the epoch time by some simple timezone offset and DST rules. I think the key idea here is that the callback just needs to be called before the sort and reduce happens. I have a proof of concept of this working locally, but it is kind of a hack as it uses a single global callback variable. I would be happy to contribute it, but I figured it would be wise to first run the idea by you. I figure you would probably have a more elegant way to do this that does not use a global var =) Thanks so much, Sean _______________________________________________ FastBit-users mailing list [email protected] https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
