Skip to content

Commit

Permalink
database fixes for mixed up wifi and mobile cells and signals
Browse files Browse the repository at this point in the history
  • Loading branch information
xcadrik authored and dzlabing committed Apr 25, 2023
1 parent cb8ce27 commit 2db9e11
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion core/src/main/java/at/specure/data/CoreDatabase.kt
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ import at.specure.data.entity.VoipTestResultRecord
ConnectivityStateRecord::class,
HistoryReference::class],
// Needs to upgraded when schema changes - else: "Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number."
version = 130
version = 132
)
@TypeConverters(TypeConverter::class)
abstract class CoreDatabase : RoomDatabase() {
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/at/specure/data/dao/CapabilitiesDao.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ import at.specure.data.entity.CapabilitiesRecord
@Dao
interface CapabilitiesDao {

@Query("SELECT * from ${Tables.CAPABILITIES} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId)) LIMIT 1")
@Query("SELECT * from ${Tables.CAPABILITIES} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId)) LIMIT 1")
fun get(testUUID: String?, signalChunkId: String?): CapabilitiesRecord

@Insert(onConflict = OnConflictStrategy.IGNORE)
fun insert(capabilities: CapabilitiesRecord)

@Query("DELETE FROM ${Tables.CAPABILITIES} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("DELETE FROM ${Tables.CAPABILITIES} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun remove(testUUID: String?, signalChunkId: String?)
}
6 changes: 3 additions & 3 deletions core/src/main/java/at/specure/data/dao/CellInfoDao.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ import at.specure.info.TransportType
@Dao
abstract class CellInfoDao {

@Query("SELECT * FROM ${Tables.CELL_INFO} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("SELECT * FROM ${Tables.CELL_INFO} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
abstract fun get(testUUID: String?, signalChunkId: String?): List<CellInfoRecord>

@Upsert
abstract fun insert(cellInfo: List<CellInfoRecord>)

@Query("DELETE FROM ${Tables.CELL_INFO} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("DELETE FROM ${Tables.CELL_INFO} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
abstract fun removeAllCellInfo(testUUID: String?, signalChunkId: String?)

@Query("DELETE FROM ${Tables.CELL_INFO} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId)) AND uuid==:cellInfoUUID")
@Query("DELETE FROM ${Tables.CELL_INFO} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId)) AND uuid==:cellInfoUUID")
abstract fun removeSingleCellInfo(testUUID: String?, signalChunkId: String?, cellInfoUUID: String)

@Transaction
Expand Down
6 changes: 3 additions & 3 deletions core/src/main/java/at/specure/data/dao/CellLocationDao.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ import timber.log.Timber
@Dao
interface CellLocationDao {

@Query("SELECT * from ${Tables.CELL_LOCATION} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("SELECT * from ${Tables.CELL_LOCATION} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun get(testUUID: String?, signalChunkId: String?): List<CellLocationRecord>

@Upsert
fun insert(cellLocation: CellLocationRecord): Long

@Query("DELETE FROM ${Tables.CELL_LOCATION} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("DELETE FROM ${Tables.CELL_LOCATION} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun remove(testUUID: String?, signalChunkId: String?)

@Query("SELECT * FROM ${Tables.CELL_LOCATION} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId)) AND scramblingCode==:scramblingCode")
@Query("SELECT * FROM ${Tables.CELL_LOCATION} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId)) AND scramblingCode==:scramblingCode")
fun getSingleCellLocation(testUUID: String?, signalChunkId: String?, scramblingCode: Int): List<CellLocationRecord>

@Transaction
Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/at/specure/data/dao/GeoLocationDao.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ import at.specure.data.entity.GeoLocationRecord
@Dao
interface GeoLocationDao {

@Query("SELECT * from ${Tables.GEO_LOCATION} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("SELECT * from ${Tables.GEO_LOCATION} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun get(testUUID: String?, signalChunkId: String?): List<GeoLocationRecord>

@Insert(onConflict = OnConflictStrategy.IGNORE)
fun insert(geoLocations: GeoLocationRecord): Long

@Query("DELETE FROM ${Tables.GEO_LOCATION} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("DELETE FROM ${Tables.GEO_LOCATION} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun remove(testUUID: String?, signalChunkId: String?)
}
4 changes: 2 additions & 2 deletions core/src/main/java/at/specure/data/dao/PermissionStatusDao.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ import at.specure.data.entity.PermissionStatusRecord
@Dao
interface PermissionStatusDao {

@Query("SELECT * from ${Tables.PERMISSIONS_STATUS} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("SELECT * from ${Tables.PERMISSIONS_STATUS} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun get(testUUID: String?, signalChunkId: String?): List<PermissionStatusRecord>

@Insert(onConflict = OnConflictStrategy.IGNORE)
fun insert(permissionStatus: PermissionStatusRecord)

@Query("DELETE FROM ${Tables.PERMISSIONS_STATUS} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("DELETE FROM ${Tables.PERMISSIONS_STATUS} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun remove(testUUID: String?, signalChunkId: String?)
}
6 changes: 3 additions & 3 deletions core/src/main/java/at/specure/data/dao/SignalDao.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ import at.specure.data.entity.SignalRecord
@Dao
interface SignalDao {

@Query("SELECT * from ${Tables.SIGNAL} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId)) ORDER BY timeNanos")
@Query("SELECT * from ${Tables.SIGNAL} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId)) ORDER BY timeNanos")
fun get(testUUID: String?, signalChunkId: String?): List<SignalRecord>

@Query("SELECT * from ${Tables.SIGNAL} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId)) AND cellUuid == :cellUUID ORDER BY timeNanos LIMIT 1")
@Query("SELECT * from ${Tables.SIGNAL} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId)) AND cellUuid == :cellUUID ORDER BY timeNanos LIMIT 1")
fun getLatestForCell(testUUID: String?, signalChunkId: String?, cellUUID: String): SignalRecord?

@Insert(onConflict = OnConflictStrategy.IGNORE)
fun insert(signal: SignalRecord)

@Query("DELETE FROM ${Tables.SIGNAL} WHERE ((testUUID IS :testUUID) OR (signalChunkId IS :signalChunkId))")
@Query("DELETE FROM ${Tables.SIGNAL} WHERE ((testUUID IS :testUUID) AND (signalChunkId IS :signalChunkId))")
fun remove(testUUID: String?, signalChunkId: String?)
}

0 comments on commit 2db9e11

Please sign in to comment.