MCPcopy Create free account
hub / github.com/apache/impala / RandString

Function RandString

be/src/experiments/data-provider.cc:65–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63}
64
65void RandString(MemPool* pool, StringValue* result,
66 const StringValue& min, const StringValue& max, double r,
67 variate_generator<minstd_rand&, uniform_real<>>& rand) {
68 int min_len = min.Len();
69 int max_len = max.Len();
70 int len = r * (max_len - min_len) + min_len;
71 char* ptr = reinterpret_cast<char*>(pool->Allocate(len));
72 result->Assign(ptr, len);
73
74 for (int i = 0; i < len; ++i) {
75 int min_char = i < min_len ? min.Ptr()[i] : 'a';
76 int max_char = (i < max_len ? max.Ptr()[i] : 'z') + 1;
77 ptr[i] = rand() * (max_char - min_char) + min_char;
78 }
79}
80
81void* DataProvider::NextBatch(int* rows_returned) {
82 int num_rows = min(batch_size_, num_rows_ - rows_returned_);

Callers 1

NextBatchMethod · 0.85

Calls 4

LenMethod · 0.45
AllocateMethod · 0.45
AssignMethod · 0.45
PtrMethod · 0.45

Tested by

no test coverage detected