Skip to content

Remove use of multipleOf in dqx-yaml#99

Merged
giuseppegrieco merged 2 commits into
mainfrom
98-remove-multipleof-from-dqx-translation
Mar 13, 2026
Merged

Remove use of multipleOf in dqx-yaml#99
giuseppegrieco merged 2 commits into
mainfrom
98-remove-multipleof-from-dqx-translation

Conversation

@gummiorri

@gummiorri gummiorri commented Mar 12, 2026

Copy link
Copy Markdown
Member

Summary by cubic

Removed handling of multipleOf in the dqxyaml translator so DQX no longer emits SQL modulo checks for this constraint. Aligns with Linear #98 and simplifies schema-to-check translation.

  • Refactors
    • Dropped multipleOf SQL check in collectChecks and fixed lint.
    • Removed TestTranslate_MultipleOf.

Written for commit e1f4849. Summary will update on new commits.

@gummiorri gummiorri linked an issue Mar 12, 2026 that may be closed by this pull request

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Architecture diagram
sequenceDiagram
    participant Client as Application/CLI
    participant Translator as dqxyaml.Translator
    participant Collector as collectChecks()
    participant Engine as DQX Engine
    participant DB as Data Warehouse

    Note over Client,DB: Schema to Data Quality Check Flow

    Client->>Translator: translateSchema(jsonSchema)
    
    loop For each Property in Schema
        Translator->>Collector: collectChecks(colName, constraints)
        
        opt Constraint: Required
            Collector->>Collector: Append "is_not_null"
        end
        
        opt Constraint: Array (MinItems/MaxItems)
            Collector->>Collector: Append "sql_expression" (size check)
        end

        Note over Collector: CHANGED: MultipleOf constraint is no<br/>longer processed into SQL modulo checks.

        Collector-->>Translator: return []dqxCheck
    end

    Translator-->>Client: DQX Configuration (YAML)

    Client->>Engine: Run Quality Checks
    
    loop For each Check
        Engine->>DB: Execute SQL (is_not_null, size(), etc.)
        DB-->>Engine: Result
    end
    
    Engine-->>Client: Validation Report
Loading

@giuseppegrieco giuseppegrieco left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@giuseppegrieco giuseppegrieco merged commit 8e75892 into main Mar 13, 2026
9 checks passed
@giuseppegrieco giuseppegrieco deleted the 98-remove-multipleof-from-dqx-translation branch May 29, 2026 11: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.

Remove multipleOf from DQX translation

2 participants