objectbox / objectbox/objectbox-java
Queries: Support "notIn" with string arrays like "in" does
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 4.6k
- Forks
- 311
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
On queries, you can use string array "overloads" for in in the following ways:
QueryBuilder<T> in(Property<T> property, String[] values)
QueryBuilder<T> in(Property<T> property, String[] values, StringOrder order)
The same "overloads" are not supported for notIn though, which only supports int and long arrays

Edit: additional suggestions via #1129:
- Implement
doesNotContain,doesNotEndWith,doesNotStartWithintoPropertyor- Create
QueryCondition.not()that would allow to negate any given QueryConditionExample use case for the latter :
Character_.lastName.equal("lannister", QueryBuilder.StringOrder.CASE_INSENSITIVE) .and(Character_.firstName.startsWith("ty", QueryBuilder.StringOrder.CASE_INSENSITIVE)) // "Tywin", "Tyrion", "Tytos" Character_.lastName.equal("lannister", QueryBuilder.StringOrder.CASE_INSENSITIVE) .and(Character_.firstName.startsWith("ty", QueryBuilder.StringOrder.CASE_INSENSITIVE).not()) // "Cersei", "Jaime", "Lancel"
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit den im Issue genannten QueryBuilder- und Property query APIs und vergleiche dabei das vorhandene string-array in den Überladungen mit den int-array- und long-array-notIn-Überladungen. Verfolge die zugehörigen Query-Tests und bestätige anschließend, dass string-array notIn dieselben Überladungsformen und dasselbe Verhalten wie in unterstützt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- databases
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100