Skip to content

Releases: kennytm/dbgen

v0.8.0

17 Feb 18:48
5a4a751
Compare
Choose a tag to compare
  • Support derived tables for generating tables with linked foreign key references that cannot be faked.
  • Added an online playground for testing dbgen templates.
  • Generated data files can be specified to include column names as headers.
  • Generated schema files no longer collapse into a single line.
  • New functions:
    • debug.panic
  • New CLI flags:
    • -N, --total-count (total number of rows to generate)
    • -R, --rows-per-file (number of rows to generate for each file)
      • -N and -R together obsolete the -n, -k, --last-file-inserts-count and --last-insert-rows-count flags.
    • --headers (include column name headers)
    • --zoneinfo (path to tz database)
  • The chacha RNG is renamed to chacha20; also added the chacha12 RNG.
  • Performance improvement.
  • Improved error display.

v0.7.0

23 Jan 10:10
8b16ee3
Compare
Choose a tag to compare
v0.7.0 Pre-release
Pre-release
  • Support arrays
    • Construct an array with ARRAY[1, 2, 3]
    • Extract an element with @array[1]
  • Support global expressions: evaluating some expressions before generating the data file, used in initialize some shared constants.
  • New syntax:
    • CASE WHEN expression without the "case" value.
    • current_timestamp
    • Statements a; b; c, which evaluates all 3 expressions but only keep the last result
    • Bitwise operators a & b | c ^ ~d
  • New functions:
    • substring
    • char_length, octet_length
    • overlay
    • div
    • mod
    • coalesce
    • generate_series
    • rand.shuffle
    • rand.uuid
  • New CLI flags:
    • --no-schemas (do not dump schemas)
    • --now (override the value of current_timestamp)
    • -D, --initialize (specify global expressions from command line)
  • Added step (mock) RNG

v0.6.0

22 Dec 15:27
f9ef0c7
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release
  • Updated rand dependencies. Seeds from v0.5.0 will no longer produce the same output.

v0.5.0

13 Apr 17:57
f6ce8af
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release
  • In a template, expressions can now be placed inside /*{{ … }}*/ blocks in additional to {{ … }} blocks. The former makes it possible to share the same file to both dbgen and the database engine itself.
  • Time intervals are now printed as "5 12:23:34.456789" instead of INTERVAL 476614456789 MICROSECOND for better compatibility.
  • Support generating CSV files.
  • Support compressing output data as gz, xz or zstd.

v0.4.3

23 Mar 17:06
c635f57
Compare
Choose a tag to compare
v0.4.3 Pre-release
Pre-release

Fix crash on cargo install from crates.io

v0.4.2

22 Feb 07:24
e0a2161
Compare
Choose a tag to compare
v0.4.2 Pre-release
Pre-release
  • Added round() function.

v0.4.1

11 Jan 19:31
888cec9
Compare
Choose a tag to compare
v0.4.1 Pre-release
Pre-release
  • rand.u31_timestamp() no longer generates the zero time (1970-01-01 00:00:00), as the zero time is invalid in MySQL.
  • --time-zone is no longer a required argument.
  • Added more identifying information in the shell script generated by dbschemagen

v0.4.0

16 Dec 06:03
6560e82
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release
  • Added rand.finite_f32() and rand.finite_f64() functions.
  • Added rand.u31_timestamp() function.
  • Added --time-zone flag to CLI. The TIMESTAMP syntax will parse the string using the time zone of this flag.
  • Added TIMESTAMP WITH TIME ZONE syntax.

v0.3.2

13 Dec 16:23
8c52efc
Compare
Choose a tag to compare
v0.3.2 Pre-release
Pre-release

dbschemagen:

  • Do not allow nullable columns to be part of a PRIMARY KEY
  • Added the --seed flag for easier reproduction

v0.3.1

08 Dec 09:22
166d038
Compare
Choose a tag to compare
v0.3.1 Pre-release
Pre-release
  • dbschemagen: Limit the number of columns involved in a index to 12.