@mkven/samples-generation 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,20 +19,101 @@ We often need to prefill tables during tests, checks, and measurements. These ge
19
19
  pnpm install
20
20
  ```
21
21
 
22
- ## Measurements of simple generations
22
+ ## Measurements of generations
23
23
 
24
- Environment: local databases, simple setup, 1 billion rows, 5 columns (id, 10-char string, 0 - 1000 float, string choice out of 3 variants, datetime)
24
+ Environment: local databases, simple setup, 1 billion rows
25
+
26
+ ### Trivial generation
27
+
28
+ 5 columns (id, 10-char string, 0 - 1000 float, string choice out of 3 variants, datetime)
29
+
30
+ ```bash
31
+ npx tsx scripts/generate-all.ts --scenario simple -r 1_000_000_000 --clickhouse --trino
32
+ ```
33
+
34
+ #### 1 billion rows
25
35
 
26
36
  _ClickHouse:_ Generated in 11m 2s (generation: 6m 8s, optimisation: 4m 54s), table size: 23.81 GB
27
37
 
28
- _Trino:_ Generated in 5m 35s (generation: 5m 34s, optimisation: 120ms), table size: 17.41 GB
38
+ _Trino, 16 Gb Ram + spill by fte:_ Generated in 8m 40s (generation: 6m 48s, optimisation: 291ms), table size: 15.70 GB
29
39
 
30
40
  _PostgreSQL:_ Generated in 54m 26s (generation: 35m 55s, optimisation: 18m 30s), table size: 63.60 GB
31
41
 
32
- Same setup but 10 billion rows:
42
+ #### 10 billion rows
43
+
44
+ _ClickHouse:_ Generated in 4h 52m 21s (generation: 4h 47m 44s, optimisation: 4m 36s), table size: 248.38 GB
45
+
46
+ _Trino:_ Generated in 1h 4m 41s (generation: 1h 4m 41s, optimisation: 181ms), table size: 158.62 GB
47
+
48
+ ### Names, then templated email based on generated names
49
+
50
+ 7 columns total.
51
+
52
+ ```bash
53
+ npx tsx scripts/generate-all.ts --scenario english-names -r 1_000_000_000 --clickhouse --trino
54
+ ```
55
+
56
+ #### 1 billion rows
57
+
58
+ English names:
59
+
60
+ _ClickHouse:_ Generated in 41m 48s (generation: 35m 9s, transformation: 3m 55s, optimisation: 2m 42s), table size: 44.97 GB
61
+
62
+ _Trino, 16 Gb Ram + spill by fte:_ Generated in 24m 51s (generation: 7m 47s, transformation: 16m 40s, optimisation: 24.34s), table size: 20.51 GB
63
+
64
+ ### Lookup transformation (10K departments → employees)
65
+
66
+ 7 columns in employees table, lookup from department name in 10K-row departments table.
67
+
68
+ ```bash
69
+ npx tsx scripts/generate-all.ts --scenario lookup-demo -r 1_000_000_000 --clickhouse --trino
70
+ ```
71
+
72
+ #### 1 billion rows
73
+
74
+ _ClickHouse:_ Generated in 1h 19m 46s (generation: 25m 31s, transformation: 39m 25s, optimisation: 14m 49s), table size: 41.42 GB
75
+
76
+ _Trino, 20 Gb Ram:_ Generated in 32m 57s (generation: 4m 55s, transformation: 26m 36s, optimisation: 1m 25s), table size: 17.94 GB
77
+
78
+ _Trino, 16 Gb Ram + spill by fte:_ Generated in 46m 11s (generation: 13m 52s, transformation: 31m 43s, optimisation: 35.11s), table size: 17.94 GB
79
+
80
+ ### Note
81
+
82
+ Two configurations are available:
83
+
84
+ - **Standard (20GB):** `trino` - high memory, no spilling
85
+ - **16GB comparison:** `trino-fte` (fault-tolerant execution with disk spilling) and `clickhouse` - both with 16GB limits
86
+
87
+ See `compose/docker-compose.yml` for container resource limits and `compose/trino/` or `compose/trino-fte/` for Trino-specific settings.
33
88
 
34
89
  ## Quick Start
35
90
 
91
+ ### Starting Databases
92
+
93
+ Start all databases:
94
+
95
+ ```bash
96
+ pnpm compose:up
97
+ ```
98
+
99
+ Or start individual databases:
100
+
101
+ ```bash
102
+ pnpm compose:postgres # PostgreSQL only
103
+ pnpm compose:clickhouse # ClickHouse only
104
+ pnpm compose:trino # Trino 20GB, high memory
105
+ pnpm compose:trino-fte # Trino 16GB, fault-tolerant execution with spill
106
+ ```
107
+
108
+ > **Note:** `trino` and `trino-fte` share port 8080 - stop one before starting the other.
109
+
110
+ Stop and clean up:
111
+
112
+ ```bash
113
+ pnpm compose:down # Stop containers
114
+ pnpm compose:reset # Stop and remove volumes
115
+ ```
116
+
36
117
  ### Using the Generator API
37
118
 
38
119
  ```typescript
@@ -82,6 +163,7 @@ const result = await generator.generate({
82
163
  rowCount: 1000,
83
164
  truncateFirst: true,
84
165
  resumeSequences: true, // Continue sequence from last max value
166
+ batchSize: 100_000_000, // Optional: insert in batches (useful for large datasets)
85
167
  });
