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> #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/for-impl.h"
#include "stasis/page/compression/pstar-impl.h" #include "stasis/page/compression/pstar-impl.h"
#include "stasis/page/compression/rle-impl.h" #include "stasis/page/compression/rle-impl.h"
@ -14,8 +18,6 @@
#include "stasis/operations/lsmIterators.h" #include "stasis/operations/lsmIterators.h"
typedef int32_t val_t; // XXX needed by lsmWorkers..
#include "stasis/operations/lsmWorkers.h" #include "stasis/operations/lsmWorkers.h"
#undef end #undef end

View file

@ -484,10 +484,12 @@ template <class ITERA, class ITERB, class ROW>
return toByteArray(&t->a_); return toByteArray(&t->a_);
} }
#ifdef DEFINED_VAL_T
template <class PAGELAYOUT> 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); return (const byte*)&(**t);
} }
#endif
template <class PAGELAYOUT,class ROW> template <class PAGELAYOUT,class ROW>
inline const byte* toByteArray(treeIterator<ROW,PAGELAYOUT> *const t) { inline const byte* toByteArray(treeIterator<ROW,PAGELAYOUT> *const t) {
return (**t).toByteArray(); 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 cast from a TYPE to a byte *. These were written to make it easier
to write templates that work with different types of iterators. 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; return (const byte*)*i;
} }
inline const byte * toByteArray(Tuple<val_t>::iterator * const t) { 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> template<class PAGELAYOUT,class ENGINE,class ITER,class ROW>
struct insert_args { struct insert_args {
int comparator_idx; int comparator_idx;
int rowsize;typedef int32_t val_t; int rowsize;
ITER *begin; ITER *begin;
ITER *end; ITER *end;
pageid_t(*pageAlloc)(int,void*); pageid_t(*pageAlloc)(int,void*);