mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-28 08:49:38 +02:00
Initial open-source release
This commit is contained in:
commit
1a42152e6f
1199 changed files with 257054 additions and 0 deletions
5
packages/context/test/fixtures/lookml/extends-chain/orders.model.lkml
vendored
Normal file
5
packages/context/test/fixtures/lookml/extends-chain/orders.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
connection: "my_bq"
|
||||
|
||||
include: "views/*.view.lkml"
|
||||
|
||||
explore: orders_ext {}
|
||||
11
packages/context/test/fixtures/lookml/extends-chain/views/base.view.lkml
vendored
Normal file
11
packages/context/test/fixtures/lookml/extends-chain/views/base.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
view: base {
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: created_at {
|
||||
type: time
|
||||
sql: ${TABLE}.created_at ;;
|
||||
}
|
||||
}
|
||||
12
packages/context/test/fixtures/lookml/extends-chain/views/orders.view.lkml
vendored
Normal file
12
packages/context/test/fixtures/lookml/extends-chain/views/orders.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
view: orders {
|
||||
extends: [base]
|
||||
sql_table_name: public.orders ;;
|
||||
dimension: amount {
|
||||
type: number
|
||||
sql: ${TABLE}.amount ;;
|
||||
}
|
||||
measure: gross {
|
||||
type: sum
|
||||
sql: ${amount} ;;
|
||||
}
|
||||
}
|
||||
7
packages/context/test/fixtures/lookml/extends-chain/views/orders_ext.view.lkml
vendored
Normal file
7
packages/context/test/fixtures/lookml/extends-chain/views/orders_ext.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
view: orders_ext {
|
||||
extends: [orders]
|
||||
measure: refund {
|
||||
type: sum
|
||||
sql: ${TABLE}.refund_amount ;;
|
||||
}
|
||||
}
|
||||
11
packages/context/test/fixtures/lookml/multi-model/marketing.model.lkml
vendored
Normal file
11
packages/context/test/fixtures/lookml/multi-model/marketing.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
connection: "my_bq"
|
||||
|
||||
include: "views/shared_dims.view.lkml"
|
||||
include: "views/campaigns.view.lkml"
|
||||
|
||||
explore: campaigns {
|
||||
join: shared_dims {
|
||||
relationship: many_to_one
|
||||
sql_on: ${campaigns.region_id} = ${shared_dims.id} ;;
|
||||
}
|
||||
}
|
||||
11
packages/context/test/fixtures/lookml/multi-model/orders.model.lkml
vendored
Normal file
11
packages/context/test/fixtures/lookml/multi-model/orders.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
connection: "my_bq"
|
||||
|
||||
include: "views/shared_dims.view.lkml"
|
||||
include: "views/orders.view.lkml"
|
||||
|
||||
explore: orders {
|
||||
join: shared_dims {
|
||||
relationship: many_to_one
|
||||
sql_on: ${orders.region_id} = ${shared_dims.id} ;;
|
||||
}
|
||||
}
|
||||
16
packages/context/test/fixtures/lookml/multi-model/views/campaigns.view.lkml
vendored
Normal file
16
packages/context/test/fixtures/lookml/multi-model/views/campaigns.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
view: campaigns {
|
||||
sql_table_name: public.campaigns ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: region_id {
|
||||
type: number
|
||||
sql: ${TABLE}.region_id ;;
|
||||
}
|
||||
measure: spend {
|
||||
type: sum
|
||||
sql: ${TABLE}.spend_cents ;;
|
||||
}
|
||||
}
|
||||
15
packages/context/test/fixtures/lookml/multi-model/views/orders.view.lkml
vendored
Normal file
15
packages/context/test/fixtures/lookml/multi-model/views/orders.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
view: orders {
|
||||
sql_table_name: public.orders ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: region_id {
|
||||
type: number
|
||||
sql: ${TABLE}.region_id ;;
|
||||
}
|
||||
measure: count {
|
||||
type: count
|
||||
}
|
||||
}
|
||||
12
packages/context/test/fixtures/lookml/multi-model/views/shared_dims.view.lkml
vendored
Normal file
12
packages/context/test/fixtures/lookml/multi-model/views/shared_dims.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
view: shared_dims {
|
||||
sql_table_name: public.regions ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: name {
|
||||
type: string
|
||||
sql: ${TABLE}.name ;;
|
||||
}
|
||||
}
|
||||
10
packages/context/test/fixtures/lookml/single-model/orders.model.lkml
vendored
Normal file
10
packages/context/test/fixtures/lookml/single-model/orders.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
connection: "my_bq"
|
||||
|
||||
include: "views/*.view.lkml"
|
||||
|
||||
explore: orders {
|
||||
join: customers {
|
||||
relationship: many_to_one
|
||||
sql_on: ${orders.customer_id} = ${customers.id} ;;
|
||||
}
|
||||
}
|
||||
12
packages/context/test/fixtures/lookml/single-model/views/customers.view.lkml
vendored
Normal file
12
packages/context/test/fixtures/lookml/single-model/views/customers.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
view: customers {
|
||||
sql_table_name: public.customers ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: name {
|
||||
type: string
|
||||
sql: ${TABLE}.name ;;
|
||||
}
|
||||
}
|
||||
20
packages/context/test/fixtures/lookml/single-model/views/orders.view.lkml
vendored
Normal file
20
packages/context/test/fixtures/lookml/single-model/views/orders.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
view: orders {
|
||||
sql_table_name: public.orders ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: customer_id {
|
||||
type: number
|
||||
sql: ${TABLE}.customer_id ;;
|
||||
}
|
||||
dimension: amount {
|
||||
type: number
|
||||
sql: ${TABLE}.amount ;;
|
||||
}
|
||||
measure: gross_amount {
|
||||
type: sum
|
||||
sql: ${amount} ;;
|
||||
}
|
||||
}
|
||||
5
packages/context/test/fixtures/lookml/three-churn/billing.model.lkml
vendored
Normal file
5
packages/context/test/fixtures/lookml/three-churn/billing.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
connection: "my_pg"
|
||||
|
||||
include: "views/billing/billing_churn_risk.view.lkml"
|
||||
|
||||
explore: billing {}
|
||||
5
packages/context/test/fixtures/lookml/three-churn/customers.model.lkml
vendored
Normal file
5
packages/context/test/fixtures/lookml/three-churn/customers.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
connection: "my_pg"
|
||||
|
||||
include: "views/customers/customer_churn_risk.view.lkml"
|
||||
|
||||
explore: customers {}
|
||||
5
packages/context/test/fixtures/lookml/three-churn/support.model.lkml
vendored
Normal file
5
packages/context/test/fixtures/lookml/three-churn/support.model.lkml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
connection: "my_pg"
|
||||
|
||||
include: "views/support/support_churn_risk.view.lkml"
|
||||
|
||||
explore: support {}
|
||||
16
packages/context/test/fixtures/lookml/three-churn/views/billing/billing_churn_risk.view.lkml
vendored
Normal file
16
packages/context/test/fixtures/lookml/three-churn/views/billing/billing_churn_risk.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
view: billing {
|
||||
sql_table_name: billing ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: past_due_days {
|
||||
type: number
|
||||
sql: ${TABLE}.past_due_days ;;
|
||||
}
|
||||
measure: churn_risk_score {
|
||||
type: average
|
||||
sql: LEAST(1.0, ${past_due_days} / 90.0) ;;
|
||||
}
|
||||
}
|
||||
16
packages/context/test/fixtures/lookml/three-churn/views/customers/customer_churn_risk.view.lkml
vendored
Normal file
16
packages/context/test/fixtures/lookml/three-churn/views/customers/customer_churn_risk.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
view: customers {
|
||||
sql_table_name: customers ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: engagement_score {
|
||||
type: number
|
||||
sql: ${TABLE}.engagement_score ;;
|
||||
}
|
||||
measure: churn_risk_score {
|
||||
type: average
|
||||
sql: 1 - ${engagement_score} / 100.0 ;;
|
||||
}
|
||||
}
|
||||
16
packages/context/test/fixtures/lookml/three-churn/views/support/support_churn_risk.view.lkml
vendored
Normal file
16
packages/context/test/fixtures/lookml/three-churn/views/support/support_churn_risk.view.lkml
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
view: support {
|
||||
sql_table_name: support ;;
|
||||
dimension: id {
|
||||
type: number
|
||||
primary_key: yes
|
||||
sql: ${TABLE}.id ;;
|
||||
}
|
||||
dimension: tickets_open {
|
||||
type: number
|
||||
sql: ${TABLE}.tickets_open ;;
|
||||
}
|
||||
measure: churn_risk_pct {
|
||||
type: average
|
||||
sql: CASE WHEN ${tickets_open} > 5 THEN 1.0 ELSE 0.1 * ${tickets_open} END ;;
|
||||
}
|
||||
}
|
||||
15
packages/context/test/fixtures/metabase/card-ref/cards/10.json
vendored
Normal file
15
packages/context/test/fixtures/metabase/card-ref/cards/10.json
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"metabaseId": 10,
|
||||
"name": "Base revenue",
|
||||
"description": null,
|
||||
"type": "model",
|
||||
"databaseId": 42,
|
||||
"collectionId": 5,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT day, SUM(amount_cents) AS revenue_cents FROM public.orders GROUP BY 1",
|
||||
"templateTags": [],
|
||||
"resultMetadata": [],
|
||||
"collectionPath": ["Orders Team"],
|
||||
"referencedCardIds": [],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
15
packages/context/test/fixtures/metabase/card-ref/cards/11.json
vendored
Normal file
15
packages/context/test/fixtures/metabase/card-ref/cards/11.json
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"metabaseId": 11,
|
||||
"name": "Revenue filtered",
|
||||
"description": null,
|
||||
"type": "question",
|
||||
"databaseId": 42,
|
||||
"collectionId": 5,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT day, revenue_cents FROM ({{#10}}) WHERE revenue_cents > 0",
|
||||
"templateTags": [{ "name": "base", "type": "card", "defaultValue": null, "cardReference": 10 }],
|
||||
"resultMetadata": [],
|
||||
"collectionPath": ["Orders Team"],
|
||||
"referencedCardIds": [10],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
5
packages/context/test/fixtures/metabase/card-ref/collections/5.json
vendored
Normal file
5
packages/context/test/fixtures/metabase/card-ref/collections/5.json
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"metabaseId": 5,
|
||||
"name": "Orders Team",
|
||||
"parentId": "root"
|
||||
}
|
||||
6
packages/context/test/fixtures/metabase/card-ref/databases/42.json
vendored
Normal file
6
packages/context/test/fixtures/metabase/card-ref/databases/42.json
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"metabaseDatabaseId": 42,
|
||||
"metabaseDatabaseName": "Analytics",
|
||||
"metabaseEngine": "postgres",
|
||||
"targetConnectionId": "b2c3d4e5-f6a7-4890-abcd-ef0123456789"
|
||||
}
|
||||
13
packages/context/test/fixtures/metabase/card-ref/sync-config.json
vendored
Normal file
13
packages/context/test/fixtures/metabase/card-ref/sync-config.json
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"metabaseConnectionId": "a1b2c3d4-e5f6-4789-9abc-def012345678",
|
||||
"metabaseDatabaseId": 42,
|
||||
"syncMode": "ALL",
|
||||
"selections": [],
|
||||
"defaultTagNames": [],
|
||||
"mapping": {
|
||||
"metabaseDatabaseId": 42,
|
||||
"metabaseDatabaseName": "Analytics",
|
||||
"metabaseEngine": "postgres",
|
||||
"targetConnectionId": "b2c3d4e5-f6a7-4890-abcd-ef0123456789"
|
||||
}
|
||||
}
|
||||
32
packages/context/test/fixtures/metabase/multi-collection/cards/1.json
vendored
Normal file
32
packages/context/test/fixtures/metabase/multi-collection/cards/1.json
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"metabaseId": 1,
|
||||
"name": "Daily orders",
|
||||
"description": "Orders rolled up by day",
|
||||
"type": "model",
|
||||
"databaseId": 42,
|
||||
"collectionId": 5,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT date_trunc('day', created_at) AS day, COUNT(*) AS order_count FROM public.orders GROUP BY 1",
|
||||
"templateTags": [],
|
||||
"resultMetadata": [
|
||||
{
|
||||
"name": "day",
|
||||
"display_name": "Day",
|
||||
"base_type": "type/DateTime",
|
||||
"semantic_type": "type/CreationTimestamp",
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
},
|
||||
{
|
||||
"name": "order_count",
|
||||
"display_name": "Count",
|
||||
"base_type": "type/Integer",
|
||||
"semantic_type": null,
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
}
|
||||
],
|
||||
"collectionPath": ["Orders Team"],
|
||||
"referencedCardIds": [],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
32
packages/context/test/fixtures/metabase/multi-collection/cards/2.json
vendored
Normal file
32
packages/context/test/fixtures/metabase/multi-collection/cards/2.json
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"metabaseId": 2,
|
||||
"name": "Revenue by day",
|
||||
"description": null,
|
||||
"type": "model",
|
||||
"databaseId": 42,
|
||||
"collectionId": 5,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT date_trunc('day', created_at) AS day, SUM(amount_cents) AS revenue_cents FROM public.orders GROUP BY 1",
|
||||
"templateTags": [],
|
||||
"resultMetadata": [
|
||||
{
|
||||
"name": "day",
|
||||
"display_name": "Day",
|
||||
"base_type": "type/DateTime",
|
||||
"semantic_type": "type/CreationTimestamp",
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
},
|
||||
{
|
||||
"name": "revenue_cents",
|
||||
"display_name": "Revenue (cents)",
|
||||
"base_type": "type/Integer",
|
||||
"semantic_type": null,
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
}
|
||||
],
|
||||
"collectionPath": ["Orders Team"],
|
||||
"referencedCardIds": [],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
32
packages/context/test/fixtures/metabase/multi-collection/cards/3.json
vendored
Normal file
32
packages/context/test/fixtures/metabase/multi-collection/cards/3.json
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"metabaseId": 3,
|
||||
"name": "Campaign clicks",
|
||||
"description": "Daily campaign click-through",
|
||||
"type": "model",
|
||||
"databaseId": 42,
|
||||
"collectionId": 6,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT date_trunc('day', click_time) AS day, COUNT(*) AS click_count FROM public.campaign_clicks GROUP BY 1",
|
||||
"templateTags": [],
|
||||
"resultMetadata": [
|
||||
{
|
||||
"name": "day",
|
||||
"display_name": "Day",
|
||||
"base_type": "type/DateTime",
|
||||
"semantic_type": "type/CreationTimestamp",
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
},
|
||||
{
|
||||
"name": "click_count",
|
||||
"display_name": "Clicks",
|
||||
"base_type": "type/Integer",
|
||||
"semantic_type": null,
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
}
|
||||
],
|
||||
"collectionPath": ["Marketing"],
|
||||
"referencedCardIds": [],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
1
packages/context/test/fixtures/metabase/multi-collection/collections/5.json
vendored
Normal file
1
packages/context/test/fixtures/metabase/multi-collection/collections/5.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ "metabaseId": 5, "name": "Orders Team", "parentId": "root" }
|
||||
1
packages/context/test/fixtures/metabase/multi-collection/collections/6.json
vendored
Normal file
1
packages/context/test/fixtures/metabase/multi-collection/collections/6.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ "metabaseId": 6, "name": "Marketing", "parentId": "root" }
|
||||
6
packages/context/test/fixtures/metabase/multi-collection/databases/42.json
vendored
Normal file
6
packages/context/test/fixtures/metabase/multi-collection/databases/42.json
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"metabaseDatabaseId": 42,
|
||||
"metabaseDatabaseName": "Analytics",
|
||||
"metabaseEngine": "postgres",
|
||||
"targetConnectionId": "b2c3d4e5-f6a7-4890-abcd-ef0123456789"
|
||||
}
|
||||
16
packages/context/test/fixtures/metabase/multi-collection/sync-config.json
vendored
Normal file
16
packages/context/test/fixtures/metabase/multi-collection/sync-config.json
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"metabaseConnectionId": "a1b2c3d4-e5f6-4789-9abc-def012345678",
|
||||
"metabaseDatabaseId": 42,
|
||||
"syncMode": "ONLY",
|
||||
"selections": [
|
||||
{ "selectionType": "collection", "metabaseObjectId": 5 },
|
||||
{ "selectionType": "collection", "metabaseObjectId": 6 }
|
||||
],
|
||||
"defaultTagNames": [],
|
||||
"mapping": {
|
||||
"metabaseDatabaseId": 42,
|
||||
"metabaseDatabaseName": "Analytics",
|
||||
"metabaseEngine": "postgres",
|
||||
"targetConnectionId": "b2c3d4e5-f6a7-4890-abcd-ef0123456789"
|
||||
}
|
||||
}
|
||||
32
packages/context/test/fixtures/metabase/simple/cards/1.json
vendored
Normal file
32
packages/context/test/fixtures/metabase/simple/cards/1.json
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"metabaseId": 1,
|
||||
"name": "Daily orders",
|
||||
"description": "Orders rolled up by day",
|
||||
"type": "model",
|
||||
"databaseId": 42,
|
||||
"collectionId": 5,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT date_trunc('day', created_at) AS day, COUNT(*) AS order_count FROM public.orders GROUP BY 1",
|
||||
"templateTags": [],
|
||||
"resultMetadata": [
|
||||
{
|
||||
"name": "day",
|
||||
"display_name": "Day",
|
||||
"base_type": "type/DateTime",
|
||||
"semantic_type": "type/CreationTimestamp",
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
},
|
||||
{
|
||||
"name": "order_count",
|
||||
"display_name": "Count",
|
||||
"base_type": "type/Integer",
|
||||
"semantic_type": null,
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
}
|
||||
],
|
||||
"collectionPath": ["Orders Team"],
|
||||
"referencedCardIds": [],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
32
packages/context/test/fixtures/metabase/simple/cards/2.json
vendored
Normal file
32
packages/context/test/fixtures/metabase/simple/cards/2.json
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"metabaseId": 2,
|
||||
"name": "Revenue by day",
|
||||
"description": null,
|
||||
"type": "model",
|
||||
"databaseId": 42,
|
||||
"collectionId": 5,
|
||||
"archived": false,
|
||||
"resolvedSql": "SELECT date_trunc('day', created_at) AS day, SUM(amount_cents) AS revenue_cents FROM public.orders GROUP BY 1",
|
||||
"templateTags": [],
|
||||
"resultMetadata": [
|
||||
{
|
||||
"name": "day",
|
||||
"display_name": "Day",
|
||||
"base_type": "type/DateTime",
|
||||
"semantic_type": "type/CreationTimestamp",
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
},
|
||||
{
|
||||
"name": "revenue_cents",
|
||||
"display_name": "Revenue (cents)",
|
||||
"base_type": "type/Integer",
|
||||
"semantic_type": null,
|
||||
"description": null,
|
||||
"fk_target_field_id": null
|
||||
}
|
||||
],
|
||||
"collectionPath": ["Orders Team"],
|
||||
"referencedCardIds": [],
|
||||
"resolutionStatus": "resolved"
|
||||
}
|
||||
5
packages/context/test/fixtures/metabase/simple/collections/5.json
vendored
Normal file
5
packages/context/test/fixtures/metabase/simple/collections/5.json
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"metabaseId": 5,
|
||||
"name": "Orders Team",
|
||||
"parentId": "root"
|
||||
}
|
||||
6
packages/context/test/fixtures/metabase/simple/databases/42.json
vendored
Normal file
6
packages/context/test/fixtures/metabase/simple/databases/42.json
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"metabaseDatabaseId": 42,
|
||||
"metabaseDatabaseName": "Analytics",
|
||||
"metabaseEngine": "postgres",
|
||||
"targetConnectionId": "b2c3d4e5-f6a7-4890-abcd-ef0123456789"
|
||||
}
|
||||
13
packages/context/test/fixtures/metabase/simple/sync-config.json
vendored
Normal file
13
packages/context/test/fixtures/metabase/simple/sync-config.json
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"metabaseConnectionId": "a1b2c3d4-e5f6-4789-9abc-def012345678",
|
||||
"metabaseDatabaseId": 42,
|
||||
"syncMode": "ALL",
|
||||
"selections": [],
|
||||
"defaultTagNames": [],
|
||||
"mapping": {
|
||||
"metabaseDatabaseId": 42,
|
||||
"metabaseDatabaseName": "Analytics",
|
||||
"metabaseEngine": "postgres",
|
||||
"targetConnectionId": "b2c3d4e5-f6a7-4890-abcd-ef0123456789"
|
||||
}
|
||||
}
|
||||
5
packages/context/test/fixtures/metricflow/dbt-mixed/dbt_project.yml
vendored
Normal file
5
packages/context/test/fixtures/metricflow/dbt-mixed/dbt_project.yml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
name: my_proj
|
||||
version: "1.0.0"
|
||||
config-version: 2
|
||||
profile: my_proj
|
||||
model-paths: ["models"]
|
||||
7
packages/context/test/fixtures/metricflow/dbt-mixed/models/orders.yml
vendored
Normal file
7
packages/context/test/fixtures/metricflow/dbt-mixed/models/orders.yml
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
semantic_models:
|
||||
- name: orders
|
||||
model: ref('orders')
|
||||
entities:
|
||||
- {name: order_id, type: primary}
|
||||
measures:
|
||||
- {name: order_count, agg: count, expr: order_id}
|
||||
9
packages/context/test/fixtures/metricflow/extends-chain/metrics/orders_final.yml
vendored
Normal file
9
packages/context/test/fixtures/metricflow/extends-chain/metrics/orders_final.yml
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
metrics:
|
||||
- name: revenue
|
||||
type: derived
|
||||
description: Net revenue (gross minus refunds).
|
||||
type_params:
|
||||
expr: gross_amount - refund_amount
|
||||
metrics:
|
||||
- name: gross_amount
|
||||
- name: refund_amount
|
||||
19
packages/context/test/fixtures/metricflow/extends-chain/models/orders.yml
vendored
Normal file
19
packages/context/test/fixtures/metricflow/extends-chain/models/orders.yml
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
semantic_models:
|
||||
- name: orders
|
||||
description: Base order fact table.
|
||||
model: ref('orders')
|
||||
entities:
|
||||
- name: order_id
|
||||
type: primary
|
||||
dimensions:
|
||||
- name: ordered_at
|
||||
type: time
|
||||
type_params:
|
||||
time_granularity: day
|
||||
measures:
|
||||
- name: order_count
|
||||
agg: count
|
||||
expr: order_id
|
||||
- name: gross_amount
|
||||
agg: sum
|
||||
expr: amount
|
||||
9
packages/context/test/fixtures/metricflow/extends-chain/models/orders_ext.yml
vendored
Normal file
9
packages/context/test/fixtures/metricflow/extends-chain/models/orders_ext.yml
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
semantic_models:
|
||||
- name: orders_ext
|
||||
description: Orders with refund handling added.
|
||||
model: ref('orders_ext')
|
||||
extends: orders
|
||||
measures:
|
||||
- name: refund_amount
|
||||
agg: sum
|
||||
expr: refund_amt
|
||||
7
packages/context/test/fixtures/metricflow/multi-component/models/marketing/campaigns.yml
vendored
Normal file
7
packages/context/test/fixtures/metricflow/multi-component/models/marketing/campaigns.yml
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
semantic_models:
|
||||
- name: campaigns
|
||||
model: ref('campaigns')
|
||||
entities:
|
||||
- {name: campaign_id, type: primary}
|
||||
measures:
|
||||
- {name: spend, agg: sum, expr: spend_cents}
|
||||
7
packages/context/test/fixtures/metricflow/multi-component/models/sales/orders.yml
vendored
Normal file
7
packages/context/test/fixtures/metricflow/multi-component/models/sales/orders.yml
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
semantic_models:
|
||||
- name: orders
|
||||
model: ref('orders')
|
||||
entities:
|
||||
- {name: order_id, type: primary}
|
||||
measures:
|
||||
- {name: order_count, agg: count, expr: order_id}
|
||||
33
packages/context/test/fixtures/metricflow/single-model/models/orders.yml
vendored
Normal file
33
packages/context/test/fixtures/metricflow/single-model/models/orders.yml
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
semantic_models:
|
||||
- name: orders
|
||||
description: Order fact table.
|
||||
model: ref('orders')
|
||||
entities:
|
||||
- name: order_id
|
||||
type: primary
|
||||
- name: customer_id
|
||||
type: foreign
|
||||
dimensions:
|
||||
- name: ordered_at
|
||||
type: time
|
||||
type_params:
|
||||
time_granularity: day
|
||||
- name: status
|
||||
type: categorical
|
||||
measures:
|
||||
- name: order_count
|
||||
agg: count
|
||||
expr: order_id
|
||||
- name: gross_amount
|
||||
agg: sum
|
||||
expr: amount
|
||||
|
||||
metrics:
|
||||
- name: total_orders
|
||||
type: simple
|
||||
type_params:
|
||||
measure: order_count
|
||||
- name: revenue
|
||||
type: simple
|
||||
type_params:
|
||||
measure: gross_amount
|
||||
Binary file not shown.
|
|
@ -0,0 +1,32 @@
|
|||
expectedPks:
|
||||
- table: cust
|
||||
columns:
|
||||
- cust_id
|
||||
- table: ord_hdr
|
||||
columns:
|
||||
- ord_id
|
||||
- table: prod
|
||||
columns:
|
||||
- prod_cd
|
||||
expectedLinks:
|
||||
- fromTable: ord_hdr
|
||||
fromColumns:
|
||||
- cust_id
|
||||
toTable: cust
|
||||
toColumns:
|
||||
- cust_id
|
||||
relationship: many_to_one
|
||||
- fromTable: ord_ln
|
||||
fromColumns:
|
||||
- ord_id
|
||||
toTable: ord_hdr
|
||||
toColumns:
|
||||
- ord_id
|
||||
relationship: many_to_one
|
||||
- fromTable: ord_ln
|
||||
fromColumns:
|
||||
- prod_cd
|
||||
toTable: prod
|
||||
toColumns:
|
||||
- prod_cd
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
id: abbreviated_legacy_no_declared_constraints
|
||||
name: Abbreviated legacy naming fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
thresholdEligible: false
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
{
|
||||
"connectionId": "abbreviated_legacy_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "cust",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "cust_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "nm",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "stat_cd",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "ord_hdr",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "ord_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "cust_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "ord_dt",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "ord_ln",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "ln_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "ord_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "prod_cd",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "qty",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "prod",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "prod_cd",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "prod_nm",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "cat_cd",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,878 @@
|
|||
expectedPks:
|
||||
- table: dbo.AWBuildVersion
|
||||
columns:
|
||||
- SystemInformationID
|
||||
- table: dbo.DatabaseLog
|
||||
columns:
|
||||
- DatabaseLogID
|
||||
- table: dbo.ErrorLog
|
||||
columns:
|
||||
- ErrorLogID
|
||||
- table: HumanResources.Department
|
||||
columns:
|
||||
- DepartmentID
|
||||
- table: HumanResources.Employee
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- table: HumanResources.EmployeeDepartmentHistory
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- DepartmentID
|
||||
- ShiftID
|
||||
- StartDate
|
||||
- table: HumanResources.EmployeePayHistory
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- RateChangeDate
|
||||
- table: HumanResources.JobCandidate
|
||||
columns:
|
||||
- JobCandidateID
|
||||
- table: HumanResources.Shift
|
||||
columns:
|
||||
- ShiftID
|
||||
- table: Person.Address
|
||||
columns:
|
||||
- AddressID
|
||||
- table: Person.AddressType
|
||||
columns:
|
||||
- AddressTypeID
|
||||
- table: Person.BusinessEntity
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- table: Person.BusinessEntityAddress
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- AddressID
|
||||
- AddressTypeID
|
||||
- table: Person.BusinessEntityContact
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- PersonID
|
||||
- ContactTypeID
|
||||
- table: Person.ContactType
|
||||
columns:
|
||||
- ContactTypeID
|
||||
- table: Person.CountryRegion
|
||||
columns:
|
||||
- CountryRegionCode
|
||||
- table: Person.EmailAddress
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- EmailAddressID
|
||||
- table: Person.Password
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- table: Person.Person
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- table: Person.PersonPhone
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- PhoneNumber
|
||||
- PhoneNumberTypeID
|
||||
- table: Person.PhoneNumberType
|
||||
columns:
|
||||
- PhoneNumberTypeID
|
||||
- table: Person.StateProvince
|
||||
columns:
|
||||
- StateProvinceID
|
||||
- table: Production.BillOfMaterials
|
||||
columns:
|
||||
- BillOfMaterialsID
|
||||
- table: Production.Culture
|
||||
columns:
|
||||
- CultureID
|
||||
- table: Production.Document
|
||||
columns:
|
||||
- DocumentNode
|
||||
- table: Production.Illustration
|
||||
columns:
|
||||
- IllustrationID
|
||||
- table: Production.Location
|
||||
columns:
|
||||
- LocationID
|
||||
- table: Production.Product
|
||||
columns:
|
||||
- ProductID
|
||||
- table: Production.ProductCategory
|
||||
columns:
|
||||
- ProductCategoryID
|
||||
- table: Production.ProductCostHistory
|
||||
columns:
|
||||
- ProductID
|
||||
- StartDate
|
||||
- table: Production.ProductDescription
|
||||
columns:
|
||||
- ProductDescriptionID
|
||||
- table: Production.ProductDocument
|
||||
columns:
|
||||
- ProductID
|
||||
- DocumentNode
|
||||
- table: Production.ProductInventory
|
||||
columns:
|
||||
- ProductID
|
||||
- LocationID
|
||||
- table: Production.ProductListPriceHistory
|
||||
columns:
|
||||
- ProductID
|
||||
- StartDate
|
||||
- table: Production.ProductModel
|
||||
columns:
|
||||
- ProductModelID
|
||||
- table: Production.ProductModelIllustration
|
||||
columns:
|
||||
- ProductModelID
|
||||
- IllustrationID
|
||||
- table: Production.ProductModelProductDescriptionCulture
|
||||
columns:
|
||||
- ProductModelID
|
||||
- ProductDescriptionID
|
||||
- CultureID
|
||||
- table: Production.ProductPhoto
|
||||
columns:
|
||||
- ProductPhotoID
|
||||
- table: Production.ProductProductPhoto
|
||||
columns:
|
||||
- ProductID
|
||||
- ProductPhotoID
|
||||
- table: Production.ProductReview
|
||||
columns:
|
||||
- ProductReviewID
|
||||
- table: Production.ProductSubcategory
|
||||
columns:
|
||||
- ProductSubcategoryID
|
||||
- table: Production.ScrapReason
|
||||
columns:
|
||||
- ScrapReasonID
|
||||
- table: Production.TransactionHistory
|
||||
columns:
|
||||
- TransactionID
|
||||
- table: Production.TransactionHistoryArchive
|
||||
columns:
|
||||
- TransactionID
|
||||
- table: Production.UnitMeasure
|
||||
columns:
|
||||
- UnitMeasureCode
|
||||
- table: Production.WorkOrder
|
||||
columns:
|
||||
- WorkOrderID
|
||||
- table: Production.WorkOrderRouting
|
||||
columns:
|
||||
- WorkOrderID
|
||||
- ProductID
|
||||
- OperationSequence
|
||||
- table: Purchasing.ProductVendor
|
||||
columns:
|
||||
- ProductID
|
||||
- BusinessEntityID
|
||||
- table: Purchasing.PurchaseOrderDetail
|
||||
columns:
|
||||
- PurchaseOrderID
|
||||
- PurchaseOrderDetailID
|
||||
- table: Purchasing.PurchaseOrderHeader
|
||||
columns:
|
||||
- PurchaseOrderID
|
||||
- table: Purchasing.ShipMethod
|
||||
columns:
|
||||
- ShipMethodID
|
||||
- table: Purchasing.Vendor
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- table: Sales.CountryRegionCurrency
|
||||
columns:
|
||||
- CountryRegionCode
|
||||
- CurrencyCode
|
||||
- table: Sales.CreditCard
|
||||
columns:
|
||||
- CreditCardID
|
||||
- table: Sales.Currency
|
||||
columns:
|
||||
- CurrencyCode
|
||||
- table: Sales.CurrencyRate
|
||||
columns:
|
||||
- CurrencyRateID
|
||||
- table: Sales.Customer
|
||||
columns:
|
||||
- CustomerID
|
||||
- table: Sales.PersonCreditCard
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- CreditCardID
|
||||
- table: Sales.SalesOrderDetail
|
||||
columns:
|
||||
- SalesOrderID
|
||||
- SalesOrderDetailID
|
||||
- table: Sales.SalesOrderHeader
|
||||
columns:
|
||||
- SalesOrderID
|
||||
- table: Sales.SalesOrderHeaderSalesReason
|
||||
columns:
|
||||
- SalesOrderID
|
||||
- SalesReasonID
|
||||
- table: Sales.SalesPerson
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- table: Sales.SalesPersonQuotaHistory
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- QuotaDate
|
||||
- table: Sales.SalesReason
|
||||
columns:
|
||||
- SalesReasonID
|
||||
- table: Sales.SalesTaxRate
|
||||
columns:
|
||||
- SalesTaxRateID
|
||||
- table: Sales.SalesTerritory
|
||||
columns:
|
||||
- TerritoryID
|
||||
- table: Sales.SalesTerritoryHistory
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
- TerritoryID
|
||||
- StartDate
|
||||
- table: Sales.ShoppingCartItem
|
||||
columns:
|
||||
- ShoppingCartItemID
|
||||
- table: Sales.SpecialOffer
|
||||
columns:
|
||||
- SpecialOfferID
|
||||
- table: Sales.SpecialOfferProduct
|
||||
columns:
|
||||
- SpecialOfferID
|
||||
- ProductID
|
||||
- table: Sales.Store
|
||||
columns:
|
||||
- BusinessEntityID
|
||||
expectedLinks:
|
||||
- fromTable: HumanResources.Employee
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: HumanResources.EmployeeDepartmentHistory
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: HumanResources.Employee
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: HumanResources.EmployeeDepartmentHistory
|
||||
fromColumns:
|
||||
- DepartmentID
|
||||
toTable: HumanResources.Department
|
||||
toColumns:
|
||||
- DepartmentID
|
||||
relationship: many_to_one
|
||||
- fromTable: HumanResources.EmployeeDepartmentHistory
|
||||
fromColumns:
|
||||
- ShiftID
|
||||
toTable: HumanResources.Shift
|
||||
toColumns:
|
||||
- ShiftID
|
||||
relationship: many_to_one
|
||||
- fromTable: HumanResources.EmployeePayHistory
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: HumanResources.Employee
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: HumanResources.JobCandidate
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: HumanResources.Employee
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.Address
|
||||
fromColumns:
|
||||
- StateProvinceID
|
||||
toTable: Person.StateProvince
|
||||
toColumns:
|
||||
- StateProvinceID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.BusinessEntityAddress
|
||||
fromColumns:
|
||||
- AddressID
|
||||
toTable: Person.Address
|
||||
toColumns:
|
||||
- AddressID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.BusinessEntityAddress
|
||||
fromColumns:
|
||||
- AddressTypeID
|
||||
toTable: Person.AddressType
|
||||
toColumns:
|
||||
- AddressTypeID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.BusinessEntityAddress
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.BusinessEntity
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.BusinessEntityContact
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.BusinessEntity
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.BusinessEntityContact
|
||||
fromColumns:
|
||||
- ContactTypeID
|
||||
toTable: Person.ContactType
|
||||
toColumns:
|
||||
- ContactTypeID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.BusinessEntityContact
|
||||
fromColumns:
|
||||
- PersonID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.EmailAddress
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.Password
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.Person
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.BusinessEntity
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.PersonPhone
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.PersonPhone
|
||||
fromColumns:
|
||||
- PhoneNumberTypeID
|
||||
toTable: Person.PhoneNumberType
|
||||
toColumns:
|
||||
- PhoneNumberTypeID
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.StateProvince
|
||||
fromColumns:
|
||||
- CountryRegionCode
|
||||
toTable: Person.CountryRegion
|
||||
toColumns:
|
||||
- CountryRegionCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Person.StateProvince
|
||||
fromColumns:
|
||||
- TerritoryID
|
||||
toTable: Sales.SalesTerritory
|
||||
toColumns:
|
||||
- TerritoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.BillOfMaterials
|
||||
fromColumns:
|
||||
- ComponentID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.BillOfMaterials
|
||||
fromColumns:
|
||||
- ProductAssemblyID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.BillOfMaterials
|
||||
fromColumns:
|
||||
- UnitMeasureCode
|
||||
toTable: Production.UnitMeasure
|
||||
toColumns:
|
||||
- UnitMeasureCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.Document
|
||||
fromColumns:
|
||||
- Owner
|
||||
toTable: HumanResources.Employee
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.Product
|
||||
fromColumns:
|
||||
- ProductModelID
|
||||
toTable: Production.ProductModel
|
||||
toColumns:
|
||||
- ProductModelID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.Product
|
||||
fromColumns:
|
||||
- ProductSubcategoryID
|
||||
toTable: Production.ProductSubcategory
|
||||
toColumns:
|
||||
- ProductSubcategoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.Product
|
||||
fromColumns:
|
||||
- SizeUnitMeasureCode
|
||||
toTable: Production.UnitMeasure
|
||||
toColumns:
|
||||
- UnitMeasureCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.Product
|
||||
fromColumns:
|
||||
- WeightUnitMeasureCode
|
||||
toTable: Production.UnitMeasure
|
||||
toColumns:
|
||||
- UnitMeasureCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductCostHistory
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductDocument
|
||||
fromColumns:
|
||||
- DocumentNode
|
||||
toTable: Production.Document
|
||||
toColumns:
|
||||
- DocumentNode
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductDocument
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductInventory
|
||||
fromColumns:
|
||||
- LocationID
|
||||
toTable: Production.Location
|
||||
toColumns:
|
||||
- LocationID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductInventory
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductListPriceHistory
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductModelIllustration
|
||||
fromColumns:
|
||||
- IllustrationID
|
||||
toTable: Production.Illustration
|
||||
toColumns:
|
||||
- IllustrationID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductModelIllustration
|
||||
fromColumns:
|
||||
- ProductModelID
|
||||
toTable: Production.ProductModel
|
||||
toColumns:
|
||||
- ProductModelID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductModelProductDescriptionCulture
|
||||
fromColumns:
|
||||
- CultureID
|
||||
toTable: Production.Culture
|
||||
toColumns:
|
||||
- CultureID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductModelProductDescriptionCulture
|
||||
fromColumns:
|
||||
- ProductDescriptionID
|
||||
toTable: Production.ProductDescription
|
||||
toColumns:
|
||||
- ProductDescriptionID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductModelProductDescriptionCulture
|
||||
fromColumns:
|
||||
- ProductModelID
|
||||
toTable: Production.ProductModel
|
||||
toColumns:
|
||||
- ProductModelID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductProductPhoto
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductProductPhoto
|
||||
fromColumns:
|
||||
- ProductPhotoID
|
||||
toTable: Production.ProductPhoto
|
||||
toColumns:
|
||||
- ProductPhotoID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductReview
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.ProductSubcategory
|
||||
fromColumns:
|
||||
- ProductCategoryID
|
||||
toTable: Production.ProductCategory
|
||||
toColumns:
|
||||
- ProductCategoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.TransactionHistory
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.WorkOrder
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.WorkOrder
|
||||
fromColumns:
|
||||
- ScrapReasonID
|
||||
toTable: Production.ScrapReason
|
||||
toColumns:
|
||||
- ScrapReasonID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.WorkOrderRouting
|
||||
fromColumns:
|
||||
- LocationID
|
||||
toTable: Production.Location
|
||||
toColumns:
|
||||
- LocationID
|
||||
relationship: many_to_one
|
||||
- fromTable: Production.WorkOrderRouting
|
||||
fromColumns:
|
||||
- WorkOrderID
|
||||
toTable: Production.WorkOrder
|
||||
toColumns:
|
||||
- WorkOrderID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.ProductVendor
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Purchasing.Vendor
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.ProductVendor
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.ProductVendor
|
||||
fromColumns:
|
||||
- UnitMeasureCode
|
||||
toTable: Production.UnitMeasure
|
||||
toColumns:
|
||||
- UnitMeasureCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.PurchaseOrderDetail
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.PurchaseOrderDetail
|
||||
fromColumns:
|
||||
- PurchaseOrderID
|
||||
toTable: Purchasing.PurchaseOrderHeader
|
||||
toColumns:
|
||||
- PurchaseOrderID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.PurchaseOrderHeader
|
||||
fromColumns:
|
||||
- EmployeeID
|
||||
toTable: HumanResources.Employee
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.PurchaseOrderHeader
|
||||
fromColumns:
|
||||
- ShipMethodID
|
||||
toTable: Purchasing.ShipMethod
|
||||
toColumns:
|
||||
- ShipMethodID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.PurchaseOrderHeader
|
||||
fromColumns:
|
||||
- VendorID
|
||||
toTable: Purchasing.Vendor
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Purchasing.Vendor
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.BusinessEntity
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.CountryRegionCurrency
|
||||
fromColumns:
|
||||
- CountryRegionCode
|
||||
toTable: Person.CountryRegion
|
||||
toColumns:
|
||||
- CountryRegionCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.CountryRegionCurrency
|
||||
fromColumns:
|
||||
- CurrencyCode
|
||||
toTable: Sales.Currency
|
||||
toColumns:
|
||||
- CurrencyCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.CurrencyRate
|
||||
fromColumns:
|
||||
- FromCurrencyCode
|
||||
toTable: Sales.Currency
|
||||
toColumns:
|
||||
- CurrencyCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.CurrencyRate
|
||||
fromColumns:
|
||||
- ToCurrencyCode
|
||||
toTable: Sales.Currency
|
||||
toColumns:
|
||||
- CurrencyCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.Customer
|
||||
fromColumns:
|
||||
- PersonID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.Customer
|
||||
fromColumns:
|
||||
- StoreID
|
||||
toTable: Sales.Store
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.Customer
|
||||
fromColumns:
|
||||
- TerritoryID
|
||||
toTable: Sales.SalesTerritory
|
||||
toColumns:
|
||||
- TerritoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.PersonCreditCard
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.Person
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.PersonCreditCard
|
||||
fromColumns:
|
||||
- CreditCardID
|
||||
toTable: Sales.CreditCard
|
||||
toColumns:
|
||||
- CreditCardID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderDetail
|
||||
fromColumns:
|
||||
- ProductID
|
||||
- SpecialOfferID
|
||||
toTable: Sales.SpecialOfferProduct
|
||||
toColumns:
|
||||
- ProductID
|
||||
- SpecialOfferID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderDetail
|
||||
fromColumns:
|
||||
- SalesOrderID
|
||||
toTable: Sales.SalesOrderHeader
|
||||
toColumns:
|
||||
- SalesOrderID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- BillToAddressID
|
||||
toTable: Person.Address
|
||||
toColumns:
|
||||
- AddressID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- CreditCardID
|
||||
toTable: Sales.CreditCard
|
||||
toColumns:
|
||||
- CreditCardID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- CurrencyRateID
|
||||
toTable: Sales.CurrencyRate
|
||||
toColumns:
|
||||
- CurrencyRateID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- CustomerID
|
||||
toTable: Sales.Customer
|
||||
toColumns:
|
||||
- CustomerID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- SalesPersonID
|
||||
toTable: Sales.SalesPerson
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- ShipMethodID
|
||||
toTable: Purchasing.ShipMethod
|
||||
toColumns:
|
||||
- ShipMethodID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- ShipToAddressID
|
||||
toTable: Person.Address
|
||||
toColumns:
|
||||
- AddressID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeader
|
||||
fromColumns:
|
||||
- TerritoryID
|
||||
toTable: Sales.SalesTerritory
|
||||
toColumns:
|
||||
- TerritoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeaderSalesReason
|
||||
fromColumns:
|
||||
- SalesOrderID
|
||||
toTable: Sales.SalesOrderHeader
|
||||
toColumns:
|
||||
- SalesOrderID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesOrderHeaderSalesReason
|
||||
fromColumns:
|
||||
- SalesReasonID
|
||||
toTable: Sales.SalesReason
|
||||
toColumns:
|
||||
- SalesReasonID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesPerson
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: HumanResources.Employee
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesPerson
|
||||
fromColumns:
|
||||
- TerritoryID
|
||||
toTable: Sales.SalesTerritory
|
||||
toColumns:
|
||||
- TerritoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesPersonQuotaHistory
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Sales.SalesPerson
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesTaxRate
|
||||
fromColumns:
|
||||
- StateProvinceID
|
||||
toTable: Person.StateProvince
|
||||
toColumns:
|
||||
- StateProvinceID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesTerritory
|
||||
fromColumns:
|
||||
- CountryRegionCode
|
||||
toTable: Person.CountryRegion
|
||||
toColumns:
|
||||
- CountryRegionCode
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesTerritoryHistory
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Sales.SalesPerson
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SalesTerritoryHistory
|
||||
fromColumns:
|
||||
- TerritoryID
|
||||
toTable: Sales.SalesTerritory
|
||||
toColumns:
|
||||
- TerritoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.ShoppingCartItem
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SpecialOfferProduct
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Production.Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.SpecialOfferProduct
|
||||
fromColumns:
|
||||
- SpecialOfferID
|
||||
toTable: Sales.SpecialOffer
|
||||
toColumns:
|
||||
- SpecialOfferID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.Store
|
||||
fromColumns:
|
||||
- BusinessEntityID
|
||||
toTable: Person.BusinessEntity
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
- fromTable: Sales.Store
|
||||
fromColumns:
|
||||
- SalesPersonID
|
||||
toTable: Sales.SalesPerson
|
||||
toColumns:
|
||||
- BusinessEntityID
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
id: adventureworks_oltp_with_declared_metadata
|
||||
name: AdventureWorks OLTP (SQL Server 2022, declared metadata)
|
||||
tier: row_bearing
|
||||
origin: public
|
||||
thresholdEligible: true
|
||||
defaultModes:
|
||||
- metadata_present
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- declared_pks_removed
|
||||
- declared_fks_removed
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- llm_disabled
|
||||
- embeddings_disabled
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,126 @@
|
|||
expectedPks:
|
||||
- table: Address
|
||||
columns:
|
||||
- AddressID
|
||||
- table: BuildVersion
|
||||
columns:
|
||||
- SystemInformationID
|
||||
- table: Customer
|
||||
columns:
|
||||
- CustomerID
|
||||
- table: CustomerAddress
|
||||
columns:
|
||||
- CustomerID
|
||||
- AddressID
|
||||
- table: ErrorLog
|
||||
columns:
|
||||
- ErrorLogID
|
||||
- table: Product
|
||||
columns:
|
||||
- ProductID
|
||||
- table: ProductCategory
|
||||
columns:
|
||||
- ProductCategoryID
|
||||
- table: ProductDescription
|
||||
columns:
|
||||
- ProductDescriptionID
|
||||
- table: ProductModel
|
||||
columns:
|
||||
- ProductModelID
|
||||
- table: ProductModelProductDescription
|
||||
columns:
|
||||
- ProductModelID
|
||||
- ProductDescriptionID
|
||||
- Culture
|
||||
- table: SalesOrderDetail
|
||||
columns:
|
||||
- SalesOrderID
|
||||
- SalesOrderDetailID
|
||||
- table: SalesOrderHeader
|
||||
columns:
|
||||
- SalesOrderID
|
||||
expectedLinks:
|
||||
- fromTable: CustomerAddress
|
||||
fromColumns:
|
||||
- AddressID
|
||||
toTable: Address
|
||||
toColumns:
|
||||
- AddressID
|
||||
relationship: many_to_one
|
||||
- fromTable: CustomerAddress
|
||||
fromColumns:
|
||||
- CustomerID
|
||||
toTable: Customer
|
||||
toColumns:
|
||||
- CustomerID
|
||||
relationship: many_to_one
|
||||
- fromTable: Product
|
||||
fromColumns:
|
||||
- ProductCategoryID
|
||||
toTable: ProductCategory
|
||||
toColumns:
|
||||
- ProductCategoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Product
|
||||
fromColumns:
|
||||
- ProductModelID
|
||||
toTable: ProductModel
|
||||
toColumns:
|
||||
- ProductModelID
|
||||
relationship: many_to_one
|
||||
- fromTable: ProductCategory
|
||||
fromColumns:
|
||||
- ParentProductCategoryID
|
||||
toTable: ProductCategory
|
||||
toColumns:
|
||||
- ProductCategoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: ProductModelProductDescription
|
||||
fromColumns:
|
||||
- ProductDescriptionID
|
||||
toTable: ProductDescription
|
||||
toColumns:
|
||||
- ProductDescriptionID
|
||||
relationship: many_to_one
|
||||
- fromTable: ProductModelProductDescription
|
||||
fromColumns:
|
||||
- ProductModelID
|
||||
toTable: ProductModel
|
||||
toColumns:
|
||||
- ProductModelID
|
||||
relationship: many_to_one
|
||||
- fromTable: SalesOrderDetail
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Product
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: SalesOrderDetail
|
||||
fromColumns:
|
||||
- SalesOrderID
|
||||
toTable: SalesOrderHeader
|
||||
toColumns:
|
||||
- SalesOrderID
|
||||
relationship: many_to_one
|
||||
- fromTable: SalesOrderHeader
|
||||
fromColumns:
|
||||
- BillToAddressID
|
||||
toTable: Address
|
||||
toColumns:
|
||||
- AddressID
|
||||
relationship: many_to_one
|
||||
- fromTable: SalesOrderHeader
|
||||
fromColumns:
|
||||
- CustomerID
|
||||
toTable: Customer
|
||||
toColumns:
|
||||
- CustomerID
|
||||
relationship: many_to_one
|
||||
- fromTable: SalesOrderHeader
|
||||
fromColumns:
|
||||
- ShipToAddressID
|
||||
toTable: Address
|
||||
toColumns:
|
||||
- AddressID
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
id: adventureworkslt_with_declared_metadata
|
||||
name: AdventureWorksLT (SQLite, declared metadata)
|
||||
tier: row_bearing
|
||||
origin: public
|
||||
thresholdEligible: true
|
||||
defaultModes:
|
||||
- metadata_present
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- declared_pks_removed
|
||||
- declared_fks_removed
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- llm_disabled
|
||||
- embeddings_disabled
|
||||
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -0,0 +1,36 @@
|
|||
expectedPks:
|
||||
- table: dim_commercial_plan
|
||||
columns:
|
||||
- plan_code
|
||||
- table: dim_signup_country
|
||||
columns:
|
||||
- country_code
|
||||
expectedLinks:
|
||||
- fromTable: mart_activation_cohort
|
||||
fromColumns:
|
||||
- first_touch_country
|
||||
toTable: dim_signup_country
|
||||
toColumns:
|
||||
- country_code
|
||||
relationship: many_to_one
|
||||
- fromTable: mart_activation_cohort
|
||||
fromColumns:
|
||||
- purchased_plan
|
||||
toTable: dim_commercial_plan
|
||||
toColumns:
|
||||
- plan_code
|
||||
relationship: many_to_one
|
||||
- fromTable: mart_revenue_daily
|
||||
fromColumns:
|
||||
- commercial_plan_code
|
||||
toTable: dim_commercial_plan
|
||||
toColumns:
|
||||
- plan_code
|
||||
relationship: many_to_one
|
||||
- fromTable: mart_revenue_daily
|
||||
fromColumns:
|
||||
- signup_country_code
|
||||
toTable: dim_signup_country
|
||||
toColumns:
|
||||
- country_code
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
id: analytical_warehouse_no_naming_convention
|
||||
name: Analytical warehouse fixture with no naming convention
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
thresholdEligible: false
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
{
|
||||
"connectionId": "analytical_warehouse_no_naming_convention",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "dim_commercial_plan",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "plan_family",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "sales_motion",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "dim_signup_country",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "country_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "country_name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "region_name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "mart_activation_cohort",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "cohort_key",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "first_touch_country",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "purchased_plan",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "activated_accounts",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "mart_revenue_daily",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "revenue_event_key",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "signup_country_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "commercial_plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "booked_revenue",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
expectedPks:
|
||||
- table: Album
|
||||
columns:
|
||||
- AlbumId
|
||||
- table: Artist
|
||||
columns:
|
||||
- ArtistId
|
||||
- table: Customer
|
||||
columns:
|
||||
- CustomerId
|
||||
- table: Employee
|
||||
columns:
|
||||
- EmployeeId
|
||||
- table: Genre
|
||||
columns:
|
||||
- GenreId
|
||||
- table: Invoice
|
||||
columns:
|
||||
- InvoiceId
|
||||
- table: InvoiceLine
|
||||
columns:
|
||||
- InvoiceLineId
|
||||
- table: MediaType
|
||||
columns:
|
||||
- MediaTypeId
|
||||
- table: Playlist
|
||||
columns:
|
||||
- PlaylistId
|
||||
- table: PlaylistTrack
|
||||
columns:
|
||||
- PlaylistId
|
||||
- TrackId
|
||||
- table: Track
|
||||
columns:
|
||||
- TrackId
|
||||
expectedLinks:
|
||||
- fromTable: Album
|
||||
fromColumns:
|
||||
- ArtistId
|
||||
toTable: Artist
|
||||
toColumns:
|
||||
- ArtistId
|
||||
relationship: many_to_one
|
||||
- fromTable: Customer
|
||||
fromColumns:
|
||||
- SupportRepId
|
||||
toTable: Employee
|
||||
toColumns:
|
||||
- EmployeeId
|
||||
relationship: many_to_one
|
||||
- fromTable: Employee
|
||||
fromColumns:
|
||||
- ReportsTo
|
||||
toTable: Employee
|
||||
toColumns:
|
||||
- EmployeeId
|
||||
relationship: many_to_one
|
||||
- fromTable: Invoice
|
||||
fromColumns:
|
||||
- CustomerId
|
||||
toTable: Customer
|
||||
toColumns:
|
||||
- CustomerId
|
||||
relationship: many_to_one
|
||||
- fromTable: InvoiceLine
|
||||
fromColumns:
|
||||
- InvoiceId
|
||||
toTable: Invoice
|
||||
toColumns:
|
||||
- InvoiceId
|
||||
relationship: many_to_one
|
||||
- fromTable: InvoiceLine
|
||||
fromColumns:
|
||||
- TrackId
|
||||
toTable: Track
|
||||
toColumns:
|
||||
- TrackId
|
||||
relationship: many_to_one
|
||||
- fromTable: PlaylistTrack
|
||||
fromColumns:
|
||||
- PlaylistId
|
||||
toTable: Playlist
|
||||
toColumns:
|
||||
- PlaylistId
|
||||
relationship: many_to_one
|
||||
- fromTable: PlaylistTrack
|
||||
fromColumns:
|
||||
- TrackId
|
||||
toTable: Track
|
||||
toColumns:
|
||||
- TrackId
|
||||
relationship: many_to_one
|
||||
- fromTable: Track
|
||||
fromColumns:
|
||||
- AlbumId
|
||||
toTable: Album
|
||||
toColumns:
|
||||
- AlbumId
|
||||
relationship: many_to_one
|
||||
- fromTable: Track
|
||||
fromColumns:
|
||||
- GenreId
|
||||
toTable: Genre
|
||||
toColumns:
|
||||
- GenreId
|
||||
relationship: many_to_one
|
||||
- fromTable: Track
|
||||
fromColumns:
|
||||
- MediaTypeId
|
||||
toTable: MediaType
|
||||
toColumns:
|
||||
- MediaTypeId
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
id: chinook_with_declared_metadata
|
||||
name: Chinook (SQLite, declared metadata)
|
||||
tier: row_bearing
|
||||
origin: public
|
||||
thresholdEligible: true
|
||||
defaultModes:
|
||||
- metadata_present
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- declared_pks_removed
|
||||
- declared_fks_removed
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- llm_disabled
|
||||
- embeddings_disabled
|
||||
801
packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/snapshot.json
vendored
Normal file
801
packages/context/test/fixtures/relationship-benchmarks/chinook_with_declared_metadata/snapshot.json
vendored
Normal file
|
|
@ -0,0 +1,801 @@
|
|||
{
|
||||
"connectionId": "chinook_with_declared_metadata",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Album",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 347,
|
||||
"columns": [
|
||||
{
|
||||
"name": "AlbumId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Title",
|
||||
"nativeType": "NVARCHAR(160)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "ArtistId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "ArtistId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Artist",
|
||||
"toColumn": "ArtistId",
|
||||
"constraintName": "Album_ArtistId_fkey"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Artist",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 275,
|
||||
"columns": [
|
||||
{
|
||||
"name": "ArtistId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Name",
|
||||
"nativeType": "NVARCHAR(120)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Customer",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 59,
|
||||
"columns": [
|
||||
{
|
||||
"name": "CustomerId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "FirstName",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "LastName",
|
||||
"nativeType": "NVARCHAR(20)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Company",
|
||||
"nativeType": "NVARCHAR(80)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Address",
|
||||
"nativeType": "NVARCHAR(70)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "City",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "State",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Country",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "PostalCode",
|
||||
"nativeType": "NVARCHAR(10)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Phone",
|
||||
"nativeType": "NVARCHAR(24)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Fax",
|
||||
"nativeType": "NVARCHAR(24)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Email",
|
||||
"nativeType": "NVARCHAR(60)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "SupportRepId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "SupportRepId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Employee",
|
||||
"toColumn": "EmployeeId",
|
||||
"constraintName": "Customer_SupportRepId_fkey"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Employee",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 8,
|
||||
"columns": [
|
||||
{
|
||||
"name": "EmployeeId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "LastName",
|
||||
"nativeType": "NVARCHAR(20)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "FirstName",
|
||||
"nativeType": "NVARCHAR(20)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Title",
|
||||
"nativeType": "NVARCHAR(30)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "ReportsTo",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BirthDate",
|
||||
"nativeType": "DATETIME",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "time",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "HireDate",
|
||||
"nativeType": "DATETIME",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "time",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Address",
|
||||
"nativeType": "NVARCHAR(70)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "City",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "State",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Country",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "PostalCode",
|
||||
"nativeType": "NVARCHAR(10)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Phone",
|
||||
"nativeType": "NVARCHAR(24)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Fax",
|
||||
"nativeType": "NVARCHAR(24)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Email",
|
||||
"nativeType": "NVARCHAR(60)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "ReportsTo",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Employee",
|
||||
"toColumn": "EmployeeId",
|
||||
"constraintName": "Employee_ReportsTo_fkey"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Genre",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 25,
|
||||
"columns": [
|
||||
{
|
||||
"name": "GenreId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Name",
|
||||
"nativeType": "NVARCHAR(120)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Invoice",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 412,
|
||||
"columns": [
|
||||
{
|
||||
"name": "InvoiceId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "CustomerId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "InvoiceDate",
|
||||
"nativeType": "DATETIME",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "time",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BillingAddress",
|
||||
"nativeType": "NVARCHAR(70)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BillingCity",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BillingState",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BillingCountry",
|
||||
"nativeType": "NVARCHAR(40)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BillingPostalCode",
|
||||
"nativeType": "NVARCHAR(10)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Total",
|
||||
"nativeType": "NUMERIC(10,2)",
|
||||
"normalizedType": "real",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "CustomerId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Customer",
|
||||
"toColumn": "CustomerId",
|
||||
"constraintName": "Invoice_CustomerId_fkey"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "InvoiceLine",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 2240,
|
||||
"columns": [
|
||||
{
|
||||
"name": "InvoiceLineId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "InvoiceId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "TrackId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "UnitPrice",
|
||||
"nativeType": "NUMERIC(10,2)",
|
||||
"normalizedType": "real",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Quantity",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "TrackId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Track",
|
||||
"toColumn": "TrackId",
|
||||
"constraintName": "InvoiceLine_TrackId_fkey"
|
||||
},
|
||||
{
|
||||
"fromColumn": "InvoiceId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Invoice",
|
||||
"toColumn": "InvoiceId",
|
||||
"constraintName": "InvoiceLine_InvoiceId_fkey"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "MediaType",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 5,
|
||||
"columns": [
|
||||
{
|
||||
"name": "MediaTypeId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Name",
|
||||
"nativeType": "NVARCHAR(120)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Playlist",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 18,
|
||||
"columns": [
|
||||
{
|
||||
"name": "PlaylistId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Name",
|
||||
"nativeType": "NVARCHAR(120)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "PlaylistTrack",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 8715,
|
||||
"columns": [
|
||||
{
|
||||
"name": "PlaylistId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "TrackId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "TrackId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Track",
|
||||
"toColumn": "TrackId",
|
||||
"constraintName": "PlaylistTrack_TrackId_fkey"
|
||||
},
|
||||
{
|
||||
"fromColumn": "PlaylistId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Playlist",
|
||||
"toColumn": "PlaylistId",
|
||||
"constraintName": "PlaylistTrack_PlaylistId_fkey"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "Track",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3503,
|
||||
"columns": [
|
||||
{
|
||||
"name": "TrackId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": true,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Name",
|
||||
"nativeType": "NVARCHAR(200)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "AlbumId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "MediaTypeId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "GenreId",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Composer",
|
||||
"nativeType": "NVARCHAR(220)",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Milliseconds",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "Bytes",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": true,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "UnitPrice",
|
||||
"nativeType": "NUMERIC(10,2)",
|
||||
"normalizedType": "real",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": [
|
||||
{
|
||||
"fromColumn": "MediaTypeId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "MediaType",
|
||||
"toColumn": "MediaTypeId",
|
||||
"constraintName": "Track_MediaTypeId_fkey"
|
||||
},
|
||||
{
|
||||
"fromColumn": "GenreId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Genre",
|
||||
"toColumn": "GenreId",
|
||||
"constraintName": "Track_GenreId_fkey"
|
||||
},
|
||||
{
|
||||
"fromColumn": "AlbumId",
|
||||
"toCatalog": null,
|
||||
"toDb": "main",
|
||||
"toTable": "Album",
|
||||
"toColumn": "AlbumId",
|
||||
"constraintName": "Track_AlbumId_fkey"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,11 @@
|
|||
expectedPks:
|
||||
- table: order_lines
|
||||
columns: [order_id, line_number]
|
||||
- table: order_line_allocations
|
||||
columns: [order_id, line_number, warehouse_code]
|
||||
expectedLinks:
|
||||
- fromTable: order_line_allocations
|
||||
fromColumns: [order_id, line_number]
|
||||
toTable: order_lines
|
||||
toColumns: [order_id, line_number]
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
id: composite_keys_no_declared_constraints
|
||||
name: Composite-key warehouse fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- llm_disabled
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- embeddings_disabled
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
"connectionId": "composite_keys_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "order_lines",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "order_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "line_number",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "product_sku",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "quantity",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "order_line_allocations",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "order_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "line_number",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "warehouse_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "allocated_quantity",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/data.sqlite
vendored
Normal file
BIN
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/data.sqlite
vendored
Normal file
Binary file not shown.
|
|
@ -0,0 +1,51 @@
|
|||
expectedPks:
|
||||
- table: accounts
|
||||
columns: [id]
|
||||
- table: users
|
||||
columns: [id]
|
||||
- table: subscriptions
|
||||
columns: [id]
|
||||
- table: opportunities
|
||||
columns: [id]
|
||||
- table: product_events
|
||||
columns: [id]
|
||||
- table: support_tickets
|
||||
columns: [id]
|
||||
- table: invoices
|
||||
columns: [id]
|
||||
expectedLinks:
|
||||
- fromTable: users
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: subscriptions
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: opportunities
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: product_events
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: product_events
|
||||
fromColumns: [user_id]
|
||||
toTable: users
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: support_tickets
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: invoices
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
13
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/fixture.yaml
vendored
Normal file
13
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/fixture.yaml
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
id: demo_b2b_declared_metadata
|
||||
name: Packaged B2B demo with declared metadata
|
||||
tier: smoke
|
||||
origin: synthetic
|
||||
defaultModes:
|
||||
- metadata_present
|
||||
- declared_fks_removed
|
||||
- declared_pks_removed
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- llm_disabled
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- embeddings_disabled
|
||||
137
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/snapshot.json
vendored
Normal file
137
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_declared_metadata/snapshot.json
vendored
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
{
|
||||
"connectionId": "demo_b2b",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "accounts",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 30,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "name", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "segment", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "region", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "lifecycle_status", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "users",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 150,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "email", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "role", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "active", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "boolean", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "users_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "subscriptions",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 90,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "plan", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "arr", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "started_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "ended_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": true, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "subscriptions_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "opportunities",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 180,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "stage", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "amount", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "close_date", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "opportunities_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "product_events",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 1500,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "user_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "event_name", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "occurred_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "product_events_account_id_fkey" },
|
||||
{ "fromColumn": "user_id", "toCatalog": null, "toDb": "main", "toTable": "users", "toColumn": "id", "constraintName": "product_events_user_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "support_tickets",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 270,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "severity", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "status", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "resolution_hours", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": true, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "support_tickets_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "invoices",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 240,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "amount", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "status", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "issued_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "invoices_account_id_fkey" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"fixture": "packaged-b2b-demo"
|
||||
}
|
||||
}
|
||||
BIN
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/data.sqlite
vendored
Normal file
BIN
packages/context/test/fixtures/relationship-benchmarks/demo_b2b_no_declared_constraints/data.sqlite
vendored
Normal file
Binary file not shown.
|
|
@ -0,0 +1,51 @@
|
|||
expectedPks:
|
||||
- table: accounts
|
||||
columns: [id]
|
||||
- table: users
|
||||
columns: [id]
|
||||
- table: subscriptions
|
||||
columns: [id]
|
||||
- table: opportunities
|
||||
columns: [id]
|
||||
- table: product_events
|
||||
columns: [id]
|
||||
- table: support_tickets
|
||||
columns: [id]
|
||||
- table: invoices
|
||||
columns: [id]
|
||||
expectedLinks:
|
||||
- fromTable: users
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: subscriptions
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: opportunities
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: product_events
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: product_events
|
||||
fromColumns: [user_id]
|
||||
toTable: users
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: support_tickets
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: invoices
|
||||
fromColumns: [account_id]
|
||||
toTable: accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
id: demo_b2b_no_declared_constraints
|
||||
name: Packaged B2B demo with declared PK and FK metadata masked
|
||||
tier: smoke
|
||||
origin: synthetic
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- llm_disabled
|
||||
- embeddings_disabled
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
{
|
||||
"connectionId": "demo_b2b",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "accounts",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 30,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "name", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "segment", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "region", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "lifecycle_status", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "users",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 150,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "email", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "role", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "active", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "boolean", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "users_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "subscriptions",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 90,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "plan", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "arr", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "started_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "ended_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": true, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "subscriptions_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "opportunities",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 180,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "stage", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "amount", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "close_date", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "opportunities_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "product_events",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 1500,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "user_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "event_name", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "occurred_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "product_events_account_id_fkey" },
|
||||
{ "fromColumn": "user_id", "toCatalog": null, "toDb": "main", "toTable": "users", "toColumn": "id", "constraintName": "product_events_user_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "support_tickets",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 270,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "severity", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "status", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "resolution_hours", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": true, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "support_tickets_account_id_fkey" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "invoices",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 240,
|
||||
"columns": [
|
||||
{ "name": "id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": true, "comment": null },
|
||||
{ "name": "account_id", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "amount", "nativeType": "INTEGER", "normalizedType": "integer", "dimensionType": "number", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "status", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "string", "nullable": false, "primaryKey": false, "comment": null },
|
||||
{ "name": "issued_at", "nativeType": "TEXT", "normalizedType": "text", "dimensionType": "time", "nullable": false, "primaryKey": false, "comment": null }
|
||||
],
|
||||
"foreignKeys": [
|
||||
{ "fromColumn": "account_id", "toCatalog": null, "toDb": "main", "toTable": "accounts", "toColumn": "id", "constraintName": "invoices_account_id_fkey" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"fixture": "packaged-b2b-demo"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,39 @@
|
|||
expectedPks:
|
||||
- table: CustomerAccount
|
||||
columns:
|
||||
- AccountID
|
||||
- table: InvoiceHeader
|
||||
columns:
|
||||
- InvoiceID
|
||||
- table: subscriptionPlans
|
||||
columns:
|
||||
- planId
|
||||
expectedLinks:
|
||||
- fromTable: InvoiceHeader
|
||||
fromColumns:
|
||||
- CustomerAccountID
|
||||
toTable: CustomerAccount
|
||||
toColumns:
|
||||
- AccountID
|
||||
relationship: many_to_one
|
||||
- fromTable: line_items
|
||||
fromColumns:
|
||||
- invoice_id
|
||||
toTable: InvoiceHeader
|
||||
toColumns:
|
||||
- InvoiceID
|
||||
relationship: many_to_one
|
||||
- fromTable: order_events
|
||||
fromColumns:
|
||||
- accountId
|
||||
toTable: CustomerAccount
|
||||
toColumns:
|
||||
- AccountID
|
||||
relationship: many_to_one
|
||||
- fromTable: order_events
|
||||
fromColumns:
|
||||
- plan_id
|
||||
toTable: subscriptionPlans
|
||||
toColumns:
|
||||
- planId
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
id: mixed_case_within_schema_no_declared_constraints
|
||||
name: Mixed case within schema fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
thresholdEligible: false
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
|
|
@ -0,0 +1,208 @@
|
|||
{
|
||||
"connectionId": "mixed_case_within_schema_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "CustomerAccount",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "AccountID",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "AccountName",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "accountTier",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "InvoiceHeader",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "InvoiceID",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "CustomerAccountID",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "invoice_total",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "line_items",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "line_item_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "invoice_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "skuCode",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "order_events",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "event_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "accountId",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "plan_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "amount",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "subscriptionPlans",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "planId",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "display_name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "BillingCadence",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,11 @@
|
|||
expectedPks:
|
||||
- table: dim_countries
|
||||
columns: [iso_code]
|
||||
- table: fct_accounts
|
||||
columns: [id]
|
||||
expectedLinks:
|
||||
- fromTable: fct_accounts
|
||||
fromColumns: [country_code]
|
||||
toTable: dim_countries
|
||||
toColumns: [iso_code]
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
id: natural_keys_no_declared_constraints
|
||||
name: Natural-key warehouse fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- llm_disabled
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- embeddings_disabled
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"connectionId": "natural_keys_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "dim_countries",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "iso_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "fct_accounts",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "country_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,22 @@
|
|||
expectedPks:
|
||||
- table: kundenstamm
|
||||
columns:
|
||||
- kundennummer
|
||||
- table: seihin
|
||||
columns:
|
||||
- seihin_bango
|
||||
expectedLinks:
|
||||
- fromTable: bestellungen
|
||||
fromColumns:
|
||||
- kaeufer_nummer
|
||||
toTable: kundenstamm
|
||||
toColumns:
|
||||
- kundennummer
|
||||
relationship: many_to_one
|
||||
- fromTable: uriage
|
||||
fromColumns:
|
||||
- hinban
|
||||
toTable: seihin
|
||||
toColumns:
|
||||
- seihin_bango
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
id: non_english_naming_no_declared_constraints
|
||||
name: Non-English naming fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
thresholdEligible: false
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
{
|
||||
"connectionId": "non_english_naming_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "bestellungen",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "bestellnummer",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "kaeufer_nummer",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "betrag",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "kundenstamm",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "kundennummer",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "firmenname",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "stadt",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "seihin",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "seihin_bango",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "bezeichnung",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "kategorie",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "uriage",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "verkauf_nr",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "hinban",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "menge",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
expectedPks:
|
||||
- table: Categories
|
||||
columns:
|
||||
- CategoryID
|
||||
- table: CustomerCustomerDemo
|
||||
columns:
|
||||
- CustomerID
|
||||
- CustomerTypeID
|
||||
- table: CustomerDemographics
|
||||
columns:
|
||||
- CustomerTypeID
|
||||
- table: Customers
|
||||
columns:
|
||||
- CustomerID
|
||||
- table: Employees
|
||||
columns:
|
||||
- EmployeeID
|
||||
- table: EmployeeTerritories
|
||||
columns:
|
||||
- EmployeeID
|
||||
- TerritoryID
|
||||
- table: Order Details
|
||||
columns:
|
||||
- OrderID
|
||||
- ProductID
|
||||
- table: Orders
|
||||
columns:
|
||||
- OrderID
|
||||
- table: Products
|
||||
columns:
|
||||
- ProductID
|
||||
- table: Regions
|
||||
columns:
|
||||
- RegionID
|
||||
- table: Shippers
|
||||
columns:
|
||||
- ShipperID
|
||||
- table: Suppliers
|
||||
columns:
|
||||
- SupplierID
|
||||
- table: Territories
|
||||
columns:
|
||||
- TerritoryID
|
||||
expectedLinks:
|
||||
- fromTable: CustomerCustomerDemo
|
||||
fromColumns:
|
||||
- CustomerID
|
||||
toTable: Customers
|
||||
toColumns:
|
||||
- CustomerID
|
||||
relationship: many_to_one
|
||||
- fromTable: CustomerCustomerDemo
|
||||
fromColumns:
|
||||
- CustomerTypeID
|
||||
toTable: CustomerDemographics
|
||||
toColumns:
|
||||
- CustomerTypeID
|
||||
relationship: many_to_one
|
||||
- fromTable: Employees
|
||||
fromColumns:
|
||||
- ReportsTo
|
||||
toTable: Employees
|
||||
toColumns:
|
||||
- EmployeeID
|
||||
relationship: many_to_one
|
||||
- fromTable: EmployeeTerritories
|
||||
fromColumns:
|
||||
- EmployeeID
|
||||
toTable: Employees
|
||||
toColumns:
|
||||
- EmployeeID
|
||||
relationship: many_to_one
|
||||
- fromTable: EmployeeTerritories
|
||||
fromColumns:
|
||||
- TerritoryID
|
||||
toTable: Territories
|
||||
toColumns:
|
||||
- TerritoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Order Details
|
||||
fromColumns:
|
||||
- OrderID
|
||||
toTable: Orders
|
||||
toColumns:
|
||||
- OrderID
|
||||
relationship: many_to_one
|
||||
- fromTable: Order Details
|
||||
fromColumns:
|
||||
- ProductID
|
||||
toTable: Products
|
||||
toColumns:
|
||||
- ProductID
|
||||
relationship: many_to_one
|
||||
- fromTable: Orders
|
||||
fromColumns:
|
||||
- CustomerID
|
||||
toTable: Customers
|
||||
toColumns:
|
||||
- CustomerID
|
||||
relationship: many_to_one
|
||||
- fromTable: Orders
|
||||
fromColumns:
|
||||
- EmployeeID
|
||||
toTable: Employees
|
||||
toColumns:
|
||||
- EmployeeID
|
||||
relationship: many_to_one
|
||||
- fromTable: Orders
|
||||
fromColumns:
|
||||
- ShipVia
|
||||
toTable: Shippers
|
||||
toColumns:
|
||||
- ShipperID
|
||||
relationship: many_to_one
|
||||
- fromTable: Products
|
||||
fromColumns:
|
||||
- CategoryID
|
||||
toTable: Categories
|
||||
toColumns:
|
||||
- CategoryID
|
||||
relationship: many_to_one
|
||||
- fromTable: Products
|
||||
fromColumns:
|
||||
- SupplierID
|
||||
toTable: Suppliers
|
||||
toColumns:
|
||||
- SupplierID
|
||||
relationship: many_to_one
|
||||
- fromTable: Territories
|
||||
fromColumns:
|
||||
- RegionID
|
||||
toTable: Regions
|
||||
toColumns:
|
||||
- RegionID
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
id: northwind_with_declared_metadata
|
||||
name: Northwind (SQLite, declared metadata)
|
||||
tier: row_bearing
|
||||
origin: public
|
||||
thresholdEligible: true
|
||||
defaultModes:
|
||||
- metadata_present
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- declared_pks_removed
|
||||
- declared_fks_removed
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- llm_disabled
|
||||
- embeddings_disabled
|
||||
1055
packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/snapshot.json
vendored
Normal file
1055
packages/context/test/fixtures/relationship-benchmarks/northwind_with_declared_metadata/snapshot.json
vendored
Normal file
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -0,0 +1,59 @@
|
|||
expectedPks:
|
||||
- table: dim_accounts
|
||||
columns: [id]
|
||||
- table: dim_users
|
||||
columns: [id]
|
||||
- table: dim_workspaces
|
||||
columns: [id]
|
||||
- table: fct_product_events
|
||||
columns: [id]
|
||||
- table: fct_invoices
|
||||
columns: [id]
|
||||
- table: support_tickets
|
||||
columns: [id]
|
||||
expectedLinks:
|
||||
- fromTable: dim_users
|
||||
fromColumns: [account_id]
|
||||
toTable: dim_accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: dim_workspaces
|
||||
fromColumns: [account_id]
|
||||
toTable: dim_accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: dim_workspaces
|
||||
fromColumns: [user_id]
|
||||
toTable: dim_users
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: fct_product_events
|
||||
fromColumns: [account_id]
|
||||
toTable: dim_accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: fct_product_events
|
||||
fromColumns: [user_id]
|
||||
toTable: dim_users
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: fct_product_events
|
||||
fromColumns: [workspace_id]
|
||||
toTable: dim_workspaces
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: fct_invoices
|
||||
fromColumns: [account_id]
|
||||
toTable: dim_accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: support_tickets
|
||||
fromColumns: [account_id]
|
||||
toTable: dim_accounts
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
- fromTable: support_tickets
|
||||
fromColumns: [user_id]
|
||||
toTable: dim_users
|
||||
toColumns: [id]
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
id: orbit_style_product_no_declared_constraints
|
||||
name: Orbit-style product warehouse fixture with no declared constraints
|
||||
tier: product
|
||||
origin: synthetic
|
||||
thresholdEligible: true
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- llm_disabled
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- embeddings_disabled
|
||||
|
|
@ -0,0 +1,264 @@
|
|||
{
|
||||
"connectionId": "orbit_style_product_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "dim_accounts",
|
||||
"kind": "table",
|
||||
"comment": "Customer account dimension",
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "plan_tier",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "dim_users",
|
||||
"kind": "table",
|
||||
"comment": "User dimension",
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "account_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "email",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "dim_workspaces",
|
||||
"kind": "table",
|
||||
"comment": "Workspace dimension",
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "account_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": "Workspace owner user"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "fct_product_events",
|
||||
"kind": "table",
|
||||
"comment": "Product event fact table",
|
||||
"estimatedRows": 5,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "account_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "workspace_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "event_name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "fct_invoices",
|
||||
"kind": "table",
|
||||
"comment": "Invoice fact table",
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "account_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "amount_cents",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "support_tickets",
|
||||
"kind": "table",
|
||||
"comment": "Support ticket fact-like table",
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "account_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "user_id",
|
||||
"nativeType": "INTEGER",
|
||||
"normalizedType": "integer",
|
||||
"dimensionType": "number",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/data.sqlite
vendored
Normal file
BIN
packages/context/test/fixtures/relationship-benchmarks/plan_code_no_declared_constraints/data.sqlite
vendored
Normal file
Binary file not shown.
|
|
@ -0,0 +1,24 @@
|
|||
expectedPks:
|
||||
- table: stg_plans
|
||||
columns: [plan_code]
|
||||
expectedLinks:
|
||||
- fromTable: mart_account_segments
|
||||
fromColumns: [current_plan_code]
|
||||
toTable: stg_plans
|
||||
toColumns: [plan_code]
|
||||
relationship: many_to_one
|
||||
- fromTable: mart_account_segments
|
||||
fromColumns: [normalized_plan_code]
|
||||
toTable: stg_plans
|
||||
toColumns: [plan_code]
|
||||
relationship: many_to_one
|
||||
- fromTable: stg_plan_segment_mapping
|
||||
fromColumns: [canonical_plan_code]
|
||||
toTable: stg_plans
|
||||
toColumns: [plan_code]
|
||||
relationship: many_to_one
|
||||
- fromTable: stg_plans
|
||||
fromColumns: [canonical_plan_code]
|
||||
toTable: stg_plans
|
||||
toColumns: [plan_code]
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
id: plan_code_no_declared_constraints
|
||||
name: Plan-code suffix relationship fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
thresholdEligible: true
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
- llm_disabled
|
||||
- profiling_disabled
|
||||
- validation_disabled
|
||||
- embeddings_disabled
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
{
|
||||
"connectionId": "plan_code_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "stg_plans",
|
||||
"kind": "table",
|
||||
"comment": "Plan dimension with natural plan codes and copied attributes.",
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "canonical_plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "created_at",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "email",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "is_deleted",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "mart_account_segments",
|
||||
"kind": "table",
|
||||
"comment": "Account segment mart with current and normalized plan codes.",
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "account_segment_key",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "current_plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "normalized_plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "source_created_at",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "billing_email",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "source_is_deleted",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": null,
|
||||
"name": "stg_plan_segment_mapping",
|
||||
"kind": "table",
|
||||
"comment": "Plan-to-segment staging mapping with canonical plan codes.",
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "mapping_key",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "canonical_plan_code",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "source_created_at",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "owner_email",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "source_is_deleted",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,22 @@
|
|||
expectedPks:
|
||||
- table: organizations
|
||||
columns:
|
||||
- organization_id
|
||||
- table: users
|
||||
columns:
|
||||
- user_id
|
||||
expectedLinks:
|
||||
- fromTable: activity_events
|
||||
fromColumns:
|
||||
- entity_id
|
||||
toTable: organizations
|
||||
toColumns:
|
||||
- organization_id
|
||||
relationship: many_to_one
|
||||
- fromTable: activity_events
|
||||
fromColumns:
|
||||
- entity_id
|
||||
toTable: users
|
||||
toColumns:
|
||||
- user_id
|
||||
relationship: many_to_one
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
id: polymorphic_partial_overlap_no_declared_constraints
|
||||
name: Polymorphic partial-overlap fixture with no declared constraints
|
||||
tier: row_bearing
|
||||
origin: synthetic
|
||||
thresholdEligible: false
|
||||
defaultModes:
|
||||
- declared_pks_and_declared_fks_removed
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
"connectionId": "polymorphic_partial_overlap_no_declared_constraints",
|
||||
"driver": "sqlite",
|
||||
"extractedAt": "2026-05-07T00:00:00.000Z",
|
||||
"scope": {},
|
||||
"metadata": {},
|
||||
"tables": [
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "activity_events",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 4,
|
||||
"columns": [
|
||||
{
|
||||
"name": "event_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "entity_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "entity_type",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "action_name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "organizations",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "organization_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "organization_name",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "market",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"catalog": null,
|
||||
"db": "main",
|
||||
"name": "users",
|
||||
"kind": "table",
|
||||
"comment": null,
|
||||
"estimatedRows": 3,
|
||||
"columns": [
|
||||
{
|
||||
"name": "user_id",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "email",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
},
|
||||
{
|
||||
"name": "lifecycle",
|
||||
"nativeType": "TEXT",
|
||||
"normalizedType": "text",
|
||||
"dimensionType": "string",
|
||||
"nullable": false,
|
||||
"primaryKey": false,
|
||||
"comment": null
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,206 @@
|
|||
expectedPks:
|
||||
- table: actor
|
||||
columns:
|
||||
- actor_id
|
||||
- table: address
|
||||
columns:
|
||||
- address_id
|
||||
- table: category
|
||||
columns:
|
||||
- category_id
|
||||
- table: city
|
||||
columns:
|
||||
- city_id
|
||||
- table: country
|
||||
columns:
|
||||
- country_id
|
||||
- table: customer
|
||||
columns:
|
||||
- customer_id
|
||||
- table: film
|
||||
columns:
|
||||
- film_id
|
||||
- table: film_actor
|
||||
columns:
|
||||
- actor_id
|
||||
- film_id
|
||||
- table: film_category
|
||||
columns:
|
||||
- film_id
|
||||
- category_id
|
||||
- table: film_text
|
||||
columns:
|
||||
- film_id
|
||||
- table: inventory
|
||||
columns:
|
||||
- inventory_id
|
||||
- table: language
|
||||
columns:
|
||||
- language_id
|
||||
- table: payment
|
||||
columns:
|
||||
- payment_id
|
||||
- table: rental
|
||||
columns:
|
||||
- rental_id
|
||||
- table: staff
|
||||
columns:
|
||||
- staff_id
|
||||
- table: store
|
||||
columns:
|
||||
- store_id
|
||||
expectedLinks:
|
||||
- fromTable: address
|
||||
fromColumns:
|
||||
- city_id
|
||||
toTable: city
|
||||
toColumns:
|
||||
- city_id
|
||||
relationship: many_to_one
|
||||
- fromTable: city
|
||||
fromColumns:
|
||||
- country_id
|
||||
toTable: country
|
||||
toColumns:
|
||||
- country_id
|
||||
relationship: many_to_one
|
||||
- fromTable: customer
|
||||
fromColumns:
|
||||
- address_id
|
||||
toTable: address
|
||||
toColumns:
|
||||
- address_id
|
||||
relationship: many_to_one
|
||||
- fromTable: customer
|
||||
fromColumns:
|
||||
- store_id
|
||||
toTable: store
|
||||
toColumns:
|
||||
- store_id
|
||||
relationship: many_to_one
|
||||
- fromTable: film_actor
|
||||
fromColumns:
|
||||
- actor_id
|
||||
toTable: actor
|
||||
toColumns:
|
||||
- actor_id
|
||||
relationship: many_to_one
|
||||
- fromTable: film_actor
|
||||
fromColumns:
|
||||
- film_id
|
||||
toTable: film
|
||||
toColumns:
|
||||
- film_id
|
||||
relationship: many_to_one
|
||||
- fromTable: film_category
|
||||
fromColumns:
|
||||
- category_id
|
||||
toTable: category
|
||||
toColumns:
|
||||
- category_id
|
||||
relationship: many_to_one
|
||||
- fromTable: film_category
|
||||
fromColumns:
|
||||
- film_id
|
||||
toTable: film
|
||||
toColumns:
|
||||
- film_id
|
||||
relationship: many_to_one
|
||||
- fromTable: film
|
||||
fromColumns:
|
||||
- language_id
|
||||
toTable: language
|
||||
toColumns:
|
||||
- language_id
|
||||
relationship: many_to_one
|
||||
- fromTable: film
|
||||
fromColumns:
|
||||
- original_language_id
|
||||
toTable: language
|
||||
toColumns:
|
||||
- language_id
|
||||
relationship: many_to_one
|
||||
- fromTable: inventory
|
||||
fromColumns:
|
||||
- film_id
|
||||
toTable: film
|
||||
toColumns:
|
||||
- film_id
|
||||
relationship: many_to_one
|
||||
- fromTable: inventory
|
||||
fromColumns:
|
||||
- store_id
|
||||
toTable: store
|
||||
toColumns:
|
||||
- store_id
|
||||
relationship: many_to_one
|
||||
- fromTable: payment
|
||||
fromColumns:
|
||||
- customer_id
|
||||
toTable: customer
|
||||
toColumns:
|
||||
- customer_id
|
||||
relationship: many_to_one
|
||||
- fromTable: payment
|
||||
fromColumns:
|
||||
- rental_id
|
||||
toTable: rental
|
||||
toColumns:
|
||||
- rental_id
|
||||
relationship: many_to_one
|
||||
- fromTable: payment
|
||||
fromColumns:
|
||||
- staff_id
|
||||
toTable: staff
|
||||
toColumns:
|
||||
- staff_id
|
||||
relationship: many_to_one
|
||||
- fromTable: rental
|
||||
fromColumns:
|
||||
- customer_id
|
||||
toTable: customer
|
||||
toColumns:
|
||||
- customer_id
|
||||
relationship: many_to_one
|
||||
- fromTable: rental
|
||||
fromColumns:
|
||||
- inventory_id
|
||||
toTable: inventory
|
||||
toColumns:
|
||||
- inventory_id
|
||||
relationship: many_to_one
|
||||
- fromTable: rental
|
||||
fromColumns:
|
||||
- staff_id
|
||||
toTable: staff
|
||||
toColumns:
|
||||
- staff_id
|
||||
relationship: many_to_one
|
||||
- fromTable: staff
|
||||
fromColumns:
|
||||
- address_id
|
||||
toTable: address
|
||||
toColumns:
|
||||
- address_id
|
||||
relationship: many_to_one
|
||||
- fromTable: staff
|
||||
fromColumns:
|
||||
- store_id
|
||||
toTable: store
|
||||
toColumns:
|
||||
- store_id
|
||||
relationship: many_to_one
|
||||
- fromTable: store
|
||||
fromColumns:
|
||||
- address_id
|
||||
toTable: address
|
||||
toColumns:
|
||||
- address_id
|
||||
relationship: many_to_one
|
||||
- fromTable: store
|
||||
fromColumns:
|
||||
- manager_staff_id
|
||||
toTable: staff
|
||||
toColumns:
|
||||
- staff_id
|
||||
relationship: many_to_one
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue