Roundup Tracker - Issues

Issue 2551135

Title: Bug in Query-Generator for Link Properties
Type: Severity: normal
Components: Database Versions: devel
Status: open Resolution:
Dependencies: Superseder:
Assigned To: schlatterbeck Nosy List: ngaba, rouilj, schlatterbeck
Priority: Keywords: Blocker

Created on 2021-05-13 08:27 by schlatterbeck, last changed 2021-06-10 01:56 by rouilj.

msg7232 Author: [hidden] (schlatterbeck) Date: 2021-05-13 08:27
After some recent changes, searching for empty Multilinks (using the filter method of the hyperdb Database class) is possible using an empty list, e.g., in the filterspec we would have:

{nosy: []}

searching for issues with an empty nosy Multilink (there should be none in a normal roundup installation but I'm using this example for lack of a better one). Note that the specified and documented way of searching for empty Link/Multilink properties is by using '-1' or ['-1'] in the filterspec above instead of the empty list.

The same does not seem to work for Link properties. See the failing test in testFilteringLink where we look for an empty assignedto property.

It also looks like the query generator fails for use-cases where a Link property is searched for *and* used for sorting (or probably grouping, too). See mailinglist archive:

So the search for Link properties needs a similar overhaul like the search for Multilink properties got, see also issue2551119
msg7234 Author: [hidden] (schlatterbeck) Date: 2021-05-18 07:15
This is now fixed:
- When searching for a Link *and* sorting on the same property it should now work,
  at least it does for the test-cases I have
- The failing test was migrated to a new test-method and passes now
- Link expressions like '-1', '-2' (not empty) work now

Gabor can you check if this now works in your use-case?

msg7246 Author: [hidden] (rouilj) Date: 2021-05-26 00:48
Nagy have you tested this change? If so does it work?
msg7252 Author: [hidden] (ngaba) Date: 2021-05-27 20:45
Dear John, I am using Roundup 2.0.0. Should I apply these patches to that version, or should I install a devel branch of Roundup?

(To be honest, I hoped that there will be a backport of this fix to v2.0.0. :)
msg7253 Author: [hidden] (rouilj) Date: 2021-05-27 22:25
Ralf do you happen to have a list of the changesets needed to test
this? Do you have a patch that Nagy can use to test this against 2.0.0.

If not the easiest way to generate the diffs would probably be to:

   hg clone roundup-code

(anonymous clones use http 8-() the development head and then use

  hg diff -c <revision>

for all revisions for this ticket. To get the revisions you need to
look through the output of

  hg log

for Ralf's changes.

Also we only supply backports/patches for serious security issues.
We usually do one release a year (1.6.0, 2.0.0, 2.1.0 etc.), so
tracking the development repo and making your own patches is
usually needed. If we had more admin staff, we could increase
the number of releases. Mid July will be the 20th anniversary
release 2.1.0. Probably on July the 13th.
msg7256 Author: [hidden] (schlatterbeck) Date: 2021-05-28 06:58
On Thu, May 27, 2021 at 10:25:32PM +0000, John Rouillard wrote:
> Ralf do you happen to have a list of the changesets needed to test
> this? Do you have a patch that Nagy can use to test this against 2.0.0.

Hmm, I don't want to spend time on this.

So similar to what you suggest the easiest way is to
- clone the database
- use a git checkout to test against the cloned DB

Dr. Ralf Schlatterbeck                  Tel:   +43/2243/26465-16
Open Source Consulting                  www:
Reichergasse 131, A-3411 Weidling       email:
msg7267 Author: [hidden] (ngaba) Date: 2021-06-09 00:47
OK. I am very busy nowadays, but I will test this soon. (I have to port my patches to the devel branch.)
Date User Action Args
2021-06-10 01:56:51rouiljsetstatus: pending -> open
2021-06-10 01:54:40rouiljsetstatus: open -> pending
2021-06-09 00:47:25ngabasetmessages: + msg7267
2021-05-28 06:58:47schlatterbecksetmessages: + msg7256
2021-05-27 22:25:32rouiljsetmessages: + msg7253
2021-05-27 20:45:43ngabasetmessages: + msg7252
2021-05-26 00:48:53rouiljsetmessages: + msg7246
2021-05-18 07:15:23schlatterbecksetstatus: new -> open
messages: + msg7234
2021-05-16 21:28:01rouiljsetkeywords: + Blocker
2021-05-13 08:27:53schlatterbeckcreate