Multi-core Hash Joins
Main-memory hash join implementations for multi-core CPUs
generator.h
Go to the documentation of this file.
1
11#ifndef GENERATOR_H
12#define GENERATOR_H
13
14#include "types.h"
15
16#ifdef __cplusplus
17namespace eth_hashjoin {
18extern "C" {
19#endif // __cplusplus
20
31void
32seed_generator(unsigned int seed);
33
37int
38create_relation_nonunique(relation_t *reln, int64_t ntuples, const int64_t maxid);
39
44int
45create_relation_pk(relation_t *reln, int64_t ntuples);
46
52int
53create_relation_fk(relation_t *reln, int64_t ntuples, const int64_t maxid);
54
60int
61create_relation_fk_from_pk(relation_t *fkrel, relation_t *pkrel, int64_t ntuples);
62
68int
69create_relation_zipf(relation_t * reln, int64_t ntuples,
70 const int64_t maxid, const double zipfparam);
71
72
78int
79parallel_create_relation(relation_t *reln, uint64_t ntuples,
80 uint32_t nthreads, uint64_t maxid);
81
88int
90 const int64_t maxid, uint32_t nthreads);
91
95void
97
103int
104numa_localize(tuple_t * relation, int64_t num_tuples, uint32_t nthreads) ;
105
109void
110write_relation(relation_t * rel, char * filename);
111
113int
114load_relation(relation_t * relation, char * filename, uint64_t num_tuples);
115
118#ifdef __cplusplus
119} // extern "C"
120} // namespace eth_hashjoin
121#endif // __cplusplus
122#endif /* GENERATOR_H */
int create_relation_fk_from_pk(relation_t *fkrel, relation_t *pkrel, int64_t ntuples)
Definition: generator.c:519
int create_relation_nonunique(relation_t *reln, int64_t ntuples, const int64_t maxid)
Definition: generator.c:554
int parallel_create_relation(relation_t *reln, uint64_t ntuples, uint32_t nthreads, uint64_t maxid)
Definition: generator.c:293
void delete_relation(relation_t *reln)
Definition: generator.c:602
void write_relation(relation_t *rel, char *filename)
Definition: generator.c:240
int parallel_create_relation_fk(relation_t *reln, int64_t ntuples, const int64_t maxid, uint32_t nthreads)
int create_relation_pk(relation_t *reln, int64_t ntuples)
Definition: generator.c:270
int create_relation_zipf(relation_t *reln, int64_t ntuples, const int64_t maxid, const double zipfparam)
Definition: generator.c:583
int numa_localize(tuple_t *relation, int64_t num_tuples, uint32_t nthreads)
Definition: generator.c:413
void seed_generator(unsigned int seed)
Definition: generator.c:77
int create_relation_fk(relation_t *reln, int64_t ntuples, const int64_t maxid)
Definition: generator.c:468
int load_relation(relation_t *relation, char *filename, uint64_t num_tuples)
Definition: generator.c:394
A wrapper file ensuring 64bit key size.
Definition: generator64.hpp:10
Definition: types.h:45
Provides general type definitions used by all join algorithms.