Skip to content

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 23 May 05:21
· 16 commits to main since this release
2fa03b3

Changelog

Features

  • 4bdf27a feat(insert): dedupe composite UNIQUE tuples while seeding
  • 12e13c8 feat(insert): name the failing constraint in composite UNIQUE collision errors
  • e7f4d1b feat(insert): skip generated columns in planColumns
  • 5ee8c03 feat(introspect): expose column character_maximum_length
  • 567df08 feat(introspect): expose composite UNIQUE constraints
  • 8f32270 feat(introspect): expose generated columns

Bug fixes

  • 53a3292 fix(generator,infer): bound int generators to declared DataType range
  • f0115e0 fix(infer): respect MaxLength in base string generators
  • 681c35c fix(infer): respect column MaxLength in UNIQUE wrap
  • 82f687a fix(infer): start counterString at a faker-seeded offset for append safety
  • 4069de2 fix(infer): switch counterString alphabet to case-fold-safe base36
  • 7022c7b fix(infer): truncate uniqueGenericString by runes and guarantee UUID suffix
  • 485701b fix(infer): widen counterString to base62 so narrow varchar UNIQUE columns hold larger row sets
  • 6a34eaa fix(insert): chunk MySQL bulk inserts to stay under the placeholder cap
  • 08e0495 fix(insert): error on overrides targeting generated columns and broaden errNoWritableColumns wording
  • 1a4a526 fix(insert): guard BulkInsert against zero-column and oversized column lists
  • 808b1f0 fix(insert): length-prefix compositeKey segments to dodge separator collisions
  • 1ea2b24 fix(insert): skip composite UNIQUE dedup for tuples with NULL participants
  • 91f27be fix(introspect): mark single-column primary key as IsUnique to prevent value collisions
  • 1090ad4 fix(introspect): narrow MySQL IsGenerated to VIRTUAL/STORED, excluding DEFAULT_GENERATED

Performance

  • e8a37cb perf(infer): trim strings to MaxLength in a single pass
  • abfa162 perf(insert): resolve composite UNIQUE columns via name->index map

Documentation

  • 407048c docs(infer): clarify uniqueEmailString counter-fallback boundary
  • f020c3a docs(infer): note counterSpace uint64 cap on wide-column cardinality
  • 1878e95 docs(infer): update unique-string fallback comments to base62 counter
  • 8672ff2 docs(insert): note UNIQUE constraints on generated columns are left to the DB
  • 1341cf5 docs(insert): note compositeKeyForRow assumes default NULLS DISTINCT UNIQUE
  • 0b3ea02 docs(insert): note that planColumns skips generated columns unconditionally
  • 3d8010d docs(introspect): clarify MaxLength is zero for unlimited types like text
  • 48d1abc docs(introspect): note pgTablesQuery requires Postgres 12+ for is_generated
  • bab56c0 docs(introspect): refresh mysql UNIQUE query comment after fetchUniques rename
  • c7ee62c docs(introspect): refresh postgres UNIQUE query comment after fetchUniques rename
  • 8512ffc docs(readme): align Postgres CI wording with the pinned image (15)

Others

  • 43e5a6a build(compose,ci): pin Postgres to minimum supported version (15)
  • 18387ad chore(compose): expand demo schema to cover v0.2+ features
  • 2a86668 chore(introspect): bump cacheVersion for PK-IsUnique inference change
  • ca4dfae chore: declare PostgreSQL 15+ / MySQL 8.4+ as supported versions
  • 1a2754a ci: matrix-test integration tests across Postgres 15-18 and MySQL 8.4/9
  • d532560 test(insert): exercise BulkInsert chunking against the real MySQL placeholder cap
  • b5ac92c test(introspect): assert MySQL column MaxLength in integration test
  • e3a4bee test(introspect): assert Postgres column MaxLength in integration test