86
168
  console.log(
87
169
  `Inserted ${result.rowsInserted} rows in ${result.generateMs}ms (optimize: ${result.optimizeMs}ms)`
@@ -335,6 +417,166 @@ With descriptions, you'll see helpful logs:
335
417
  [postgres] Applying transformations: Introduce data quality issues (1 transformation(s))
336
418
  ```
337
419
 
420
+ ### Scenarios
421
+
422
+ A `Scenario` orchestrates multi-step data generation workflows - create lookup tables, generate main tables, and apply cross-table transformations in sequence:
423
+
424
+ ```typescript
425
+ import { PostgresDataGenerator, type Scenario } from "./src/generator/index.js";
426
+
427
+ const scenario: Scenario = {
428
+ name: "E-commerce data",
429
+ steps: [
430
+ // Step 1: Create lookup table
431
+ {
432
+ table: {
433
+ name: "departments",
434
+ columns: [
435
+ {
436
+ name: "id",
437
+ type: "integer",
438
+ generator: { kind: "sequence", start: 1 },
439
+ },
440
+ {
441
+ name: "name",
442
+ type: "string",
443
+ generator: {
444
+ kind: "choice",
445
+ values: ["Engineering", "Sales", "HR"],
446
+ },
447
+ },
448
+ ],
449
+ },
450
+ rowCount: 3,
451
+ },
452
+ // Step 2: Generate main table with transformations
453
+ {
454
+ table: {
455
+ name: "employees",
456
+ columns: [
457
+ {
458
+ name: "id",
459
+ type: "bigint",
460
+ generator: { kind: "sequence", start: 1 },
461
+ },
462
+ {
463
+ name: "first_name",
464
+ type: "string",
465
+ generator: {
466
+ kind: "choice",
467
+ values: ["John", "Jane", "Bob"],
468
+ },
469
+ },
470
+ {
471
+ name: "last_name",
472
+ type: "string",
473
+ generator: { kind: "choice", values: ["Smith", "Jones"] },
474
+ },
475
+ {
476
+ name: "email",
477
+ type: "string",
478
+ generator: { kind: "constant", value: "" },
479
+ },
480
+ {
481
+ name: "department_id",
482
+ type: "integer",
483
+ generator: { kind: "randomInt", min: 1, max: 3 },
484
+ },
485
+ {
486
+ name: "department_name",
487
+ type: "string",
488
+ generator: { kind: "constant", value: "" },
489
+ },
490
+ ],
491
+ },
492
+ rowCount: 1000,
493
+ transformations: [
494
+ {
495
+ description: "Generate email from names",
496
+ transformations: [
497
+ {
498
+ kind: "template",
499
+ column: "email",
500
+ template: "{first_name}.{last_name}@company.com",
501
+ lowercase: true,
502
+ },
503
+ ],
504
+ },
505
+ ],
506
+ },
507
+ // Step 3: Transform-only step - apply cross-table lookup
508
+ {
509
+ tableName: "employees",
510
+ transformations: [
511
+ {
512
+ description: "Lookup department name",
513
+ transformations: [
514
+ {
515
+ kind: "lookup",
516
+ column: "department_name",
517
+ fromTable: "departments",
518
+ fromColumn: "name",
519
+ joinOn: { targetColumn: "department_id", lookupColumn: "id" },
520
+ },
521
+ ],
522
+ },
523
+ ],
524
+ },
525
+ ],
526
+ };
527
+
528
+ const generator = new PostgresDataGenerator({
529
+ /* config */
530
+ });
531
+ await generator.connect();
532
+
533
+ const result = await generator.runScenario({
534
+ scenario,
535
+ dropFirst: true,
536
+ });
537
+
538
+ for (const step of result.steps) {
539
+ console.log(`[${step.tableName}] ${step.generate?.rowsInserted ?? 0} rows`);
540
+ if (step.transform) {
541
+ console.log(
542
+ ` Applied ${step.transform.batchesApplied} transformation batch(es)`
543
+ );
544
+ }
545
+ }
546
+ console.log(
547
+ `Total: ${result.totalRowsInserted} rows in ${result.durationMs}ms`
548
+ );
549
+
550
+ await generator.disconnect();
551
+ ```
552
+
553
+ **Step Types:**
554
+
555
+ | Step Type | Fields | Description |
556
+ | -------------------- | --------------------------------------- | ----------------------------------------------- |
557
+ | Generate + Transform | `table`, `rowCount`, `transformations?` | Create table, insert rows, optionally transform |
558
+ | Transform only | `tableName`, `transformations` | Apply transformations to existing table |
559
+
560
+ ```typescript
561
+ interface ScenarioOptions {
562
+ scenario: Scenario;
563
+ createTable?: boolean; // Default: true
564
+ dropFirst?: boolean; // Default: false
565
+ truncateFirst?: boolean; // Default: false
566
+ resumeSequences?: boolean; // Default: true
567
+ optimize?: boolean; // Default: true (runs once at end for all tables)
568
+ }
569
+
570
+ interface ScenarioResult {
571
+ steps: ScenarioStepResult[];
572
+ totalRowsInserted: number;
573
+ durationMs: number; // Total wall-clock time
574
+ generateMs: number; // Time spent generating rows
575
+ transformMs: number; // Time spent applying transformations
576
+ optimizeMs: number; // Time spent on optimisations
577
+ }
578
+ ```
579
+
338
580
  ### Escape Utilities
339
581
 
340
582
  For custom queries, use the exported escape functions:
@@ -383,12 +625,12 @@ formatBytes(1048576); // "1.00 MB"
383
625
 
384
626
  By default, `generate()` runs database-specific optimization after inserting rows:
385
627
 
386
- | Database | Optimization |
387
- | ---------- | --------------------------------------------------------------------------- |
388
- | PostgreSQL | `VACUUM ANALYZE` - reclaims storage and updates statistics |
389
- | ClickHouse | `OPTIMIZE TABLE FINAL` - merges all parts for MergeTree engines |
390
- | SQLite | `VACUUM` + `ANALYZE` - rebuilds file and gathers statistics |
391
- | Trino | `rewrite_data_files` + `expire_snapshots` + `remove_orphan_files` - Iceberg |
628
+ | Database | Optimization |
629
+ | ---------- | ----------------------------------------------------------------- |
630
+ | PostgreSQL | `VACUUM ANALYZE` - reclaims storage and updates statistics |
631
+ | ClickHouse | `OPTIMIZE TABLE FINAL` - merges all parts for MergeTree engines |
632
+ | SQLite | `VACUUM` + `ANALYZE` - rebuilds file and gathers statistics |
633
+ | Trino | `optimize` + `expire_snapshots` + `remove_orphan_files` - Iceberg |
392
634
 
393
635
  Disable for quick tests:
394
636
 
@@ -418,6 +660,16 @@ npx tsx scripts/generate-all.ts
418
660
  npx tsx scripts/generate-all.ts --rows 1000
419
661
  npx tsx scripts/generate-all.ts -r 1_000_000
420
662
 
663
+ # Use batching for large datasets (helps with memory and timeouts)
664
+ npx tsx scripts/generate-all.ts -r 1_000_000_000 -b 100_000_000 # 10 batches of 100M
665
+ npx tsx scripts/generate-all.ts -r 1_000_000_000 --batch 50_000_000 # 20 batches of 50M
666
+
667
+ # Choose scenario
668
+ npx tsx scripts/generate-all.ts --scenario simple # Default: 5 columns
669
+ npx tsx scripts/generate-all.ts --scenario english-names # Names + email template
670
+ npx tsx scripts/generate-all.ts --scenario russian-names # Russian names + email
671
+ npx tsx scripts/generate-all.ts --scenario lookup-demo # Departments + employees lookup
672
+
421
673
  # Generate for specific databases only
422
674
  npx tsx scripts/generate-all.ts --sqlite
423
675
  npx tsx scripts/generate-all.ts --postgres
@@ -425,7 +677,7 @@ npx tsx scripts/generate-all.ts --clickhouse
425
677
  npx tsx scripts/generate-all.ts --trino
426
678
 
427
679
  # Combine options
428
- npx tsx scripts/generate-all.ts -r 10000 --postgres --clickhouse
680
+ npx tsx scripts/generate-all.ts -r 10000 --scenario english-names --postgres --clickhouse
429
681
 
430
682
  # Show help
431
683
  npx tsx scripts/generate-all.ts --help
@@ -452,16 +704,19 @@ Services available:
452
704
  ## Testing
453
705
 
454
706
  ```bash
455
- # Run tests (SQLite only by default)
707
+ # Run unit tests (SQL expression generators, escape functions)
456
708
  pnpm test
457
709
 
458
- # Run tests with specific databases
459
- TEST_POSTGRES=1 pnpm test
460
- TEST_CLICKHOUSE=1 pnpm test
461
- TEST_TRINO=1 pnpm test
710
+ # Run e2e tests against SQLite (default, no setup required)
711
+ pnpm test:e2e
712
+
713
+ # Run e2e tests with specific databases (requires docker-compose up)
714
+ TEST_POSTGRES=1 pnpm test:e2e
715
+ TEST_CLICKHOUSE=1 pnpm test:e2e
716
+ TEST_TRINO=1 pnpm test:e2e
462
717
 
463
- # Run all database tests
464
- TEST_POSTGRES=1 TEST_CLICKHOUSE=1 TEST_TRINO=1 pnpm test
718
+ # Run e2e tests against all databases
719
+ TEST_POSTGRES=1 TEST_CLICKHOUSE=1 TEST_TRINO=1 pnpm test:e2e
465
720
 
466
721
  # Or use the shortcut script
467
722
  ./test-all-dbs.sh
@@ -1,4 +1,4 @@
1
- import type { DataGenerator, TableConfig, GenerateOptions, GenerateResult, GeneratedRow, Transformation, TransformationBatch, TransformResult } from "./types.js";
1
+ import type { DataGenerator, TableConfig, GenerateOptions, GenerateResult, GeneratedRow, Transformation, TransformationBatch, TransformResult, ScenarioOptions, ScenarioResult } from "./types.js";
2
2
  export declare abstract class BaseDataGenerator implements DataGenerator {
3
3
  abstract readonly name: string;
4
4
  abstract connect(): Promise<void>;
@@ -35,5 +35,6 @@ export declare abstract class BaseDataGenerator implements DataGenerator {
35
35
  getTableSizeForHuman(tableName: string): Promise<string | null>;
36
36
  generate(options: GenerateOptions): Promise<GenerateResult>;
37
37
  transform(tableName: string, batches: TransformationBatch[]): Promise<TransformResult>;
38
+ runScenario(options: ScenarioOptions): Promise<ScenarioResult>;
38
39
  }
39
40
  //# sourceMappingURL=base-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-generator.d.ts","sourceRoot":"","sources":["../../src/generator/base-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,8BAAsB,iBAAkB,YAAW,aAAa;IAC9D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxD,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,CAChB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtD;;OAEG;IACH,QAAQ,CAAC,WAAW,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CACrC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAEhB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAEhB;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK/D,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA+D3D,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,eAAe,CAAC;CAqB5B"}
1
+ {"version":3,"file":"base-generator.d.ts","sourceRoot":"","sources":["../../src/generator/base-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,cAAc,EAIf,MAAM,YAAY,CAAC;AASpB,8BAAsB,iBAAkB,YAAW,aAAa;IAC9D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACxD,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,CAChB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtD;;OAEG;IACH,QAAQ,CAAC,WAAW,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CACrC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAEhB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAEhB;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK/D,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgH3D,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,eAAe,CAAC;IAsBrB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAgGrE"}
@@ -1,4 +1,9 @@
1
+ import { formatDuration } from "./utils.js";
1
2
  import { formatBytes } from "./utils.js";
3
+ /** Type guard for generate steps */
4
+ function isGenerateStep(step) {
5
+ return "table" in step && "rowCount" in step;
6
+ }
2
7
  export class BaseDataGenerator {
3
8
  /**
4
9
  * Get the total size of a table as a human-readable string
@@ -8,12 +13,23 @@ export class BaseDataGenerator {
8
13
  return size === null ? null : formatBytes(size);
9
14
  }
10
15
  async generate(options) {
11
- const { table, rowCount, createTable = true, dropFirst = false, truncateFirst = false, resumeSequences = true, optimize = true, } = options;
16
+ const { table, rowCount, createTable = true, dropFirst = false, truncateFirst = false, resumeSequences = true, optimize = true, batchSize: requestedBatchSize, } = options;
12
17
  const startTime = Date.now();
18
+ // Always use batching internally - default to full rowCount if not specified
19
+ const effectiveBatchSize = requestedBatchSize &&
20
+ requestedBatchSize > 0 &&
21
+ requestedBatchSize < rowCount
22
+ ? requestedBatchSize
23
+ : rowCount;
24
+ const batchCount = Math.ceil(rowCount / effectiveBatchSize);
25
+ const showBatchProgress = batchCount > 1;
13
26
  const tableLabel = table.description
14
27
  ? `${table.name} (${table.description})`
15
28
  : table.name;
16
- console.log(`[${this.name}] Generating: ${tableLabel} - ${rowCount.toLocaleString()} rows`);
29
+ console.log(`[${this.name}] Generating: ${tableLabel} - ${rowCount.toLocaleString()} rows` +
30
+ (showBatchProgress
31
+ ? ` (${String(batchCount)} batches of ${effectiveBatchSize.toLocaleString()})`
32
+ : ""));
17
33
  if (dropFirst) {
18
34
  await this.dropTable(table.name);
19
35
  }
@@ -36,7 +52,31 @@ export class BaseDataGenerator {
36
52
  }
37
53
  }
38
54
  }
39
- await this.generateNative(table, rowCount, startSequence);
55
+ // Generate in batches (single batch if batchSize not specified)
56
+ let remaining = rowCount;
57
+ let currentSequence = startSequence;
58
+ let batchNum = 0;
59
+ const batchTimes = [];
60
+ while (remaining > 0) {
61
+ batchNum++;
62
+ const currentBatchSize = Math.min(effectiveBatchSize, remaining);
63
+ const batchStart = Date.now();
64
+ if (showBatchProgress) {
65
+ // Calculate ETA based on average batch time (skip first batch)
66
+ let etaStr = "";
67
+ if (batchTimes.length > 0) {
68
+ const avgBatchMs = batchTimes.reduce((a, b) => a + b, 0) / batchTimes.length;
69
+ const remainingBatches = batchCount - batchNum + 1;
70
+ const etaMs = avgBatchMs * remainingBatches;
71
+ etaStr = ` - ETA: ${formatDuration(etaMs)}`;
72
+ }
73
+ console.log(`[${this.name}] Batch ${String(batchNum)}/${String(batchCount)}: ${currentBatchSize.toLocaleString()} rows${etaStr}`);
74
+ }
75
+ await this.generateNative(table, currentBatchSize, currentSequence);
76
+ batchTimes.push(Date.now() - batchStart);
77
+ remaining -= currentBatchSize;
78
+ currentSequence += currentBatchSize;
79
+ }
40
80
  const generateMs = Date.now() - startTime;
41
81
  let optimizeMs = 0;
42
82
  if (optimize) {
@@ -49,6 +89,7 @@ export class BaseDataGenerator {
49
89
  durationMs: Date.now() - startTime,
50
90
  generateMs,
51
91
  optimizeMs,
92
+ batchCount,
52
93
  };
53
94
  }
54
95
  async transform(tableName, batches) {
@@ -68,5 +109,77 @@ export class BaseDataGenerator {
68
109
  batchesApplied,
69
110
  };
70
111
  }
112
+ async runScenario(options) {
113
+ const startTime = Date.now();
114
+ const { scenario, createTable = true, dropFirst = false, truncateFirst = false, resumeSequences = true, optimize = true, batchSize, } = options;
115
+ if (scenario.name) {
116
+ console.log(`[${this.name}] Running scenario: ${scenario.name}`);
117
+ }
118
+ const stepResults = [];
119
+ let totalRowsInserted = 0;
120
+ let totalGenerateMs = 0;
121
+ let totalTransformMs = 0;
122
+ for (const step of scenario.steps) {
123
+ if (isGenerateStep(step)) {
124
+ // Generate step: create table and insert rows
125
+ if (dropFirst) {
126
+ await this.dropTable(step.table.name);
127
+ }
128
+ // Don't optimize during steps - we'll optimize all tables at the end
129
+ const generateResult = await this.generate({
130
+ table: step.table,
131
+ rowCount: step.rowCount,
132
+ createTable,
133
+ dropFirst: false, // Already handled above
134
+ truncateFirst,
135
+ resumeSequences,
136
+ optimize: false,
137
+ batchSize,
138
+ });
139
+ // Apply transformations if defined
140
+ let transformResult;
141
+ if (step.transformations && step.transformations.length > 0) {
142
+ transformResult = await this.transform(step.table.name, step.transformations);
143
+ }
144
+ stepResults.push({
145
+ tableName: step.table.name,
146
+ generate: generateResult,
147
+ transform: transformResult,
148
+ });
149
+ totalRowsInserted += generateResult.rowsInserted;
150
+ totalGenerateMs += generateResult.generateMs;
151
+ if (transformResult) {
152
+ totalTransformMs += transformResult.durationMs;
153
+ }
154
+ }
155
+ else {
156
+ // Transform-only step: just apply transformations to existing table
157
+ const transformResult = await this.transform(step.tableName, step.transformations);
158
+ stepResults.push({
159
+ tableName: step.tableName,
160
+ transform: transformResult,
161
+ });
162
+ totalTransformMs += transformResult.durationMs;
163
+ }
164
+ }
165
+ // Optimize all touched tables once at the end
166
+ let optimizeMs = 0;
167
+ if (optimize) {
168
+ const optimizeStart = Date.now();
169
+ const uniqueTables = [...new Set(stepResults.map((s) => s.tableName))];
170
+ for (const tableName of uniqueTables) {
171
+ await this.optimize(tableName);
172
+ }
173
+ optimizeMs = Date.now() - optimizeStart;
174
+ }
175
+ return {
176
+ steps: stepResults,
177
+ totalRowsInserted,
178
+ durationMs: Date.now() - startTime,
179
+ generateMs: totalGenerateMs,
180
+ transformMs: totalTransformMs,
181
+ optimizeMs,
182
+ };
183
+ }
71
184
  }
72
185
  //# sourceMappingURL=base-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-generator.js","sourceRoot":"","sources":["../../src/generator/base-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-generator.js","sourceRoot":"","sources":["../../src/generator/base-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse-generator.d.ts","sourceRoot":"","sources":["../../src/generator/clickhouse-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAEZ,eAAe,EACf,cAAc,EAIf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkCD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CA4CR;AAED,qBAAa,uBAAwB,SAAQ,iBAAiB;IAIhD,OAAO,CAAC,MAAM;IAH1B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,MAAM,CAAiC;gBAE3B,MAAM,EAAE,gBAAgB;IAI5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYlB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,OAAO,CAAC,SAAS;IAOX,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOjC,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA4CV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAUlE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7C,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcnB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAevD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAWhC,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAsHhB;;;OAGG;YACW,wBAAwB;IA0FtC;;;;OAIG;YACW,yBAAyB;CAoDxC"}
1
+ {"version":3,"file":"clickhouse-generator.d.ts","sourceRoot":"","sources":["../../src/generator/clickhouse-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAEZ,eAAe,EACf,cAAc,EAIf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkCD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CA4CR;AAED,qBAAa,uBAAwB,SAAQ,iBAAiB;IAIhD,OAAO,CAAC,MAAM;IAH1B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,MAAM,CAAiC;gBAE3B,MAAM,EAAE,gBAAgB;IAI5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBlB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,OAAO,CAAC,SAAS;IAOX,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOjC,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA4CV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAUlE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7C,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcnB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAevD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAWhC,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAsHhB;;;OAGG;YACW,wBAAwB;IA8FtC;;;;OAIG;YACW,yBAAyB;CAoDxC"}
@@ -96,6 +96,10 @@ export class ClickHouseDataGenerator extends BaseDataGenerator {
96
96
  database: this.config.database,
97
97
  // Increase timeout for large data generation (6 hours for 10B+ rows)
98
98
  request_timeout: 21_600_000,
99
+ // Increase max query size for large lookup tables (default is 256KB)
100
+ clickhouse_settings: {
101
+ max_query_size: "10000000", // 10MB
102
+ },
99
103
  });
100
104
  return Promise.resolve();
101
105
  }
@@ -349,9 +353,13 @@ export class ClickHouseDataGenerator extends BaseDataGenerator {
349
353
  query: `SHOW CREATE TABLE ${escapedTable}`,
350
354
  format: "TabSeparated",
351
355
  });
352
- const createStatement = await structResult.text();
356
+ // TabSeparated returns escaped newlines as literal \n, need to unescape
357
+ const createStatement = (await structResult.text())
358
+ .replace(/\\n/g, "\n")
359
+ .replace(/\\t/g, "\t");
353
360
  // Create temp table with same structure
354
- const tempCreateSql = createStatement.replace(new RegExp(`CREATE TABLE [^\\s]*(${tableName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})[^\\s]*`), `CREATE TABLE ${tempTable}`);
361
+ // SHOW CREATE returns "CREATE TABLE database.tablename" - replace the full table reference
362
+ const tempCreateSql = createStatement.replace(/CREATE TABLE [^\s(]+/, `CREATE TABLE ${tempTable}`);
355
363
  await client.command({ query: tempCreateSql });
356
364
  // Get all columns
357
365
  const colsResult = await client.query({
@@ -371,25 +379,27 @@ export class ClickHouseDataGenerator extends BaseDataGenerator {
371
379
  swapInfo.set(col2, { otherCol: col1, prob, randVar });
372
380
  });
373
381
  // Build SELECT with swap logic
382
+ // Use _inner. prefix to avoid ClickHouse resolving column names to aliases
374
383
  const selectColumns = allColumns.map((col) => {
375
384
  const info = swapInfo.get(col);
376
385
  if (info) {
377
- return `if(${info.randVar} < ${info.prob}, ${info.otherCol}, ${col}) as ${col}`;
386
+ return `if(${info.randVar} < ${info.prob}, _inner.${info.otherCol}, _inner.${col}) as ${col}`;
378
387
  }
379
- return col;
388
+ return `_inner.${col}`;
380
389
  });
381
390
  // Build random variable definitions for subquery
382
391
  const randVars = swaps
383
392
  .map((_, i) => `rand() / 4294967295.0 as _swap_rand_${String(i)}`)
384
393
  .join(", ");
385
394
  // Use subquery to compute random values once per row
395
+ // Alias the subquery as _inner to avoid column name resolution issues
386
396
  const insertSql = `
387
397
  INSERT INTO ${tempTable}
388
398
  SELECT ${selectColumns.join(", ")}
389
399
  FROM (
390
400
  SELECT *, ${randVars}
391
401
  FROM ${escapedTable}
392
- )
402
+ ) AS _inner
393
403
  `;
394
404
  await client.command({ query: insertSql });
395
405
  // Swap tables
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse-generator.js","sourceRoot":"","sources":["../../src/generator/clickhouse-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clickhouse-generator.js","sourceRoot":"","sources":["../../src/generator/clickhouse-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type { DataGenerator, TableConfig, ColumnConfig, GenerateOptions, GenerateResult, GeneratedRow, ColumnType, GeneratorConfig, SequenceGenerator, RandomIntGenerator, RandomFloatGenerator, RandomStringGenerator, ChoiceGenerator, ConstantGenerator, DatetimeGenerator, UuidGenerator, ChoiceByLookupGenerator, Transformation, TemplateTransformation, MutateTransformation, LookupTransformation, TransformationBatch, TransformResult, } from "./types.js";
1
+ export type { DataGenerator, TableConfig, ColumnConfig, CommonGenerateOptions, GenerateOptions, GenerateResult, GeneratedRow, ColumnType, GeneratorConfig, SequenceGenerator, RandomIntGenerator, RandomFloatGenerator, RandomStringGenerator, ChoiceGenerator, ConstantGenerator, DatetimeGenerator, UuidGenerator, ChoiceByLookupGenerator, Transformation, TemplateTransformation, MutateTransformation, LookupTransformation, SwapTransformation, TransformationBatch, TransformResult, ScenarioStep, ScenarioGenerateStep, ScenarioTransformStep, Scenario, ScenarioOptions, ScenarioStepResult, ScenarioResult, } from "./types.js";
2
2
  export { formatBytes, formatDuration, getLookupTableName } from "./utils.js";
3
3
  export { BaseDataGenerator } from "./base-generator.js";
4
4
  export { escapePostgresIdentifier, escapeClickHouseIdentifier, escapeTrinoIdentifier, } from "./escape.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAoB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAoB,MAAM,sBAAsB,CAAC"}
@@ -23,6 +23,11 @@ export declare class TrinoDataGenerator extends BaseDataGenerator {
23
23
  connect(): Promise<void>;
24
24
  disconnect(): Promise<void>;
25
25
  private getTrino;
26
+ /**
27
+ * Consume a Trino query iterator and throw on error.
28
+ * Use for DDL/DML statements that don't return data.
29
+ */
30
+ private executeQuery;
26
31
  private fullTableName;
27
32
  createTable(table: TableConfig): Promise<void>;
28
33
  truncateTable(tableName: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"trino-generator.d.ts","sourceRoot":"","sources":["../../src/generator/trino-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAEZ,eAAe,EAEf,cAAc,EAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AA8BD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CA+CR;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IAM3C,OAAO,CAAC,MAAM;IAL1B,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;gBAEV,MAAM,EAAE,WAAW;IAMvC,OAAO,KAAK,cAAc,GAEzB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,aAAa;IAIf,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAcjC,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA8EV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyBlE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB7C,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBnB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmBvD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cA8BhC,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;CAgIjB"}
1
+ {"version":3,"file":"trino-generator.d.ts","sourceRoot":"","sources":["../../src/generator/trino-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAEZ,eAAe,EAEf,cAAc,EAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AA8BD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAgDR;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IAM3C,OAAO,CAAC,MAAM;IAL1B,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;gBAEV,MAAM,EAAE,WAAW;IAMvC,OAAO,KAAK,cAAc,GAEzB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;YACW,YAAY;IAc1B,OAAO,CAAC,aAAa;IAIf,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAQjC,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA0EV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA6BlE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsB7C,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwBnB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2BvD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cA0BhC,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;CA4HjB"}
@@ -39,7 +39,8 @@ export function generatorToTrinoExpr(gen, seqExpr) {
39
39
  case "sequence": {
40
40
  const start = gen.start ?? 1;
41
41
  const step = gen.step ?? 1;
42
- return `(${String(start)} - 1 + ${seqExpr} * ${String(step)})`;
42
+ // Cast to BIGINT to handle >2B rows
43
+ return `(CAST(${String(start)} - 1 AS BIGINT) + ${seqExpr} * CAST(${String(step)} AS BIGINT))`;
43
44
  }
44
45
  case "randomInt":
45
46
  // Trino random() returns 0.0 to 1.0
@@ -104,9 +105,7 @@ export class TrinoDataGenerator extends BaseDataGenerator {
104
105
  });
105
106
  // Ensure schema exists
106
107
  const createSchema = await this.trino.query(`CREATE SCHEMA IF NOT EXISTS ${this.fullSchemaPath}`);
107
- for await (const _ of createSchema) {
108
- // consume iterator
109
- }
108
+ await this.executeQuery(createSchema, "connect");
110
109
  }
111
110
  disconnect() {
112
111
  this.trino = null;
@@ -118,6 +117,18 @@ export class TrinoDataGenerator extends BaseDataGenerator {
118
117
  }
119
118
  return this.trino;
120
119
  }
120
+ /**
121
+ * Consume a Trino query iterator and throw on error.
122
+ * Use for DDL/DML statements that don't return data.
123
+ */
124
+ async executeQuery(query, operation) {
125
+ for await (const result of query) {
126
+ const trinoResult = result;
127
+ if (trinoResult.error) {
128
+ throw new Error(`Trino ${operation} failed: ${trinoResult.error.message}`);
129
+ }
130
+ }
131
+ }
121
132
  fullTableName(tableName) {
122
133
  return `${this.fullSchemaPath}.${escapeTrinoIdentifier(tableName)}`;
123
134
  }
@@ -130,33 +141,17 @@ export class TrinoDataGenerator extends BaseDataGenerator {
130
141
  })
131
142
  .join(", ");
132
143
  const query = await trino.query(`CREATE TABLE IF NOT EXISTS ${this.fullTableName(table.name)} (${columns}) WITH (format = 'PARQUET')`);
133
- for await (const result of query) {
134
- const trinoResult = result;
135
- if (trinoResult.error) {
136
- throw new Error(`Trino createTable failed: ${trinoResult.error.message}`);
137
- }
138
- }
144
+ await this.executeQuery(query, "createTable");
139
145
  }
140
146
  async truncateTable(tableName) {
141
147
  const trino = this.getTrino();
142
148
  const query = await trino.query(`DELETE FROM ${this.fullTableName(tableName)}`);
143
- for await (const result of query) {
144
- const trinoResult = result;
145
- if (trinoResult.error) {
146
- throw new Error(`Trino truncateTable failed: ${trinoResult.error.message}`);
147
- }
148
- }
149
+ await this.executeQuery(query, "truncateTable");
149
150
  }
150
151
  async dropTable(tableName) {
151
152
  const trino = this.getTrino();
152
153
  const query = await trino.query(`DROP TABLE IF EXISTS ${this.fullTableName(tableName)}`);
153
- for await (const result of query) {
154
- // Check for errors in Trino response
155
- const trinoResult = result;
156
- if (trinoResult.error) {
157
- throw new Error(`Trino query failed: ${trinoResult.error.message}`);
158
- }
159
- }
154
+ await this.executeQuery(query, "dropTable");
160
155
  }
161
156
  async generateNative(table, rowCount, startSequence) {
162
157
  const trino = this.getTrino();
@@ -184,7 +179,8 @@ export class TrinoDataGenerator extends BaseDataGenerator {
184
179
  const ROWS_PER_CHUNK = SEQUENCE_LIMIT * SEQUENCE_LIMIT; // 100M
185
180
  const numChunks = Math.ceil(rowCount / ROWS_PER_CHUNK);
186
181
  // The row number expression combines all three levels
187
- const seqExpr = `(${String(startSequence - 1)} + level1 * ${String(ROWS_PER_CHUNK)} + level2 * ${String(SEQUENCE_LIMIT)} + level3)`;
182
+ // Cast to BIGINT to handle >2B rows - all multipliers must be BIGINT literals
183
+ const seqExpr = `(CAST(${String(startSequence - 1)} AS BIGINT) + CAST(level1 AS BIGINT) * BIGINT '${String(ROWS_PER_CHUNK)}' + CAST(level2 AS BIGINT) * BIGINT '${String(SEQUENCE_LIMIT)}' + level3)`;
188
184
  const expressions = table.columns.map((col) => {
189
185
  let expr = generatorToTrinoExpr(col.generator, seqExpr);
190
186
  // Apply null probability if specified
@@ -209,15 +205,10 @@ export class TrinoDataGenerator extends BaseDataGenerator {
209
205
  FROM UNNEST(sequence(0, ${String(numChunks - 1)})) AS t1(level1)
210
206
  CROSS JOIN UNNEST(sequence(0, ${String(SEQUENCE_LIMIT - 1)})) AS t2(level2)
211
207
  CROSS JOIN UNNEST(sequence(1, ${String(SEQUENCE_LIMIT)})) AS t3(level3)${lookupJoins}
212
- WHERE (level1 * ${String(ROWS_PER_CHUNK)} + level2 * ${String(SEQUENCE_LIMIT)} + level3) <= ${String(rowCount)}
208
+ WHERE (CAST(level1 AS BIGINT) * BIGINT '${String(ROWS_PER_CHUNK)}' + CAST(level2 AS BIGINT) * BIGINT '${String(SEQUENCE_LIMIT)}' + level3) <= BIGINT '${String(rowCount)}'
213
209
  `;
214
210
  const query = await trino.query(insertSql);
215
- for await (const result of query) {
216
- const trinoResult = result;
217
- if (trinoResult.error) {
218
- throw new Error(`Trino insert failed: ${trinoResult.error.message}`);
219
- }
220
- }
211
+ await this.executeQuery(query, "insert");
221
212
  }
222
213
  async queryRows(tableName, limit = 100) {
223
214
  const trino = this.getTrino();
@@ -225,6 +216,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
225
216
  const results = [];
226
217
  for await (const result of query) {
227
218
  const trinoResult = result;
219
+ if (trinoResult.error) {
220
+ throw new Error(`Trino queryRows failed: ${trinoResult.error.message}`);
221
+ }
228
222
  if (trinoResult.data && trinoResult.columns) {
229
223
  for (const row of trinoResult.data) {
230
224
  const obj = {};
@@ -242,6 +236,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
242
236
  const query = await trino.query(`SELECT COUNT(*) as count FROM ${this.fullTableName(tableName)}`);
243
237
  for await (const result of query) {
244
238
  const trinoResult = result;
239
+ if (trinoResult.error) {
240
+ throw new Error(`Trino countRows failed: ${trinoResult.error.message}`);
241
+ }
245
242
  const firstRow = trinoResult.data?.[0];
246
243
  if (firstRow && firstRow.length > 0) {
247
244
  return Number(firstRow[0]);
@@ -254,6 +251,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
254
251
  const query = await trino.query(`SELECT MAX(${escapeTrinoIdentifier(columnName)}) as max_val FROM ${this.fullTableName(tableName)}`);
255
252
  for await (const result of query) {
256
253
  const trinoResult = result;
254
+ if (trinoResult.error) {
255
+ throw new Error(`Trino getMaxValue failed: ${trinoResult.error.message}`);
256
+ }
257
257
  const firstRow = trinoResult.data?.[0];
258
258
  if (firstRow && firstRow.length > 0 && firstRow[0] !== null) {
259
259
  return Number(firstRow[0]);
@@ -269,6 +269,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
269
269
  const query = await trino.query(`SELECT COALESCE(SUM(file_size_in_bytes), 0) as size FROM ${this.fullSchemaPath}.${filesTableName}`);
270
270
  for await (const result of query) {
271
271
  const trinoResult = result;
272
+ if (trinoResult.error) {
273
+ throw new Error(`Trino getTableSize failed: ${trinoResult.error.message}`);
274
+ }
272
275
  const firstRow = trinoResult.data?.[0];
273
276
  if (firstRow && firstRow.length > 0) {
274
277
  return Number(firstRow[0]);
@@ -280,21 +283,17 @@ export class TrinoDataGenerator extends BaseDataGenerator {
280
283
  const trino = this.getTrino();
281
284
  const fullTableName = `${this.fullSchemaPath}.${escapeTrinoIdentifier(tableName)}`;
282
285
  // Compact small files into larger ones for better read performance
283
- const rewriteQuery = await trino.query(`ALTER TABLE ${fullTableName} EXECUTE rewrite_data_files(min_file_size_bytes => 10485760)`);
284
- // Consume the iterator to complete the query
285
- for await (const _ of rewriteQuery) {
286
- // no-op
287
- }
288
- // Remove old snapshots older than 1 day to reclaim storage
289
- const expireQuery = await trino.query(`ALTER TABLE ${fullTableName} EXECUTE expire_snapshots(retention_threshold => '1d')`);
290
- for await (const _ of expireQuery) {
291
- // no-op
292
- }
286
+ // Uses Trino's optimize procedure (file_size_threshold in bytes as string)
287
+ const rewriteQuery = await trino.query(`ALTER TABLE ${fullTableName} EXECUTE optimize(file_size_threshold => '10MB')`);
288
+ await this.executeQuery(rewriteQuery, "optimize");
289
+ // Remove old snapshots to reclaim storage
290
+ // Minimum retention is 7d by default (iceberg.expire-snapshots.min-retention)
291
+ const expireQuery = await trino.query(`ALTER TABLE ${fullTableName} EXECUTE expire_snapshots(retention_threshold => '7d')`);
292
+ await this.executeQuery(expireQuery, "expire_snapshots");
293
293
  // Remove orphan files not referenced by any snapshot
294
- const orphanQuery = await trino.query(`ALTER TABLE ${fullTableName} EXECUTE remove_orphan_files(retention_threshold => '1d')`);
295
- for await (const _ of orphanQuery) {
296
- // no-op
297
- }
294
+ // Minimum retention is 7d by default (iceberg.remove-orphan-files.min-retention)
295
+ const orphanQuery = await trino.query(`ALTER TABLE ${fullTableName} EXECUTE remove_orphan_files(retention_threshold => '7d')`);
296
+ await this.executeQuery(orphanQuery, "remove_orphan_files");
298
297
  }
299
298
  async applyTransformations(tableName, transformations) {
300
299
  if (transformations.length === 0)
@@ -392,17 +391,13 @@ export class TrinoDataGenerator extends BaseDataGenerator {
392
391
  WHERE random() < ${prob}
393
392
  `;
394
393
  const swapResult = await trino.query(swapSql);
395
- for await (const _ of swapResult) {
396
- // consume result
397
- }
394
+ await this.executeQuery(swapResult, "swap transformation");
398
395
  }
399
396
  if (setClauses.length === 0)
400
397
  return;
401
398
  const updateSql = `UPDATE ${fullTableName} SET ${setClauses.join(", ")}`;
402
399
  const result = await trino.query(updateSql);
403
- for await (const _ of result) {
404
- // consume result
405
- }
400
+ await this.executeQuery(result, "transformation");
406
401
  }
407
402
  }
408
403
  //# sourceMappingURL=trino-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trino-generator.js","sourceRoot":"","sources":["../../src/generator/trino-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trino-generator.js","sourceRoot":"","sources":["../../src/generator/trino-generator.ts"],"names":[],"mappings":"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"}
@@ -135,11 +135,15 @@ export interface TableConfig {
135
135
  description?: string;
136
136
  columns: ColumnConfig[];
137
137
  }
138
- export interface GenerateOptions {
139
- table: TableConfig;
140
- rowCount: number;
138
+ /**
139
+ * Common options shared between generate() and runScenario()
140
+ */
141
+ export interface CommonGenerateOptions {
142
+ /** Create tables if not exists (default: true) */
141
143
  createTable?: boolean;
144
+ /** Truncate tables before generating (default: false) */
142
145
  truncateFirst?: boolean;
146
+ /** Drop tables before generating (default: false) */
143
147
  dropFirst?: boolean;
144
148
  /**
145
149
  * If true, queries the table for max values of sequence columns
@@ -151,6 +155,16 @@ export interface GenerateOptions {
151
155
  * (VACUUM, OPTIMIZE TABLE, etc.). Default: true.
152
156
  */
153
157
  optimize?: boolean;
158
+ /**
159
+ * Number of rows to generate per batch. If set, rows are inserted
160
+ * in batches of this size. Useful for large datasets to avoid
161
+ * memory issues and timeouts. Default: no batching (all at once).
162
+ */
163
+ batchSize?: number;
164
+ }
165
+ export interface GenerateOptions extends CommonGenerateOptions {
166
+ table: TableConfig;
167
+ rowCount: number;
154
168
  }
155
169
  export type GeneratedRow = Record<string, unknown>;
156
170
  export interface GenerateResult {
@@ -161,6 +175,8 @@ export interface GenerateResult {
161
175
  generateMs: number;
162
176
  /** Duration of optimization (0 if skipped) */
163
177
  optimizeMs: number;
178
+ /** Number of batches used (1 if no batching) */
179
+ batchCount: number;
164
180
  }
165
181
  export interface TransformResult {
166
182
  /** Total duration of transformations */
@@ -168,6 +184,100 @@ export interface TransformResult {
168
184
  /** Number of batches applied */
169
185
  batchesApplied: number;
170
186
  }
187
+ /**
188
+ * A single step in a scenario.
189
+ *
190
+ * Steps can be:
191
+ * 1. **Generate + Transform**: Provide `table`, `rowCount`, and optionally `transformations`
192
+ * 2. **Transform only**: Provide `tableName` and `transformations` (table must already exist)
193
+ */
194
+ export type ScenarioStep = ScenarioGenerateStep | ScenarioTransformStep;
195
+ /**
196
+ * A step that generates data into a table and optionally transforms it.
197
+ */
198
+ export interface ScenarioGenerateStep {
199
+ /** Table configuration (schema + generators) */
200
+ table: TableConfig;
201
+ /** Number of rows to generate for this table */
202
+ rowCount: number;
203
+ /** Optional transformations to apply after generation */
204
+ transformations?: TransformationBatch[];
205
+ }
206
+ /**
207
+ * A step that only applies transformations to an existing table.
208
+ * Useful for cross-table lookups or applying transformations after all tables are generated.
209
+ */
210
+ export interface ScenarioTransformStep {
211
+ /** Name of the existing table to transform */
212
+ tableName: string;
213
+ /** Transformations to apply */
214
+ transformations: TransformationBatch[];
215
+ }
216
+ /**
217
+ * A complete scenario with multiple tables and transformations.
218
+ * Use with runScenario() for a single-call multi-table data generation workflow.
219
+ *
220
+ * @example
221
+ * const scenario: Scenario = {
222
+ * name: "E-commerce data",
223
+ * steps: [
224
+ * // Generate tables first
225
+ * { table: usersTable, rowCount: 1000 },
226
+ * { table: productsTable, rowCount: 500 },
227
+ * { table: ordersTable, rowCount: 5000 },
228
+ * // Then apply cross-table lookups
229
+ * {
230
+ * tableName: "orders",
231
+ * transformations: [
232
+ * { transformations: [{ kind: "lookup", column: "user_name", fromTable: "users", ... }] }
233
+ * ]
234
+ * },
235
+ * ],
236
+ * };
237
+ */
238
+ export interface Scenario {
239
+ /** Optional name for logging */
240
+ name?: string;
241
+ /** Optional description */
242
+ description?: string;
243
+ /** Steps to execute in order (each step = one table) */
244
+ steps: ScenarioStep[];
245
+ }
246
+ /**
247
+ * Options for running a scenario
248
+ */
249
+ export interface ScenarioOptions extends CommonGenerateOptions {
250
+ /** The scenario to run */
251
+ scenario: Scenario;
252
+ }
253
+ /**
254
+ * Result of a single step in a scenario
255
+ */
256
+ export interface ScenarioStepResult {
257
+ /** Table name */
258
+ tableName: string;
259
+ /** Generation result (undefined for transform-only steps) */
260
+ generate?: GenerateResult;
261
+ /** Transformation result (if transformations were defined) */
262
+ transform?: TransformResult;
263
+ }
264
+ /**
265
+ * Result of running a complete scenario
266
+ */
267
+ export interface ScenarioResult {
268
+ /** Results for each step */
269
+ steps: ScenarioStepResult[];
270
+ /** Total rows inserted across all tables */
271
+ totalRowsInserted: number;
272
+ /** Total duration of the entire scenario */
273
+ durationMs: number;
274
+ /** Total duration of data generation across all steps */
275
+ generateMs: number;
276
+ /** Total duration of transformations across all steps */
277
+ transformMs: number;
278
+ /** Duration of optimization phase (0 if skipped) */
279
+ optimizeMs: number;
280
+ }
171
281
  export interface DataGenerator {
172
282
  readonly name: string;
173
283
  /**
@@ -226,5 +336,10 @@ export interface DataGenerator {
226
336
  * - Trino/Iceberg: rewrite_data_files, expire_snapshots
227
337
  */
228
338
  optimize(tableName: string): Promise<void>;
339
+ /**
340
+ * Run a complete scenario: generate data and apply transformations.
341
+ * Combines generate() + transform() into a single call.
342
+ */
343
+ runScenario(options: ScenarioOptions): Promise<ScenarioResult>;
229
344
  }
230
345
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mkven/samples-generation",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Generate sample data for PostgreSQL, ClickHouse, SQLite, and Trino with a unified interface",
5
5
  "author": "Damir Manapov",
6
6
  "license": "MIT",
@@ -30,14 +30,37 @@
30
30
  ],
31
31
  "repository": {
32
32
  "type": "git",
33
- "url": "https://github.com/damir-manapov/samples-generation"
33
+ "url": "https://github.com/making-ventures/samples-generation.git"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
+ "scripts": {
39
+ "build": "tsc -p tsconfig.build.json",
40
+ "prepublishOnly": "pnpm run build",
41
+ "dev": "tsx src/index.ts",
42
+ "test": "vitest run",
43
+ "test:e2e": "vitest run --config vitest.e2e.config.ts",
44
+ "test:watch": "vitest",
45
+ "lint": "eslint .",
46
+ "lint:fix": "eslint . --fix",
47
+ "format": "prettier --write .",
48
+ "format:check": "prettier --check .",
49
+ "typecheck": "tsc --noEmit",
50
+ "release": "release-it",
51
+ "release:dry": "release-it --dry-run",
52
+ "compose:up": "docker compose -f compose/docker-compose.yml --profile single up starter",
53
+ "compose:postgres": "docker compose -f compose/docker-compose.yml up -d postgres",
54
+ "compose:clickhouse": "docker compose -f compose/docker-compose.yml up -d clickhouse",
55
+ "compose:trino": "docker compose -f compose/docker-compose.yml up -d trino",
56
+ "compose:trino-fte": "docker compose -f compose/docker-compose.yml up -d trino-fte",
57
+ "compose:down": "docker compose -f compose/docker-compose.yml down",
58
+ "compose:restart": "docker compose -f compose/docker-compose.yml restart",
59
+ "compose:reset": "docker compose -f compose/docker-compose.yml down --volumes --remove-orphans"
60
+ },
38
61
  "dependencies": {
39
62
  "@clickhouse/client": "^1.15.0",
40
- "@mkven/name-dictionaries": "github:mkven/name-dictionaries",
63
+ "@mkven/name-dictionaries": "^0.1.0",
41
64
  "better-sqlite3": "^12.5.0",
42
65
  "pg-format": "^1.0.4",
43
66
  "postgres": "^3.4.7",
@@ -45,31 +68,17 @@
45
68
  },
46
69
  "devDependencies": {
47
70
  "@eslint/js": "^9.39.2",
71
+ "@release-it/conventional-changelog": "^10.0.4",
48
72
  "@types/better-sqlite3": "^7.6.13",
49
73
  "@types/node": "^25.0.3",
50
74
  "@types/pg-format": "^1.0.5",
51
75
  "eslint": "^9.39.2",
52
76
  "eslint-config-prettier": "^10.1.8",
53
77
  "prettier": "^3.7.4",
78
+ "release-it": "^19.1.0",
54
79
  "tsx": "^4.21.0",
55
80
  "typescript": "^5.9.3",
56
81
  "typescript-eslint": "^8.50.0",
57
82
  "vitest": "^4.0.16"
58
- },
59
- "scripts": {
60
- "build": "tsc -p tsconfig.build.json",
61
- "dev": "tsx src/index.ts",
62
- "test": "vitest run",
63
- "test:e2e": "vitest run --config vitest.e2e.config.ts",
64
- "test:watch": "vitest",
65
- "lint": "eslint .",
66
- "lint:fix": "eslint . --fix",
67
- "format": "prettier --write .",
68
- "format:check": "prettier --check .",
69
- "typecheck": "tsc --noEmit",
70
- "compose:up": "docker compose -f compose/docker-compose.yml --profile single up starter",
71
- "compose:down": "docker compose -f compose/docker-compose.yml down",
72
- "compose:restart": "docker compose -f compose/docker-compose.yml restart",
73
- "compose:reset": "docker compose -f compose/docker-compose.yml down --volumes --remove-orphans"
74
83
  }
75
- }
84
+ }