You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I use the expected text as show below, with Find textJosephine Geraldine Smith and Replace with of Joe and select only the first two lines containing the Find text. This is the result:
In the second case, I expected that only the instances in the selected text would be changed.
What did you see instead?
The Find and Replace did not change all strings that matched the Find text when the Replace with string is longer than the find string. Also, when the replacement string is shorter than the Find text string, instances outside the selection can be changed.
I would guess that the end of search range is not adjusted along with the size of the search text is it is changed by the replacements when replacements are done top to bottom. This is not necessary when the replacements are performed from bottom to top.
DB4S Version
3.13.99 (nightly)
What OS are you seeing the problem on?
Windows
OS version
Microsoft Windows [Version 10.0.19045.4355]
Relevant log output
From the About dialog:
DB Browser for SQLite Version 3.13.99 (Feb 8 2024)
Last commit hash when built: c315df7
Built for x86_64-little_endian-llp64, running on x86_64
Qt Version 5.15.2
SQLite Version 3.45.1.
Prevention against duplicate issues
I have searched for similar issues
The text was updated successfully, but these errors were encountered:
I can confirm the bug also on 3.13.0-rc1 . It seems that search-replace is done on original text length. The bug happens only when the new text is longer than the original.
What did you do?
I have a SQL tab containing:
Joe
and Replace withJosephine
and only Selection only checked.The result is:
If I use a longer repacement text, such as
Josephine Geraldine Smith
this is the result:If I use the expected text as show below, with Find text
Josephine Geraldine Smith
and Replace with ofJoe
and select only the first two lines containing the Find text. This is the result:Three instances are changed, even though only two instances were in the selected text.
What did you expect to see?
After the Find and Replace in the last case, I expect to see:
In the second case, I expected that only the instances in the selected text would be changed.
What did you see instead?
The Find and Replace did not change all strings that matched the Find text when the Replace with string is longer than the find string. Also, when the replacement string is shorter than the Find text string, instances outside the selection can be changed.
I would guess that the end of search range is not adjusted along with the size of the search text is it is changed by the replacements when replacements are done top to bottom. This is not necessary when the replacements are performed from bottom to top.
DB4S Version
3.13.99 (nightly)
What OS are you seeing the problem on?
Windows
OS version
Microsoft Windows [Version 10.0.19045.4355]
Relevant log output
Prevention against duplicate issues
The text was updated successfully, but these errors were encountered: