realm-java icon indicating copy to clipboard operation
realm-java copied to clipboard

equalTo() is not working when we have two conditions on the same field

Open sanjoytech4 opened this issue 1 year ago • 6 comments

How frequently does the bug occur?

Always

Description

We have a type field. We need the list of data from DB where (type == "ABSENCE" or type == " PUBLIC_HOLIDAY"). But we are getting data of type == "ABSENCE" only

val query = realm.where(TimeOffEvents::class.java)
        val iterator = types.split(",").toTypedArray()
        query.equalTo("type", iterator[0]).or().equalTo("type", iterator[1])
        query.sort("startDate", Sort.ASCENDING).findAllAsync()

Stacktrace & log output

No response

Can you reproduce the bug?

Always

Reproduction Steps

No response

Version

10.17.0

What Atlas App Services are you using?

Local Database only

Are you using encryption?

No

Platform OS and version(s)

Android

Build environment

Android Studio version: Android Studio Jellyfish | 2023.3.1 Patch 1 Android Build Tools version: ... Gradle version: 8.2.2

sanjoytech4 avatar May 23 '24 07:05 sanjoytech4

➤ PM Bot commented:

Jira ticket: RJAVA-1262

sync-by-unito[bot] avatar May 23 '24 07:05 sync-by-unito[bot]

Just to get a better understanding - in the following code snippet, results will not contain the PUBLIC_HOLIDAY entries?

val query = realm.where(TimeOffEvents::class.java)
val iterator = types.split(",").toTypedArray()
val results: RealmResults<TimeOffEvent> =   query.equalTo("type", iterator[0]).or().equalTo("type", iterator[1]).sort("startDate", Sort.ASCENDING).findAll()

kneth avatar May 23 '24 09:05 kneth

@kneth Yes, results do not contain the PUBLIC_HOLIDAY entries.

sanjoytech4 avatar May 23 '24 10:05 sanjoytech4

@sanjoytech4 Please provide more information e.g., the exact value of types and the TimeOffEvent class.

kneth avatar May 23 '24 11:05 kneth

@kneth Here is TimeOffEvents class & type Value could be ABSENCE, PUBLIC_HOLIDAY, NON_WORKING_DAY

open class TimeOffEvents : RealmObject() {
    var externalCode: String? = ""
    var title: String? = ""
    var startDate: Date? = null
    var endDate: Date? = null
    var startTime: String? = ""
    var endTime: String? = ""
    var duration: Double = 0.0
    var timeUnit: String? = ""
    var durationFormatted: String? = ""
    var crossMidnight: Boolean = false
    var type: String? = ""
}

sanjoytech4 avatar May 23 '24 12:05 sanjoytech4

@kneth Any update on this?

sanjoytech4 avatar May 29 '24 07:05 sanjoytech4