@mkven/samples-generation 0.2.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 +197 -60
- package/dist/generator/base-generator.d.ts.map +1 -1
- package/dist/generator/base-generator.js +55 -4
- package/dist/generator/base-generator.js.map +1 -1
- package/dist/generator/trino-generator.d.ts +5 -0
- package/dist/generator/trino-generator.d.ts.map +1 -1
- package/dist/generator/trino-generator.js +41 -48
- package/dist/generator/trino-generator.js.map +1 -1
- package/dist/generator/types.d.ts +14 -0
- package/dist/generator/types.d.ts.map +1 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ We often need to prefill tables during tests, checks, and measurements. These ge
|
|
|
19
19
|
pnpm install
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
## Measurements of
|
|
22
|
+
## Measurements of generations
|
|
23
23
|
|
|
24
24
|
Environment: local databases, simple setup, 1 billion rows
|
|
25
25
|
|
|
@@ -27,13 +27,19 @@ Environment: local databases, simple setup, 1 billion rows
|
|
|
27
27
|
|
|
28
28
|
5 columns (id, 10-char string, 0 - 1000 float, string choice out of 3 variants, datetime)
|
|
29
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
|
|
35
|
+
|
|
30
36
|
_ClickHouse:_ Generated in 11m 2s (generation: 6m 8s, optimisation: 4m 54s), table size: 23.81 GB
|
|
31
37
|
|
|
32
|
-
_Trino:_ Generated in
|
|
38
|
+
_Trino, 16 Gb Ram + spill by fte:_ Generated in 8m 40s (generation: 6m 48s, optimisation: 291ms), table size: 15.70 GB
|
|
33
39
|
|
|
34
40
|
_PostgreSQL:_ Generated in 54m 26s (generation: 35m 55s, optimisation: 18m 30s), table size: 63.60 GB
|
|
35
41
|
|
|
36
|
-
|
|
42
|
+
#### 10 billion rows
|
|
37
43
|
|
|
38
44
|
_ClickHouse:_ Generated in 4h 52m 21s (generation: 4h 47m 44s, optimisation: 4m 36s), table size: 248.38 GB
|
|
39
45
|
|
|
@@ -43,18 +49,71 @@ _Trino:_ Generated in 1h 4m 41s (generation: 1h 4m 41s, optimisation: 181ms), ta
|
|
|
43
49
|
|
|
44
50
|
7 columns total.
|
|
45
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
|
+
|
|
46
58
|
English names:
|
|
47
59
|
|
|
48
|
-
_ClickHouse:_ Generated in 41m 48s (generation: 35m 9s,
|
|
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
|
|
49
73
|
|
|
50
|
-
|
|
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
|
|
51
79
|
|
|
52
80
|
### Note
|
|
53
81
|
|
|
54
|
-
|
|
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.
|
|
55
88
|
|
|
56
89
|
## Quick Start
|
|
57
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
|
+
|
|
58
117
|
### Using the Generator API
|
|
59
118
|
|
|
60
119
|
```typescript
|
|
@@ -104,6 +163,7 @@ const result = await generator.generate({
|
|
|
104
163
|
rowCount: 1000,
|
|
105
164
|
truncateFirst: true,
|
|
106
165
|
resumeSequences: true, // Continue sequence from last max value
|
|
166
|
+
batchSize: 100_000_000, // Optional: insert in batches (useful for large datasets)
|
|
107
167
|
});
|
|
108
168
|
console.log(
|
|
109
169
|
`Inserted ${result.rowsInserted} rows in ${result.generateMs}ms (optimize: ${result.optimizeMs}ms)`
|
|
@@ -359,49 +419,106 @@ With descriptions, you'll see helpful logs:
|
|
|
359
419
|
|
|
360
420
|
### Scenarios
|
|
361
421
|
|
|
362
|
-
A `Scenario`
|
|
422
|
+
A `Scenario` orchestrates multi-step data generation workflows - create lookup tables, generate main tables, and apply cross-table transformations in sequence:
|
|
363
423
|
|
|
364
424
|
```typescript
|
|
365
425
|
import { PostgresDataGenerator, type Scenario } from "./src/generator/index.js";
|
|
366
426
|
|
|
367
|
-
const
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
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
|
+
],
|
|
375
449
|
},
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
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
|
+
],
|
|
380
491
|
},
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
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
|
+
],
|
|
387
504
|
},
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
type: "string",
|
|
392
|
-
generator: { kind: "randomString", length: 20 },
|
|
393
|
-
},
|
|
394
|
-
],
|
|
395
|
-
},
|
|
396
|
-
transformations: [
|
|
505
|
+
],
|
|
506
|
+
},
|
|
507
|
+
// Step 3: Transform-only step - apply cross-table lookup
|
|
397
508
|
{
|
|
398
|
-
|
|
509
|
+
tableName: "employees",
|
|
399
510
|
transformations: [
|
|
400
511
|
{
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
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
|
+
],
|
|
405
522
|
},
|
|
406
523
|
],
|
|
407
524
|
},
|
|
@@ -414,39 +531,49 @@ const generator = new PostgresDataGenerator({
|
|
|
414
531
|
await generator.connect();
|
|
415
532
|
|
|
416
533
|
const result = await generator.runScenario({
|
|
417
|
-
scenario
|
|
418
|
-
rowCount: 10000,
|
|
534
|
+
scenario,
|
|
419
535
|
dropFirst: true,
|
|
420
536
|
});
|
|
421
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
|
+
}
|
|
422
546
|
console.log(
|
|
423
|
-
`
|
|
547
|
+
`Total: ${result.totalRowsInserted} rows in ${result.durationMs}ms`
|
|
424
548
|
);
|
|
425
|
-
if (result.transform) {
|
|
426
|
-
console.log(
|
|
427
|
-
`Applied ${result.transform.batchesApplied} transformation batch(es) in ${result.transform.durationMs}ms`
|
|
428
|
-
);
|
|
429
|
-
}
|
|
430
|
-
console.log(`Total: ${result.durationMs}ms`);
|
|
431
549
|
|
|
432
550
|
await generator.disconnect();
|
|
433
551
|
```
|
|
434
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
|
+
|
|
435
560
|
```typescript
|
|
436
561
|
interface ScenarioOptions {
|
|
437
562
|
scenario: Scenario;
|
|
438
|
-
rowCount: number;
|
|
439
563
|
createTable?: boolean; // Default: true
|
|
440
564
|
dropFirst?: boolean; // Default: false
|
|
441
565
|
truncateFirst?: boolean; // Default: false
|
|
442
566
|
resumeSequences?: boolean; // Default: true
|
|
443
|
-
optimize?: boolean; // Default: true
|
|
567
|
+
optimize?: boolean; // Default: true (runs once at end for all tables)
|
|
444
568
|
}
|
|
445
569
|
|
|
446
570
|
interface ScenarioResult {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
durationMs: number;
|
|
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
|
|
450
577
|
}
|
|
451
578
|
```
|
|
452
579
|
|
|
@@ -498,12 +625,12 @@ formatBytes(1048576); // "1.00 MB"
|
|
|
498
625
|
|
|
499
626
|
By default, `generate()` runs database-specific optimization after inserting rows:
|
|
500
627
|
|
|
501
|
-
| Database | Optimization
|
|
502
|
-
| ---------- |
|
|
503
|
-
| PostgreSQL | `VACUUM ANALYZE` - reclaims storage and updates statistics
|
|
504
|
-
| ClickHouse | `OPTIMIZE TABLE FINAL` - merges all parts for MergeTree engines
|
|
505
|
-
| SQLite | `VACUUM` + `ANALYZE` - rebuilds file and gathers statistics
|
|
506
|
-
| Trino | `
|
|
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 |
|
|
507
634
|
|
|
508
635
|
Disable for quick tests:
|
|
509
636
|
|
|
@@ -533,6 +660,16 @@ npx tsx scripts/generate-all.ts
|
|
|
533
660
|
npx tsx scripts/generate-all.ts --rows 1000
|
|
534
661
|
npx tsx scripts/generate-all.ts -r 1_000_000
|
|
535
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
|
+
|
|
536
673
|
# Generate for specific databases only
|
|
537
674
|
npx tsx scripts/generate-all.ts --sqlite
|
|
538
675
|
npx tsx scripts/generate-all.ts --postgres
|
|
@@ -540,7 +677,7 @@ npx tsx scripts/generate-all.ts --clickhouse
|
|
|
540
677
|
npx tsx scripts/generate-all.ts --trino
|
|
541
678
|
|
|
542
679
|
# Combine options
|
|
543
|
-
npx tsx scripts/generate-all.ts -r 10000 --postgres --clickhouse
|
|
680
|
+
npx tsx scripts/generate-all.ts -r 10000 --scenario english-names --postgres --clickhouse
|
|
544
681
|
|
|
545
682
|
# Show help
|
|
546
683
|
npx tsx scripts/generate-all.ts --help
|
|
@@ -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,EACf,eAAe,EACf,cAAc,EAIf,MAAM,YAAY,CAAC;
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import { formatDuration } from "./utils.js";
|
|
1
2
|
import { formatBytes } from "./utils.js";
|
|
2
3
|
/** Type guard for generate steps */
|
|
3
4
|
function isGenerateStep(step) {
|
|
@@ -12,12 +13,23 @@ export class BaseDataGenerator {
|
|
|
12
13
|
return size === null ? null : formatBytes(size);
|
|
13
14
|
}
|
|
14
15
|
async generate(options) {
|
|
15
|
-
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;
|
|
16
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;
|
|
17
26
|
const tableLabel = table.description
|
|
18
27
|
? `${table.name} (${table.description})`
|
|
19
28
|
: table.name;
|
|
20
|
-
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
|
+
: ""));
|
|
21
33
|
if (dropFirst) {
|
|
22
34
|
await this.dropTable(table.name);
|
|
23
35
|
}
|
|
@@ -40,7 +52,31 @@ export class BaseDataGenerator {
|
|
|
40
52
|
}
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
|
-
|
|
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
|
+
}
|
|
44
80
|
const generateMs = Date.now() - startTime;
|
|
45
81
|
let optimizeMs = 0;
|
|
46
82
|
if (optimize) {
|
|
@@ -53,6 +89,7 @@ export class BaseDataGenerator {
|
|
|
53
89
|
durationMs: Date.now() - startTime,
|
|
54
90
|
generateMs,
|
|
55
91
|
optimizeMs,
|
|
92
|
+
batchCount,
|
|
56
93
|
};
|
|
57
94
|
}
|
|
58
95
|
async transform(tableName, batches) {
|
|
@@ -74,12 +111,14 @@ export class BaseDataGenerator {
|
|
|
74
111
|
}
|
|
75
112
|
async runScenario(options) {
|
|
76
113
|
const startTime = Date.now();
|
|
77
|
-
const { scenario, createTable = true, dropFirst = false, truncateFirst = false, resumeSequences = true, optimize = true, } = options;
|
|
114
|
+
const { scenario, createTable = true, dropFirst = false, truncateFirst = false, resumeSequences = true, optimize = true, batchSize, } = options;
|
|
78
115
|
if (scenario.name) {
|
|
79
116
|
console.log(`[${this.name}] Running scenario: ${scenario.name}`);
|
|
80
117
|
}
|
|
81
118
|
const stepResults = [];
|
|
82
119
|
let totalRowsInserted = 0;
|
|
120
|
+
let totalGenerateMs = 0;
|
|
121
|
+
let totalTransformMs = 0;
|
|
83
122
|
for (const step of scenario.steps) {
|
|
84
123
|
if (isGenerateStep(step)) {
|
|
85
124
|
// Generate step: create table and insert rows
|
|
@@ -95,6 +134,7 @@ export class BaseDataGenerator {
|
|
|
95
134
|
truncateFirst,
|
|
96
135
|
resumeSequences,
|
|
97
136
|
optimize: false,
|
|
137
|
+
batchSize,
|
|
98
138
|
});
|
|
99
139
|
// Apply transformations if defined
|
|
100
140
|
let transformResult;
|
|
@@ -107,6 +147,10 @@ export class BaseDataGenerator {
|
|
|
107
147
|
transform: transformResult,
|
|
108
148
|
});
|
|
109
149
|
totalRowsInserted += generateResult.rowsInserted;
|
|
150
|
+
totalGenerateMs += generateResult.generateMs;
|
|
151
|
+
if (transformResult) {
|
|
152
|
+
totalTransformMs += transformResult.durationMs;
|
|
153
|
+
}
|
|
110
154
|
}
|
|
111
155
|
else {
|
|
112
156
|
// Transform-only step: just apply transformations to existing table
|
|
@@ -115,19 +159,26 @@ export class BaseDataGenerator {
|
|
|
115
159
|
tableName: step.tableName,
|
|
116
160
|
transform: transformResult,
|
|
117
161
|
});
|
|
162
|
+
totalTransformMs += transformResult.durationMs;
|
|
118
163
|
}
|
|
119
164
|
}
|
|
120
165
|
// Optimize all touched tables once at the end
|
|
166
|
+
let optimizeMs = 0;
|
|
121
167
|
if (optimize) {
|
|
168
|
+
const optimizeStart = Date.now();
|
|
122
169
|
const uniqueTables = [...new Set(stepResults.map((s) => s.tableName))];
|
|
123
170
|
for (const tableName of uniqueTables) {
|
|
124
171
|
await this.optimize(tableName);
|
|
125
172
|
}
|
|
173
|
+
optimizeMs = Date.now() - optimizeStart;
|
|
126
174
|
}
|
|
127
175
|
return {
|
|
128
176
|
steps: stepResults,
|
|
129
177
|
totalRowsInserted,
|
|
130
178
|
durationMs: Date.now() - startTime,
|
|
179
|
+
generateMs: totalGenerateMs,
|
|
180
|
+
transformMs: totalTransformMs,
|
|
181
|
+
optimizeMs,
|
|
131
182
|
};
|
|
132
183
|
}
|
|
133
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-generator.js","sourceRoot":"","sources":["../../src/generator/base-generator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,oCAAoC;AACpC,SAAS,cAAc,CAAC,IAAkB;IACxC,OAAO,OAAO,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED,MAAM,OAAgB,iBAAiB;IAkDrC;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,WAAW,GAAG,IAAI,EAClB,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,KAAK,EACrB,eAAe,GAAG,IAAI,EACtB,QAAQ,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"base-generator.js","sourceRoot":"","sources":["../../src/generator/base-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,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;
|
|
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"}
|
|
@@ -105,9 +105,7 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
105
105
|
});
|
|
106
106
|
// Ensure schema exists
|
|
107
107
|
const createSchema = await this.trino.query(`CREATE SCHEMA IF NOT EXISTS ${this.fullSchemaPath}`);
|
|
108
|
-
|
|
109
|
-
// consume iterator
|
|
110
|
-
}
|
|
108
|
+
await this.executeQuery(createSchema, "connect");
|
|
111
109
|
}
|
|
112
110
|
disconnect() {
|
|
113
111
|
this.trino = null;
|
|
@@ -119,6 +117,18 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
119
117
|
}
|
|
120
118
|
return this.trino;
|
|
121
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
|
+
}
|
|
122
132
|
fullTableName(tableName) {
|
|
123
133
|
return `${this.fullSchemaPath}.${escapeTrinoIdentifier(tableName)}`;
|
|
124
134
|
}
|
|
@@ -131,33 +141,17 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
131
141
|
})
|
|
132
142
|
.join(", ");
|
|
133
143
|
const query = await trino.query(`CREATE TABLE IF NOT EXISTS ${this.fullTableName(table.name)} (${columns}) WITH (format = 'PARQUET')`);
|
|
134
|
-
|
|
135
|
-
const trinoResult = result;
|
|
136
|
-
if (trinoResult.error) {
|
|
137
|
-
throw new Error(`Trino createTable failed: ${trinoResult.error.message}`);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
144
|
+
await this.executeQuery(query, "createTable");
|
|
140
145
|
}
|
|
141
146
|
async truncateTable(tableName) {
|
|
142
147
|
const trino = this.getTrino();
|
|
143
148
|
const query = await trino.query(`DELETE FROM ${this.fullTableName(tableName)}`);
|
|
144
|
-
|
|
145
|
-
const trinoResult = result;
|
|
146
|
-
if (trinoResult.error) {
|
|
147
|
-
throw new Error(`Trino truncateTable failed: ${trinoResult.error.message}`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
149
|
+
await this.executeQuery(query, "truncateTable");
|
|
150
150
|
}
|
|
151
151
|
async dropTable(tableName) {
|
|
152
152
|
const trino = this.getTrino();
|
|
153
153
|
const query = await trino.query(`DROP TABLE IF EXISTS ${this.fullTableName(tableName)}`);
|
|
154
|
-
|
|
155
|
-
// Check for errors in Trino response
|
|
156
|
-
const trinoResult = result;
|
|
157
|
-
if (trinoResult.error) {
|
|
158
|
-
throw new Error(`Trino query failed: ${trinoResult.error.message}`);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
154
|
+
await this.executeQuery(query, "dropTable");
|
|
161
155
|
}
|
|
162
156
|
async generateNative(table, rowCount, startSequence) {
|
|
163
157
|
const trino = this.getTrino();
|
|
@@ -214,12 +208,7 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
214
208
|
WHERE (CAST(level1 AS BIGINT) * BIGINT '${String(ROWS_PER_CHUNK)}' + CAST(level2 AS BIGINT) * BIGINT '${String(SEQUENCE_LIMIT)}' + level3) <= BIGINT '${String(rowCount)}'
|
|
215
209
|
`;
|
|
216
210
|
const query = await trino.query(insertSql);
|
|
217
|
-
|
|
218
|
-
const trinoResult = result;
|
|
219
|
-
if (trinoResult.error) {
|
|
220
|
-
throw new Error(`Trino insert failed: ${trinoResult.error.message}`);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
211
|
+
await this.executeQuery(query, "insert");
|
|
223
212
|
}
|
|
224
213
|
async queryRows(tableName, limit = 100) {
|
|
225
214
|
const trino = this.getTrino();
|
|
@@ -227,6 +216,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
227
216
|
const results = [];
|
|
228
217
|
for await (const result of query) {
|
|
229
218
|
const trinoResult = result;
|
|
219
|
+
if (trinoResult.error) {
|
|
220
|
+
throw new Error(`Trino queryRows failed: ${trinoResult.error.message}`);
|
|
221
|
+
}
|
|
230
222
|
if (trinoResult.data && trinoResult.columns) {
|
|
231
223
|
for (const row of trinoResult.data) {
|
|
232
224
|
const obj = {};
|
|
@@ -244,6 +236,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
244
236
|
const query = await trino.query(`SELECT COUNT(*) as count FROM ${this.fullTableName(tableName)}`);
|
|
245
237
|
for await (const result of query) {
|
|
246
238
|
const trinoResult = result;
|
|
239
|
+
if (trinoResult.error) {
|
|
240
|
+
throw new Error(`Trino countRows failed: ${trinoResult.error.message}`);
|
|
241
|
+
}
|
|
247
242
|
const firstRow = trinoResult.data?.[0];
|
|
248
243
|
if (firstRow && firstRow.length > 0) {
|
|
249
244
|
return Number(firstRow[0]);
|
|
@@ -256,6 +251,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
256
251
|
const query = await trino.query(`SELECT MAX(${escapeTrinoIdentifier(columnName)}) as max_val FROM ${this.fullTableName(tableName)}`);
|
|
257
252
|
for await (const result of query) {
|
|
258
253
|
const trinoResult = result;
|
|
254
|
+
if (trinoResult.error) {
|
|
255
|
+
throw new Error(`Trino getMaxValue failed: ${trinoResult.error.message}`);
|
|
256
|
+
}
|
|
259
257
|
const firstRow = trinoResult.data?.[0];
|
|
260
258
|
if (firstRow && firstRow.length > 0 && firstRow[0] !== null) {
|
|
261
259
|
return Number(firstRow[0]);
|
|
@@ -271,6 +269,9 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
271
269
|
const query = await trino.query(`SELECT COALESCE(SUM(file_size_in_bytes), 0) as size FROM ${this.fullSchemaPath}.${filesTableName}`);
|
|
272
270
|
for await (const result of query) {
|
|
273
271
|
const trinoResult = result;
|
|
272
|
+
if (trinoResult.error) {
|
|
273
|
+
throw new Error(`Trino getTableSize failed: ${trinoResult.error.message}`);
|
|
274
|
+
}
|
|
274
275
|
const firstRow = trinoResult.data?.[0];
|
|
275
276
|
if (firstRow && firstRow.length > 0) {
|
|
276
277
|
return Number(firstRow[0]);
|
|
@@ -282,21 +283,17 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
282
283
|
const trino = this.getTrino();
|
|
283
284
|
const fullTableName = `${this.fullSchemaPath}.${escapeTrinoIdentifier(tableName)}`;
|
|
284
285
|
// Compact small files into larger ones for better read performance
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
for await (const _ of expireQuery) {
|
|
293
|
-
// no-op
|
|
294
|
-
}
|
|
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");
|
|
295
293
|
// Remove orphan files not referenced by any snapshot
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
}
|
|
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");
|
|
300
297
|
}
|
|
301
298
|
async applyTransformations(tableName, transformations) {
|
|
302
299
|
if (transformations.length === 0)
|
|
@@ -394,17 +391,13 @@ export class TrinoDataGenerator extends BaseDataGenerator {
|
|
|
394
391
|
WHERE random() < ${prob}
|
|
395
392
|
`;
|
|
396
393
|
const swapResult = await trino.query(swapSql);
|
|
397
|
-
|
|
398
|
-
// consume result
|
|
399
|
-
}
|
|
394
|
+
await this.executeQuery(swapResult, "swap transformation");
|
|
400
395
|
}
|
|
401
396
|
if (setClauses.length === 0)
|
|
402
397
|
return;
|
|
403
398
|
const updateSql = `UPDATE ${fullTableName} SET ${setClauses.join(", ")}`;
|
|
404
399
|
const result = await trino.query(updateSql);
|
|
405
|
-
|
|
406
|
-
// consume result
|
|
407
|
-
}
|
|
400
|
+
await this.executeQuery(result, "transformation");
|
|
408
401
|
}
|
|
409
402
|
}
|
|
410
403
|
//# sourceMappingURL=trino-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trino-generator.js","sourceRoot":"","sources":["../../src/generator/trino-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAWhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAUhD,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,eAAuB;IAC9D,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,wBAAwB,MAAM,CAAC,eAAe,CAAC,mBAAmB,IAAI,MAAM,CAAC;AACtF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAoB,EACpB,OAAe;IAEf,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;YAC3B,oCAAoC;YACpC,OAAO,SAAS,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,WAAW,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QACjG,CAAC;QACD,KAAK,WAAW;YACd,oCAAoC;YACpC,OAAO,yBAAyB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;QACpG,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;YACrC,OAAO,oBAAoB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QACrG,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YACvB,uDAAuD;YACvD,OAAO,wDAAwD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAChF,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7C,CAAC;YACF,oCAAoC;YACpC,OAAO,oBAAoB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC9G,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,yDAAyD;YACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,cAAc,OAAO,2CAA2C,OAAO,yBAAyB,CAAC;QAC1G,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7C,kCAAkC;YAClC,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,4BAA4B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;QACzG,CAAC;QACD,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,iBAAiB;IAMnC;IALX,IAAI,GAAG,OAAO,CAAC;IAChB,KAAK,GAAiB,IAAI,CAAC;IAC3B,cAAc,CAAS;IACvB,aAAa,CAAS;IAE9B,YAAoB,MAAmB;QACrC,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAa;QAErC,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YACxB,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAChE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,IAAI,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACtC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CACzC,+BAA+B,IAAI,CAAC,cAAc,EAAE,CACrD,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YACnC,mBAAmB;QACrB,CAAC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAkB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;aAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACjD,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;QACnF,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,8BAA8B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,6BAA6B,CACtG,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAyC,CAAC;YAC9D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,6BAA6B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,eAAe,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAC/C,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAyC,CAAC;YAC9D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,+BAA+B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,wBAAwB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CACxD,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,qCAAqC;YACrC,MAAM,WAAW,GAAG,MAAyC,CAAC;YAC9D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,KAAkB,EAClB,QAAgB,EAChB,aAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,mDAAmD;QACnD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;gBAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM;qBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;qBACxC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,UAAU,CAAC,IAAI,CACb,GAAG,OAAO,qBAAqB,aAAa,WAAW,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,4CAA4C;QAC5C,2DAA2D;QAC3D,wDAAwD;QACxD,mCAAmC;QACnC,oCAAoC;QACpC,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,kCAAkC;QACjE,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,OAAO;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;QAEvD,sDAAsD;QACtD,8EAA8E;QAC9E,MAAM,OAAO,GAAG,SAAS,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,kDAAkD,MAAM,CAAC,cAAc,CAAC,wCAAwC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;QACtM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,sCAAsC;YACtC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBACnE,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,cAAc;gBACd;oBACE,GAAG,IAAI,GAAG,CACR,KAAK,CAAC,OAAO;yBACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC;yBACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,kBAAkB,CACf,CAAC,CAAC,SAAqC,CAAC,MAAM,CAChD,CACF,CACJ;iBACF,CAAC,IAAI,CAAC,cAAc,CAAC;YACxB,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,SAAS,GAAG;oBACF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACjE,SAAS,UAAU,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gCACjB,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;sCACf,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;sCAC1B,MAAM,CAAC,cAAc,CAAC,mBAAmB,WAAW;gDAC1C,MAAM,CAAC,cAAc,CAAC,wCAAwC,MAAM,CAAC,cAAc,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC;KACzK,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAyC,CAAC;YAC9D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,KAAK,GAAG,GAAG;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,iBAAiB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CACxE,CAAC;QAEF,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAGnB,CAAC;YACF,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC5C,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,GAAG,GAAiB,EAAE,CAAC;oBAC7B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACrC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,iCAAiC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CACjE,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAgC,CAAC;YACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,UAAkB;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,cAAc,qBAAqB,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CACpG,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAgC,CAAC;YACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,0DAA0D;QAC1D,0DAA0D;QAC1D,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,4DAA4D,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE,CACpG,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAgC,CAAC;YACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QAEnF,mEAAmE;QACnE,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,KAAK,CACpC,eAAe,aAAa,8DAA8D,CAC3F,CAAC;QACF,6CAA6C;QAC7C,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YACnC,QAAQ;QACV,CAAC;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CACnC,eAAe,aAAa,wDAAwD,CACrF,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAClC,QAAQ;QACV,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CACnC,eAAe,aAAa,2DAA2D,CACxF,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAClC,QAAQ;QACV,CAAC;IACH,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,SAAiB,EACjB,eAAiC;QAEjC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnD,+CAA+C;oBAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;oBACjD,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAC9C,qCAAqC;wBACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,KAAK,OAAO,IAAI,EAChB,WAAW,MAAM,iBAAiB,CACnC,CAAC;wBACF,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,IAAI,OAAO,GAAG,EACd,WAAW,MAAM,iBAAiB,CACnC,CAAC;oBACJ,CAAC;oBACD,8BAA8B;oBAC9B,IAAI,GAAG,UAAU,IAAI,GAAG,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBACtC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC,qCAAqC;oBAC1F,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;wBAChB,IAAI,GAAG,SAAS,IAAI,GAAG,CAAC;oBAC1B,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,MAAM,IAAI,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnD,+CAA+C;oBAC/C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;oBACtC,oCAAoC;oBACpC,MAAM,SAAS,GAAG,gCAAgC,UAAU,oBAAoB,CAAC;oBAEjF,gDAAgD;oBAChD,MAAM,aAAa,GAAsC;wBACvD,OAAO,EAAE,iBAAiB,UAAU,QAAQ,SAAS,sBAAsB,UAAU,KAAK,SAAS,QAAQ;wBAC3G,MAAM,EAAE,iBAAiB,UAAU,QAAQ,SAAS,iBAAiB,UAAU,KAAK,SAAS,QAAQ;wBACrG,MAAM,EAAE,iBAAiB,UAAU,QAAQ,SAAS,kBAAkB,UAAU,KAAK,SAAS,QAAQ;qBACvG,CAAC;oBAEF,iEAAiE;oBACjE,IAAI,UAAkB,CAAC;oBACvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,kDAAkD;wBAClD,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,+DAA+D;oBAC7G,CAAC;yBAAM,CAAC;wBACN,2CAA2C;wBAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;4BACrC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;4BAC9C,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAChC,OAAO,QAAQ,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;4BACrC,CAAC;4BACD,OAAO,mBAAmB,MAAM,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1E,CAAC,CAAC,CAAC;wBACH,UAAU,GAAG,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC/C,CAAC;oBAED,UAAU,CAAC,IAAI,CACb,GAAG,UAAU,2BAA2B,MAAM,CAAC,WAAW,CAAC,SAAS,UAAU,SAAS,UAAU,MAAM,CACxG,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnD,2CAA2C;oBAC3C,iCAAiC;oBACjC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACpD,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnE,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnE,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;oBAE9E,UAAU,CAAC,IAAI,CACb,GAAG,UAAU,cAAc,OAAO,SAAS,eAAe,UAAU,aAAa,MAAM,aAAa,IAAI,aAAa,GAAG,CACzH,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,8EAA8E;oBAC9E,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAChD,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAClD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtC,2EAA2E;YAC3E,MAAM,OAAO,GAAG;iBACL,aAAa;YAClB,IAAI,MAAM,IAAI;YACd,IAAI,MAAM,IAAI;2BACC,IAAI;OACxB,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACjC,iBAAiB;YACnB,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,SAAS,GAAG,UAAU,aAAa,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7B,iBAAiB;QACnB,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"trino-generator.js","sourceRoot":"","sources":["../../src/generator/trino-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAWhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAUhD,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,eAAuB;IAC9D,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,eAAe,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,wBAAwB,MAAM,CAAC,eAAe,CAAC,mBAAmB,IAAI,MAAM,CAAC;AACtF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAoB,EACpB,OAAe;IAEf,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;YAC3B,oCAAoC;YACpC,OAAO,SAAS,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,WAAW,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QACjG,CAAC;QACD,KAAK,WAAW;YACd,oCAAoC;YACpC,OAAO,yBAAyB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;QACpG,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;YACrC,OAAO,oBAAoB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QACrG,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YACvB,uDAAuD;YACvD,OAAO,wDAAwD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAChF,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7C,CAAC;YACF,oCAAoC;YACpC,OAAO,oBAAoB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC9G,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,yDAAyD;YACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,cAAc,OAAO,2CAA2C,OAAO,yBAAyB,CAAC;QAC1G,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7C,kCAAkC;YAClC,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,4BAA4B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;QACzG,CAAC;QACD,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,iBAAiB;IAMnC;IALX,IAAI,GAAG,OAAO,CAAC;IAChB,KAAK,GAAiB,IAAI,CAAC;IAC3B,cAAc,CAAS;IACvB,aAAa,CAAS;IAE9B,YAAoB,MAAmB;QACrC,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAa;QAErC,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YACxB,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAChE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,IAAI,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACtC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CACzC,+BAA+B,IAAI,CAAC,cAAc,EAAE,CACrD,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CACxB,KAA6B,EAC7B,SAAiB;QAEjB,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAyC,CAAC;YAC9D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,SAAS,SAAS,YAAY,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAkB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;aAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACjD,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;QACnF,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,8BAA8B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,6BAA6B,CACtG,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,eAAe,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAC/C,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,wBAAwB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CACxD,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,KAAkB,EAClB,QAAgB,EAChB,aAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,mDAAmD;QACnD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;gBAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM;qBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;qBACxC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,UAAU,CAAC,IAAI,CACb,GAAG,OAAO,qBAAqB,aAAa,WAAW,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,4CAA4C;QAC5C,2DAA2D;QAC3D,wDAAwD;QACxD,mCAAmC;QACnC,oCAAoC;QACpC,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,kCAAkC;QACjE,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,OAAO;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;QAEvD,sDAAsD;QACtD,8EAA8E;QAC9E,MAAM,OAAO,GAAG,SAAS,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,kDAAkD,MAAM,CAAC,cAAc,CAAC,wCAAwC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;QACtM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,sCAAsC;YACtC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBACnE,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,cAAc;gBACd;oBACE,GAAG,IAAI,GAAG,CACR,KAAK,CAAC,OAAO;yBACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC;yBACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,kBAAkB,CACf,CAAC,CAAC,SAAqC,CAAC,MAAM,CAChD,CACF,CACJ;iBACF,CAAC,IAAI,CAAC,cAAc,CAAC;YACxB,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,SAAS,GAAG;oBACF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACjE,SAAS,UAAU,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gCACjB,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;sCACf,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;sCAC1B,MAAM,CAAC,cAAc,CAAC,mBAAmB,WAAW;gDAC1C,MAAM,CAAC,cAAc,CAAC,wCAAwC,MAAM,CAAC,cAAc,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC;KACzK,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,KAAK,GAAG,GAAG;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,iBAAiB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CACxE,CAAC;QAEF,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAInB,CAAC;YACF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC5C,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,GAAG,GAAiB,EAAE,CAAC;oBAC7B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACrC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,iCAAiC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CACjE,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAGnB,CAAC;YACF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAiB,EACjB,UAAkB;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,cAAc,qBAAqB,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CACpG,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAGnB,CAAC;YACF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,6BAA6B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CACzD,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,0DAA0D;QAC1D,0DAA0D;QAC1D,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAC7B,4DAA4D,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE,CACpG,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAGnB,CAAC;YACF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,8BAA8B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QAEnF,mEAAmE;QACnE,2EAA2E;QAC3E,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,KAAK,CACpC,eAAe,aAAa,kDAAkD,CAC/E,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAElD,0CAA0C;QAC1C,8EAA8E;QAC9E,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CACnC,eAAe,aAAa,wDAAwD,CACrF,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAEzD,qDAAqD;QACrD,iFAAiF;QACjF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CACnC,eAAe,aAAa,2DAA2D,CACxF,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IAC9D,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,SAAiB,EACjB,eAAiC;QAEjC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnD,+CAA+C;oBAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;oBACjD,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAC9C,qCAAqC;wBACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,KAAK,OAAO,IAAI,EAChB,WAAW,MAAM,iBAAiB,CACnC,CAAC;wBACF,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,IAAI,OAAO,GAAG,EACd,WAAW,MAAM,iBAAiB,CACnC,CAAC;oBACJ,CAAC;oBACD,8BAA8B;oBAC9B,IAAI,GAAG,UAAU,IAAI,GAAG,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;oBAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBACtC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC,qCAAqC;oBAC1F,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;wBAChB,IAAI,GAAG,SAAS,IAAI,GAAG,CAAC;oBAC1B,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,MAAM,IAAI,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnD,+CAA+C;oBAC/C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;oBACtC,oCAAoC;oBACpC,MAAM,SAAS,GAAG,gCAAgC,UAAU,oBAAoB,CAAC;oBAEjF,gDAAgD;oBAChD,MAAM,aAAa,GAAsC;wBACvD,OAAO,EAAE,iBAAiB,UAAU,QAAQ,SAAS,sBAAsB,UAAU,KAAK,SAAS,QAAQ;wBAC3G,MAAM,EAAE,iBAAiB,UAAU,QAAQ,SAAS,iBAAiB,UAAU,KAAK,SAAS,QAAQ;wBACrG,MAAM,EAAE,iBAAiB,UAAU,QAAQ,SAAS,kBAAkB,UAAU,KAAK,SAAS,QAAQ;qBACvG,CAAC;oBAEF,iEAAiE;oBACjE,IAAI,UAAkB,CAAC;oBACvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,kDAAkD;wBAClD,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,+DAA+D;oBAC7G,CAAC;yBAAM,CAAC;wBACN,2CAA2C;wBAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;4BACrC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;4BAC9C,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAChC,OAAO,QAAQ,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;4BACrC,CAAC;4BACD,OAAO,mBAAmB,MAAM,CAAC,SAAS,CAAC,SAAS,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1E,CAAC,CAAC,CAAC;wBACH,UAAU,GAAG,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC/C,CAAC;oBAED,UAAU,CAAC,IAAI,CACb,GAAG,UAAU,2BAA2B,MAAM,CAAC,WAAW,CAAC,SAAS,UAAU,SAAS,UAAU,MAAM,CACxG,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACnD,2CAA2C;oBAC3C,iCAAiC;oBACjC,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACrD,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACpD,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnE,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnE,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,cAAc,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;oBAE9E,UAAU,CAAC,IAAI,CACb,GAAG,UAAU,cAAc,OAAO,SAAS,eAAe,UAAU,aAAa,MAAM,aAAa,IAAI,aAAa,GAAG,CACzH,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,8EAA8E;oBAC9E,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAChD,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAClD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtC,2EAA2E;YAC3E,MAAM,OAAO,GAAG;iBACL,aAAa;YAClB,IAAI,MAAM,IAAI;YACd,IAAI,MAAM,IAAI;2BACC,IAAI;OACxB,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,SAAS,GAAG,UAAU,aAAa,QAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -155,6 +155,12 @@ export interface CommonGenerateOptions {
|
|
|
155
155
|
* (VACUUM, OPTIMIZE TABLE, etc.). Default: true.
|
|
156
156
|
*/
|
|
157
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;
|
|
158
164
|
}
|
|
159
165
|
export interface GenerateOptions extends CommonGenerateOptions {
|
|
160
166
|
table: TableConfig;
|
|
@@ -169,6 +175,8 @@ export interface GenerateResult {
|
|
|
169
175
|
generateMs: number;
|
|
170
176
|
/** Duration of optimization (0 if skipped) */
|
|
171
177
|
optimizeMs: number;
|
|
178
|
+
/** Number of batches used (1 if no batching) */
|
|
179
|
+
batchCount: number;
|
|
172
180
|
}
|
|
173
181
|
export interface TransformResult {
|
|
174
182
|
/** Total duration of transformations */
|
|
@@ -263,6 +271,12 @@ export interface ScenarioResult {
|
|
|
263
271
|
totalRowsInserted: number;
|
|
264
272
|
/** Total duration of the entire scenario */
|
|
265
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;
|
|
266
280
|
}
|
|
267
281
|
export interface DataGenerator {
|
|
268
282
|
readonly name: string;
|
|
@@ -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.
|
|
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",
|
|
@@ -50,6 +50,10 @@
|
|
|
50
50
|
"release": "release-it",
|
|
51
51
|
"release:dry": "release-it --dry-run",
|
|
52
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",
|
|
53
57
|
"compose:down": "docker compose -f compose/docker-compose.yml down",
|
|
54
58
|
"compose:restart": "docker compose -f compose/docker-compose.yml restart",
|
|
55
59
|
"compose:reset": "docker compose -f compose/docker-compose.yml down --volumes --remove-orphans"
|