Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Peripheral tables cause issues: deletes, field name uniqueness, etc. #963

Closed
CBroz1 opened this issue May 8, 2024 · 0 comments
Closed
Labels
common infrastructure Unix, MySQL, etc. settings/issues impacting users wontfix This will not be worked on
Milestone

Comments

@CBroz1
Copy link
Member

CBroz1 commented May 8, 2024

By peripheral tables, I refer to tables like IntervalList and AnalysisNwbfile. These tables ...

  • Have many foreign key references throughout various pipelines
  • Centralize a data type (e.g., interval, file path)

Pros:

  1. Centralize processes that manage their type (e.g., cleanup, interval list operations, fetch_nwb)
  2. Facilitate operations that compare instances, though I'm not aware of current cases.

Cons:

  1. Not captured by cascading deletes, requiring the use of operations like cleanup (see Delete should prevent orphans in externals and IntervalList #948)
  2. Result in redundancy (see IntervalList is hard to use and highly redundant in contents #778) requiring workarounds like cautious_insert
  3. Result in keys managing multiple values for these data types (see Potential Errors: analysis_file name #961), requiring renaming
  4. Cause issues tracking an entry through a pipeline, providing false parent paths for RestrGraph
  5. Table Metadata Lock by long populate calls #1030

An alternative design would replace foreign key references with fields and centralize enforcement of the data type via a utility.

Converting existing pipelines is impractical.

@CBroz1 CBroz1 added wontfix This will not be worked on common infrastructure Unix, MySQL, etc. settings/issues impacting users labels May 8, 2024
@CBroz1 CBroz1 added this to the Future milestone May 8, 2024
@CBroz1 CBroz1 closed this as not planned Won't fix, can't repro, duplicate, stale May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
common infrastructure Unix, MySQL, etc. settings/issues impacting users wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

1 participant