Skip to content

fix: reject block syntax for unknown fields inside Dep - #980

Open
huydo862003 wants to merge 3 commits into
masterfrom
fix/forbid-complex-custom-field-in-deps
Open

huydo862003 wants to merge 3 commits into
masterfrom
fix/forbid-complex-custom-field-in-deps

Conversation

@huydo862003

Copy link
Copy Markdown
Contributor

Summary

  • Reject block syntax (key {}, key name {}) for unknown custom fields inside Dep, which previously silently passed validation
  • Still allows simple key: value custom field.

@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown

Benchmark Result

dbml-parse

suite 🏠 master 🔀 this branch change
18k 1208.562ms ±2.98% 1322.247ms ±3.68% 🔴 +9.4%
25k 1769.683ms ±3.15% 1821.742ms ±4.18% ⚪ +2.9%

@huydo862003
huydo862003 force-pushed the fix/forbid-complex-custom-field-in-deps branch from c46a554 to 0375495 Compare September 16, 2026 04:29
@huydo862003
huydo862003 force-pushed the fix/forbid-complex-custom-field-in-deps branch from 0375495 to 8117c9c Compare September 16, 2026 04:29
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown

Coverage Report

Commit: 30d87e5

Overall Coverage

Metric Coverage
Lines ✅ 85.48% (9888/11568)
Statements ✅ 82.43% (10757/13050)
Functions ✅ 88.05% (2056/2335)
Branches ⚠️ 73.35% (6474/8826)

Package Coverage

Package Lines Statements Functions Branches
dbml-cli ✅ 100.00% ✅ 100.00% ✅ 100.00% ✅ 100.00%
dbml-connector ⚠️ 64.62% ⚠️ 64.36% ⚠️ 59.53% ⚠️ 59.09%
dbml-core N/A N/A N/A N/A
dbml-parse ✅ 87.33% ✅ 83.94% ✅ 90.32% ⚠️ 74.26%

⚠️ Coverage Warnings

The following packages have coverage below 80%:

  • dbml-connector: 64.62% line coverage

Files with Coverage Below 80%

dbml-connector

9 file(s) below 80% coverage
File Lines Statements Functions Branches
src/connectors/bigquery/index.ts 0.00% 0.00% 0.00% 0.00%
src/utils/credential-loader.ts 0.00% 0.00% 0.00% 0.00%
src/utils/helpers.ts 0.00% 0.00% 0.00% 0.00%
src/connectors/snowflake/index.ts 10.56% 10.31% 0.00% 0.00%
src/utils/parseSchema.ts 46.15% 42.85% 28.57% 27.27%
src/connectors/connector.ts 66.66% 66.66% 100.00% 57.14%
src/connectors/oracle/tables.ts 71.25% 67.39% 100.00% 56.96%
src/connectors/oracle/index.ts 80.00% 80.76% 100.00% 25.00%
src/connectors/oracle/utils.ts 85.71% 85.71% 100.00% 71.42%

dbml-parse

97 file(s) below 80% coverage
File Lines Statements Functions Branches
src/compiler/queries/container/scope.ts 0.00% 0.00% 0.00% 0.00%
src/core/global_modules/program/utils/records.ts 0.00% 0.00% 0.00% 0.00%
src/services/code_actions/provider.ts 0.00% 0.00% 0.00% 0.00%
src/services/diagnostics/provider.ts 0.00% 0.00% 0.00% 0.00%
src/compiler/queries/pipeline/interpret.ts 10.52% 12.19% 66.66% 41.66%
src/services/suggestions/crossFile.ts 19.35% 19.44% 33.33% 10.00%
src/core/local_modules/enum/index.ts 48.00% 46.29% 57.14% 52.63%
src/core/global_modules/project/interpret.ts 52.50% 46.66% 83.33% 23.07%
src/compiler/queries/legacy/parse.ts 53.84% 46.66% 50.00% 25.00%
src/compiler/projectLayout/layout.ts 54.16% 53.84% 75.00% 52.63%
src/core/local_modules/dep/index.ts 59.37% 58.82% 100.00% 53.57%
src/core/local_modules/ref/index.ts 62.50% 61.76% 100.00% 57.14%
src/core/types/report.ts 62.96% 56.66% 76.92% 57.14%
src/core/global_modules/records/utils/data/values.ts 63.30% 55.71% 72.72% 49.28%
src/compiler/queries/legacy/token.ts 66.66% 66.66% 66.66% 100.00%
src/core/global_modules/enum/bind.ts 66.66% 68.75% 83.33% 50.00%
src/core/local_modules/program/index.ts 66.66% 69.23% 75.00% 62.50%
src/core/types/symbol/symbols.ts 67.36% 59.51% 61.71% 52.43%
src/core/global_modules/note/bind.ts 69.23% 71.42% 83.33% 50.00%
src/core/local_modules/checks/index.ts 69.23% 75.00% 100.00% 64.28%
src/core/local_modules/project/index.ts 69.23% 69.23% 100.00% 63.63%
src/compiler/queries/utils.ts 73.17% 73.43% 84.61% 52.17%
src/core/global_modules/project/bind.ts 73.33% 75.00% 100.00% 50.00%
src/core/local_modules/indexes/index.ts 73.68% 69.35% 63.63% 64.28%
src/core/local_modules/tablePartial/validate.ts 73.91% 73.04% 81.33% 58.42%
src/core/local_modules/use/index.ts 73.91% 75.00% 75.00% 78.12%
src/core/local_modules/indexes/validate.ts 74.28% 74.66% 90.90% 56.00%
src/core/local_modules/note/index.ts 75.00% 75.86% 75.00% 72.72%
src/services/suggestions/utils/index.ts 75.00% 75.00% 100.00% 62.06%
src/core/local_modules/records/index.ts 75.60% 76.19% 100.00% 68.08%
src/core/local_modules/project/validate.ts 75.86% 75.86% 100.00% 56.25%
src/core/global_modules/indexes/bind.ts 76.31% 74.35% 90.90% 68.96%
src/core/local_modules/custom/index.ts 76.47% 76.19% 80.00% 75.00%
src/core/global_modules/records/utils/data/sqlTypes.ts 76.59% 80.64% 82.35% 72.22%
src/core/local_modules/metadata/index.ts 77.77% 76.92% 75.00% 75.00%
src/core/local_modules/note/validate.ts 78.00% 75.92% 82.35% 67.64%
src/core/global_modules/tablePartial/interpret.ts 78.12% 70.90% 78.94% 53.84%
src/core/types/relation.ts 79.31% 73.52% 58.33% 80.00%
src/core/types/filepath.ts 79.48% 78.57% 77.77% 70.37%
src/core/global_modules/program/utils/external.ts 80.00% 80.00% 100.00% 70.00%
src/core/global_modules/tableGroup/bind.ts 80.00% 80.00% 100.00% 57.14%
src/core/global_modules/utils.ts 80.24% 77.27% 72.72% 65.51%
src/core/local_modules/records/validate.ts 80.28% 80.55% 93.75% 72.30%
src/core/global_modules/ref/bind.ts 80.64% 80.64% 90.00% 70.00%
src/core/global_modules/records/utils/constraints/helper.ts 81.08% 80.48% 82.35% 76.47%
src/core/global_modules/indexes/interpret.ts 81.39% 72.00% 100.00% 56.66%
src/core/local_modules/tablePartial/index.ts 81.48% 81.48% 100.00% 77.27%
src/core/local_modules/diagramView/validate.ts 81.57% 78.04% 84.21% 72.72%
src/core/local_modules/checks/validate.ts 81.63% 82.69% 93.75% 70.00%
src/core/global_modules/records/bind.ts 82.92% 83.72% 93.75% 67.30%
src/compiler/queries/container/token.ts 83.33% 85.71% 100.00% 75.00%
src/core/parser/parser.ts 83.49% 83.80% 98.50% 75.21%
src/core/local_modules/enum/validate.ts 83.87% 80.30% 81.25% 73.68%
__tests__/utils/compiler.ts 84.39% 81.91% 100.00% 57.98%
src/compiler/queries/transform/syncDep.ts 84.84% 84.21% 100.00% 63.33%
src/services/suggestions/provider.ts 85.51% 81.77% 92.64% 73.63%
__tests__/utils/mocks.ts 85.71% 86.20% 75.00% 100.00%
src/compiler/queries/transform/updateElementSetting.ts 86.79% 86.88% 100.00% 71.92%
src/core/local_modules/dep/validate.ts 86.81% 82.00% 93.33% 76.23%
src/services/suggestions/utils/useMerger.ts 86.95% 81.13% 100.00% 46.34%
src/core/global_modules/tablePartial/bind.ts 87.03% 87.27% 100.00% 71.42%
src/core/local_modules/metadata/validate.ts 87.50% 85.41% 100.00% 71.87%
src/services/suggestions/recordRowSnippet.ts 88.46% 87.09% 100.00% 73.80%
src/compiler/queries/nodeAtPosition.ts 88.88% 90.00% 100.00% 75.00%
src/core/global_modules/diagramView/index.ts 89.16% 86.23% 83.33% 78.18%
src/core/global_modules/tableGroup/interpret.ts 89.58% 89.58% 100.00% 77.27%
src/core/utils/note.ts 89.65% 87.14% 100.00% 78.33%
src/compiler/index.ts 90.90% 90.97% 73.68% 80.00%
src/core/global_modules/records/index.ts 90.90% 87.15% 100.00% 79.16%
src/core/types/symbol/metadata.ts 91.00% 79.34% 95.83% 63.74%
src/core/global_modules/table/index.ts 91.75% 89.86% 100.00% 77.29%
src/core/global_modules/schema/index.ts 92.26% 82.46% 91.66% 70.07%
src/core/global_modules/table/interpret.ts 92.68% 84.73% 96.55% 66.66%
src/core/local_modules/table/validate.ts 92.77% 93.33% 100.00% 78.48%
src/core/global_modules/diagramView/interpret.ts 94.59% 90.40% 92.85% 75.75%
src/services/suggestions/use.ts 94.68% 87.61% 100.00% 77.45%
src/core/global_modules/ref/interpret.ts 95.83% 94.11% 100.00% 78.84%
src/core/utils/interpret.ts 95.89% 92.00% 100.00% 75.64%
src/core/global_modules/records/interpret.ts 95.97% 92.59% 100.00% 79.54%
__tests__/examples/interpreter/multifile/utils.ts 96.00% 89.65% 100.00% 62.50%
src/core/global_modules/note/interpret.ts 96.29% 96.29% 100.00% 75.00%
src/core/global_modules/dep/interpret.ts 96.93% 92.72% 100.00% 76.19%
src/compiler/queries/canonicalName.ts 96.96% 92.10% 100.00% 76.66%
src/core/global_modules/metadata/utils.ts 97.01% 90.58% 100.00% 75.55%
src/core/global_modules/program/interpret.ts 97.52% 92.60% 100.00% 70.42%
src/core/global_modules/records/utils/constraints/pk.ts 97.61% 92.18% 96.66% 67.85%
src/compiler/queries/transform/renameTable.ts 99.05% 90.47% 100.00% 78.82%
src/compiler/queries/transform/utils/dep.ts 100.00% 87.50% 100.00% 73.68%
src/compiler/queries/transform/utils/ref.ts 100.00% 82.92% 100.00% 64.70%
src/core/global_modules/checks/interpret.ts 100.00% 88.88% 100.00% 60.00%
src/core/global_modules/dep/bind.ts 100.00% 81.96% 100.00% 73.17%
src/core/global_modules/metadata/bind.ts 100.00% 89.47% 100.00% 75.00%
src/core/global_modules/metadata/interpret.ts 100.00% 80.00% 100.00% 58.33%
src/core/global_modules/program/index.ts 100.00% 85.71% 100.00% 75.00%
src/core/global_modules/records/utils/constraints/unique.ts 100.00% 93.75% 100.00% 50.00%
src/core/utils/diagnostics_reporter/ref.ts 100.00% 100.00% 100.00% 70.83%
src/services/definition/provider.ts 100.00% 95.23% 100.00% 71.42%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant