Package org.h2.test.synth.sql
Class RandomGen
java.lang.Object
org.h2.test.synth.sql.RandomGen
A random data generator class.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleangetBoolean(int percent) Get a boolean that is true with the given probability in percent.byte[]Get a random byte array.voidgetBytes(byte[] data) Get a number of random bytes.intgetInt(int max) Get the next integer that is smaller than max.int[]Get a random integer array.intgetLog(int max) Get the next random value that is at most max but probably much lower.doubleGet a random double.intGet a random integer.longGet a random long.Randomly modify a SQL statement.booleanGet a random boolean.doubleGet the next gaussian value.Get a random date value.randomString(int len) Get a random string with the given length.Get a random time value.Get a random timestamp value.voidsetSeed(int seed) Set the seed value.
-
Constructor Details
-
RandomGen
public RandomGen()Create a new random instance with a fixed seed value.
-
-
Method Details
-
getInt
public int getInt(int max) Get the next integer that is smaller than max.- Parameters:
max- the upper limit (exclusive)- Returns:
- the random value
-
nextGaussian
public double nextGaussian()Get the next gaussian value.- Returns:
- the value
-
getLog
public int getLog(int max) Get the next random value that is at most max but probably much lower.- Parameters:
max- the maximum value- Returns:
- the value
-
getBytes
public void getBytes(byte[] data) Get a number of random bytes.- Parameters:
data- the target buffer
-
getBoolean
public boolean getBoolean(int percent) Get a boolean that is true with the given probability in percent.- Parameters:
percent- the probability- Returns:
- the boolean value
-
randomString
Get a random string with the given length.- Parameters:
len- the length- Returns:
- the string
-
getRandomInt
public int getRandomInt()Get a random integer. In 10% of the cases, Integer.MAX_VALUE is returned, in 10% of the cases Integer.MIN_VALUE. Also in the 10% of the cases, a random value between those extremes is returned. In 20% of the cases, this method returns 0. In 10% of the cases, a gaussian value in the range -200 and +1800 is returned. In all other cases, a gaussian value in the range -5 and +20 is returned.- Returns:
- the random value
-
getRandomLong
public long getRandomLong()Get a random long. The algorithm is similar to a random int.- Returns:
- the random value
-
getRandomDouble
public double getRandomDouble()Get a random double. The algorithm is similar to a random int.- Returns:
- the random value
-
nextBoolean
public boolean nextBoolean()Get a random boolean.- Returns:
- the random value
-
getIntArray
public int[] getIntArray()Get a random integer array. In 10% of the cases, null is returned.- Returns:
- the array
-
getByteArray
public byte[] getByteArray()Get a random byte array. In 10% of the cases, null is returned.- Returns:
- the array
-
randomTime
Get a random time value. In 10% of the cases, null is returned.- Returns:
- the value
-
randomTimestamp
Get a random timestamp value. In 10% of the cases, null is returned.- Returns:
- the value
-
randomDate
Get a random date value. In 10% of the cases, null is returned.- Returns:
- the value
-
modify
Randomly modify a SQL statement.- Parameters:
sql- the original SQL statement- Returns:
- the modified statement
-
setSeed
public void setSeed(int seed) Set the seed value.- Parameters:
seed- the new seed value
-