Bugfixes for experimental repeatability

This commit is contained in:
Sears Russell 2007-12-14 19:08:09 +00:00
parent ab4fb0df6c
commit 71451f0c93
3 changed files with 9 additions and 5 deletions

View file

@ -6,6 +6,10 @@
#include <stasis/transactional.h>
#define DEFINED_VAL_T
//typedef int32_t val_t; // rose executable's input contains 32 bit values
typedef int64_t val_t; // rose executable's input contains 64 bit values
#include "stasis/page/compression/for-impl.h"
#include "stasis/page/compression/pstar-impl.h"
#include "stasis/page/compression/rle-impl.h"
@ -14,8 +18,6 @@
#include "stasis/operations/lsmIterators.h"
typedef int32_t val_t; // XXX needed by lsmWorkers..
#include "stasis/operations/lsmWorkers.h"
#undef end

View file

@ -484,10 +484,12 @@ template <class ITERA, class ITERB, class ROW>
return toByteArray(&t->a_);
}
#ifdef DEFINED_VAL_T
template <class PAGELAYOUT>
inline const byte* toByteArray(treeIterator<int,PAGELAYOUT> *const t) {
inline const byte* toByteArray(treeIterator<val_t,PAGELAYOUT> *const t) {
return (const byte*)&(**t);
}
#endif
template <class PAGELAYOUT,class ROW>
inline const byte* toByteArray(treeIterator<ROW,PAGELAYOUT> *const t) {
return (**t).toByteArray();

View file

@ -15,7 +15,7 @@ namespace rose {
cast from a TYPE to a byte *. These were written to make it easier
to write templates that work with different types of iterators.
*/
inline const byte * toByteArray(int const *const *const i) {
inline const byte * toByteArray(val_t const *const *const i) {
return (const byte*)*i;
}
inline const byte * toByteArray(Tuple<val_t>::iterator * const t) {
@ -25,7 +25,7 @@ inline const byte * toByteArray(Tuple<val_t>::iterator * const t) {
template<class PAGELAYOUT,class ENGINE,class ITER,class ROW>
struct insert_args {
int comparator_idx;
int rowsize;typedef int32_t val_t;
int rowsize;
ITER *begin;
ITER *end;
pageid_t(*pageAlloc)(int,void*);