Generators
All integers are int64
unless otherwise noted.
Random integer between [min, max]
with uniform or normal distribution
Param | Default | Valid Values (v) |
---|---|---|
min | 1 | v ≥ 0 |
max | 100,000 | v < 264 |
dist | uniform | uniform or normal |
mean | (max-min+1)/2 | |
stddev | max-min/8.0 |
If dist = normal
, you can shift/scale the distribution by tweaking mean
and stddev
.
p
percentage of integers between [min, max]
with uniform random access
Param | Default | Valid Values (n) |
---|---|---|
min | 1 | 0 ≥ n < max |
max | 100,000 | min < n < 264 |
p | 20 | 1–100 (percentage) |
Used to access a fraction of data with intentional gaps between accessed records.
Random ordered pairs {n, n+size-1}
where n
between [min, max]
with uniform distribution
Param | Default | Valid Values (n) |
---|---|---|
min | 1 | int |
max | 100,000 | int |
size | 100 | ≥ 1 |
Used for BETWEEN @d AND @PREV
.
Sequential ordered pairs {n, n+size-1}
from begin
to end
Param | Default | Valid Values (n) |
---|---|---|
begin | 1 | int |
end | 100,000 | int |
size | 100 | ≥ 1 |
Used to scan a table or index in order by a range of values: [1, 10], [11, 20].
When end
is reached, restarts from begin
.
Monotonically increasing uint64 counter from start
by step
increments
Param | Default | Valid Value (n) |
---|---|---|
start | 0 | 0 ≤ n < 264 |
step | 1 | n ≥1 |
Every call adds step
then returns the value.
By default starting at zero, returns 1, 2, 3, etc.
If start = 10
, returns 11, 12, 13, etc.
If start = 100
and step = 5
, returns 105, 110, 115, etc.
Fixed-length string filled with random characters a-z and A-Z
Param | Default | Valid Value (n) |
---|---|---|
len | 100 | n ≥ 1 |
String length len
is characters, not bytes.
Returns rs/xid values as strings.
The column
generator is used for SQL modifiers save-insert-id
and save-result
Param | Default | Valid Value |
---|---|---|
quote-value | yes | string-bool |
The quote-value
param determines if the value is quoted or not when used as output to a SQL statement:
- yes →
WHERE id = "%v"
- no →
WHERE id = %v
The underlying MySQL column type does not matter because the value is not cast to a data type; it’s inputted and outputted as raw bytes.
The default data scope for column data is trx, not statement. This can be changed with an explicit scope configuration. Iter data scope might be useful, but statement (or value) scope will probably not work since the purpose is to resue the value in another statment.