Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
F
File Repository
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Genesys PGR
  • File Repository
  • Issues
  • #32

Closed
Open
Opened Apr 01, 2020 by Matija Obreza@mobrezaOwner

JOINED inheritance strategy

RepositoryFile uses TABLE_PER_CLASS inheritance strategy and that's causing performance problems when querying (e.g. Dataset#files problem described in genesys-server#509 (closed)).

Simple testing (comments in genesys-pgr/genesys-server!535) shows that using JOINED inheritance results in much better performance.

Update code and liquibase-changeLog.yml for use of @Inheritance(strategy = InheritanceType.JOINED) in RepositoryFile class.

Database migration must include:

  1. Copy data from repository_image to repository_file
  2. Drop unnecessary columns.
  3. Copy data from repository_document to repository_file
  4. Drop unnecessary columns.

I hope that primary key id is unique across these tables.

Edited Apr 01, 2020 by Matija Obreza
Assignee
Assign to
1.1
Milestone
1.1
Assign milestone
Time tracking
None
Due date
None
Reference: genesys-pgr/file-repository#32