QGIS icon indicating copy to clipboard operation
QGIS copied to clipboard

Improve performance of adding OGR dataset with many layers

Open rouault opened this issue 2 years ago • 1 comments

Fixes #53525

rouault avatar Jun 23 '23 19:06 rouault

This should be backported to the release-3_32 branch too.

agiudiceandrea avatar Jun 23 '23 22:06 agiudiceandrea

The backport to queued_ltr_backports failed:

The process '/usr/bin/git' failed with exit code 1
stderr
error: could not apply 208af171da... Improve performance of adding OGR dataset with many layers (fixes #53525)
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".

stdout
Auto-merging src/app/layers/qgsapplayerhandling.cpp
[backport-53566-to-queued_ltr_backports 34d822e924] Improve performance of relationship discovery when adding OGR dataset with many layers (fixes #53525)
 Author: Even Rouault <[email protected]>
 Date: Fri Jun 23 20:40:05 2023 +0200
 1 file changed, 49 insertions(+), 5 deletions(-)
Auto-merging src/app/layers/qgsapplayerhandling.cpp
CONFLICT (content): Merge conflict in src/app/layers/qgsapplayerhandling.cpp
Auto-merging src/core/providers/ogr/qgsogrproviderutils.cpp
Auto-merging src/core/providers/ogr/qgsogrproviderutils.h

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-queued_ltr_backports queued_ltr_backports
# Navigate to the new working tree
cd .worktrees/backport-queued_ltr_backports
# Create a new branch
git switch --create backport-53566-to-queued_ltr_backports
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick eeaac379544e37da22996c8295d4b9540d98f60c,208af171da50c0b9ebc7e3eb770d7db32c36610b
# Push it to GitHub
git push --set-upstream origin backport-53566-to-queued_ltr_backports
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-queued_ltr_backports

Then, create a pull request where the base branch is queued_ltr_backports and the compare/head branch is backport-53566-to-queued_ltr_backports.

qgis-bot avatar Jul 18 '23 22:07 qgis-bot

The backport to release-3_32 failed:

The process '/usr/bin/git' failed with exit code 1
stderr
error: could not apply 208af171da... Improve performance of adding OGR dataset with many layers (fixes #53525)
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".

stdout
Auto-merging src/app/layers/qgsapplayerhandling.cpp
[backport-53566-to-release-3_32 8d06e44a23] Improve performance of relationship discovery when adding OGR dataset with many layers (fixes #53525)
 Author: Even Rouault <[email protected]>
 Date: Fri Jun 23 20:40:05 2023 +0200
 1 file changed, 49 insertions(+), 5 deletions(-)
Auto-merging src/app/layers/qgsapplayerhandling.cpp
CONFLICT (content): Merge conflict in src/app/layers/qgsapplayerhandling.cpp

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-release-3_32 release-3_32
# Navigate to the new working tree
cd .worktrees/backport-release-3_32
# Create a new branch
git switch --create backport-53566-to-release-3_32
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick eeaac379544e37da22996c8295d4b9540d98f60c,208af171da50c0b9ebc7e3eb770d7db32c36610b
# Push it to GitHub
git push --set-upstream origin backport-53566-to-release-3_32
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-release-3_32

Then, create a pull request where the base branch is release-3_32 and the compare/head branch is backport-53566-to-release-3_32.

qgis-bot avatar Jul 18 '23 22:07 qgis-bot

@rouault , this commit caused the following regression: https://github.com/qgis/QGIS/issues/54589 -- long story short, in debug builds, QGIS asserts and dies when drag and dropping a GeoJSON file onto QGIS' main window.

nirvn avatar Sep 14 '23 10:09 nirvn