Bugfixes for experimental repeatability
This commit is contained in:
parent
ab4fb0df6c
commit
71451f0c93
3 changed files with 9 additions and 5 deletions
|
@ -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
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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*);
|
||||||
|
|
Loading…
Reference in a new issue