Skip to content

Subject condition is violated due to reverse traversal (unexpected rows in subset) #126

@anadevone

Description

@anadevone

When using an ExtractionModel with a subject table (customers) and a condition like:
T.customer_id = 1
Jailer includes unrelated rows from the orders table where customer_id != 1.

This violates the defined condition and leads to unintended data export, unless all reverse associations are explicitly blocked.

Expected behavior
Jailer should export:
Only the subject customer (customer_id = 1)
Related child records (e.g., orders, reviews) where customer_id = 1
No other customers or their data unless explicitly allowed

Actual behavior
More than one customer is exported
Orders for customer_id = 2..10 are included
This happens due to implicit reverse traversal, which is not documented clearly
Bypasses the subject condition unless explicitly restricted

Steps to reproduce
Use customers as the subject
Set condition: T.customer_id = 1
Do not define any restrictions
Observe that Jailer includes:
Extra orders
Extra customers
(even though condition restricts to customer_id = 1)

Environment
Jailer version: 16.7.0.1
DB: PostgreSQL

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions