To duplicate frameworks, the code retrieve all the subfields, then execute 1 insert per subfield. It's unnecessary slow, we can use the DBMS to do it.
Created attachment 53835 [details] [review] Bug 17009: Speed up the framework duplication To duplicate frameworks, the code retrieve all the subfields, then execute 1 insert per subfield. It's unnecessary slow, we can use the DBMS to do it. Test plan: Create a new framework and duplicate the structure of another framework.
Created attachment 53875 [details] [review] Bug 17009: Speed up the framework duplication To duplicate frameworks, the code retrieve all the subfields, then execute 1 insert per subfield. It's unnecessary slow, we can use the DBMS to do it. Test plan: Create a new framework and duplicate the structure of another framework.
(In reply to Jonathan Druart from comment #2) > Created attachment 53875 [details] [review] [review] > Bug 17009: Speed up the framework duplication > > To duplicate frameworks, the code retrieve all the subfields, then > execute 1 insert per subfield. > It's unnecessary slow, we can use the DBMS to do it. > > Test plan: > Create a new framework and duplicate the structure of another framework. I applied the dependency 16995 then tried to apply this patch, it did not apply. Message: Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 16995 - Remove event attributes from two include files tester@debian:~/kohaclone$ git bz apply 17009 Bug 17009 - Duplicating frameworks is unnecessary slow 53875 - Bug 17009: Speed up the framework duplication Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 17009: Speed up the framework duplication fatal: sha1 information is lacking or useless (admin/marctagstructure.pl). Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge. Patch failed at 0001 Bug 17009: Speed up the framework duplication The copy of the patch that failed is found in: /home/tester/kohaclone/.git/rebase-apply/patch When you have resolved this problem run "git bz apply --continue". If you would prefer to skip this patch, instead run "git bz apply --skip". To restore the original branch and stop patching run "git bz apply --abort". Patch left in /tmp/Bug-17009-Speed-up-the-framework-duplication-FRLPWa.patch
Created attachment 54132 [details] [review] Bug 17009: Speed up the framework duplication To duplicate frameworks, the code retrieve all the subfields, then execute 1 insert per subfield. It's unnecessary slow, we can use the DBMS to do it. Test plan: Create a new framework and duplicate the structure of another framework. Signed-off-by: Marc <veron@veron.ch>
Created attachment 54398 [details] [review] Bug 17009: Speed up the framework duplication To duplicate frameworks, the code retrieve all the subfields, then execute 1 insert per subfield. It's unnecessary slow, we can use the DBMS to do it. Test plan: Create a new framework and duplicate the structure of another framework. Signed-off-by: Marc <veron@veron.ch> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Pushed to master for 16.11, thanks Jonathan!
Pushed in 16.05. Will be in 16.05.03.
Pushed to 3.22.x, will be in 3.22.10