objectbox / objectbox/objectbox-java
add method 'contains' to QueryBuilder for array properties (like BooleanArray,IntArray,LongArray in Kotlin)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 4.6k
- Forks
- 311
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Is there an existing issue?
- I have searched existing issues
Use case
❗ It is very useful when implementing paged queries.
class Entity {
var ids: LongArray? = null
}
fun QueryBuilder<Entity>.filter(id: Long) {
contains(Entity_.ids, id)
}
Proposed solution
public QueryBuilder<T> contains(Property<T> property, bool value)
public QueryBuilder<T> contains(Property<T> property, int value)
public QueryBuilder<T> contains(Property<T> property, long value)
OR
public PropertyQueryCondition<ENTITY> contains(bool value)
public PropertyQueryCondition<ENTITY> contains(int value)
public PropertyQueryCondition<ENTITY> contains(long value)
Alternatives
TODO Describe any alternative solutions or features you've considered.
Additional context
TODO Add any other context (e.g. platform or language) about the feature request here.
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 Einstiegspunkten QueryBuilder und PropertyQueryCondition und untersuche anschließend vorhandene Condition-Methoden und deren Tests für skalare Properties. Die Arbeit ist abgeschlossen, wenn contains Properties vom Typ BooleanArray, IntArray und LongArray mit den vorgeschlagenen Wertetypen unterstützt und die Testabdeckung das Abfrageverhalten verifiziert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, kotlin
- Bereich
- database
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100