Skip to content

Library: unwanted tracks are added to view by BaseTrackCache: fix filterAndSort() #15586

@ronso0

Description

@ronso0

Bug Description

In Analyze and #14508 so-called 'extra filters' are used filter the tracks, in Analyze it's date_added > datetim('now' - '7days').
So one symptom of this bug is #14873

c/p from #15571:
So called "extra filters" are sent to SearchQueryParser::parseQuery(query, extraFilter) where extraFilter is wrapped as SqlNode.
In BaseTrackCache we add dirty tracks to the current view if they are missing but match the query -- however the extraFilter SqlNode::match(pTrack) always returns true, making the check pointless because it adds dirty tracks even if they don't belong into the view.

A workaround is to ignore the extrafilter, see #15571

Another idea is to use search queries (like typing in searchbar) for extra filters, not SQL strings.
Then query->match(pTrack) would work as expected.
I have a solution for Analyze, based on #15572.

Version

No response

OS

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions