Issues with Component set to None don't appear in search

When a user was searching with the following filter, issues with no component values set did not appear in the search results. Any idea why?

project = XYZ AND component != "ABCDEF" AND status != Closed ORDER BY key DESC

where ABCDEF is a component in project XYZ.

By "no component values set", I mean the Component was blank or None.

2 answers

1 accepted

Accepted Answer
3 votes

Andrew, I've always stacked to the get nulls returned; so,

project = XYZ AND component != "ABCDEF" AND status != Closed OR project = XYZ AND component is empty AND status != Closed ORDER BY key DESC

Perfect. I shortened it to the following:

project = ABC AND (component != "ABCDEF" or Component is empty) and status != Closed ORDER BY Key DESC

and this seems to work as well.

But I still don't understand entirely why we have to add the "Component is empty" part. Something to do with databases and nulls versus empty strings in a query?

Thanks. Appreciate the quick answer.

Yup, you must explicitly find nulls using the keyword, 'empty' or 'null'.

https://confluence.atlassian.com/display/AOD/Advanced+Searching#AdvancedSearching-EMPTY

But it doesn't really explain why the "!=" didn't work. Wouldn't null or empty be "!= ABCDEF"?

Oh I missed your question...that's the way a relational database works. Any comparison with null is always false. If a column can have a null value, to get nulls you need to explicitly include them.

Yes, I suspected that was what was lurking in the back ground. Thanks again for the solution and the answer to the "why".

3 votes

It's not just because the database works that way, it's because the world works that way and a database reflects it.

Think of the question "what colour is your cat?". Possible answers might be tortoiseshell, ginger, black, and grey, so you can ask select questions like "show me all the cats that are not ginger". But "I don't have a cat" is also an answer, and one that should clearly not show up in a select question.

In logical terms, "null" is something different from "yes" or "no" and needs to be handled clearly and distinctly.

Thanks Nic. I love your clear example.

Of course, this means I can't blame data base programers any more. ;)

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday in Jira

Looking for anyone who made the switch to Data Center

The Jira Marketing team is putting together an ebook on migrating to Data Center. We're looking for pro tips on how you staffed your project team and organized your Proof of Concept. Share yo...

29 views 0 2
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you