mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2025-02-18 21:56:47 +01:00
Add missing fields to ENF database
This commit is contained in:
parent
24d6b5aef5
commit
7321ea7d25
@ -71,13 +71,13 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_${TABLE_TOKENS}_package_token ON $TABLE_TOKENS(package, token);")
|
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_${TABLE_TOKENS}_package_token ON $TABLE_TOKENS(package, token);")
|
||||||
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_SINGLE(tcsid INTEGER PRIMARY KEY, keyData BLOB NOT NULL, rollingStartNumber INTEGER NOT NULL, rollingPeriod INTEGER NOT NULL, matched INTEGER);")
|
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_SINGLE(tcsid INTEGER PRIMARY KEY, keyData BLOB NOT NULL, rollingStartNumber INTEGER NOT NULL, rollingPeriod INTEGER NOT NULL, matched INTEGER);")
|
||||||
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_SINGLE}_key ON $TABLE_TEK_CHECK_SINGLE(keyData, rollingStartNumber, rollingPeriod);")
|
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_SINGLE}_key ON $TABLE_TEK_CHECK_SINGLE(keyData, rollingStartNumber, rollingPeriod);")
|
||||||
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_SINGLE_TOKEN(tcsid INTEGER REFERENCES $TABLE_TEK_CHECK_SINGLE(tcsid) ON DELETE CASCADE, tid INTEGER REFERENCES $TABLE_TOKENS(tid) ON DELETE CASCADE, transmissionRiskLevel INTEGER NOT NULL, UNIQUE(tcsid, tid));")
|
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_SINGLE_TOKEN(tcsid INTEGER REFERENCES $TABLE_TEK_CHECK_SINGLE(tcsid) ON DELETE CASCADE, tid INTEGER REFERENCES $TABLE_TOKENS(tid) ON DELETE CASCADE, transmissionRiskLevel INTEGER NOT NULL, reportType INTEGER NOT NULL, daysSinceOnsetOfSymptoms INTEGER NOT NULL, UNIQUE(tcsid, tid));")
|
||||||
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_SINGLE_TOKEN}_tid ON $TABLE_TEK_CHECK_SINGLE_TOKEN(tid);")
|
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_SINGLE_TOKEN}_tid ON $TABLE_TEK_CHECK_SINGLE_TOKEN(tid);")
|
||||||
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_FILE(tcfid INTEGER PRIMARY KEY, hash TEXT NOT NULL, endTimestamp INTEGER NOT NULL, keys INTEGER NOT NULL);")
|
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_FILE(tcfid INTEGER PRIMARY KEY, hash TEXT NOT NULL, endTimestamp INTEGER NOT NULL, keys INTEGER NOT NULL);")
|
||||||
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE}_hash ON $TABLE_TEK_CHECK_FILE(hash);")
|
db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE}_hash ON $TABLE_TEK_CHECK_FILE(hash);")
|
||||||
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_FILE_TOKEN(tcfid INTEGER REFERENCES $TABLE_TEK_CHECK_FILE(tcfid) ON DELETE CASCADE, tid INTEGER REFERENCES $TABLE_TOKENS(tid) ON DELETE CASCADE, UNIQUE(tcfid, tid));")
|
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_FILE_TOKEN(tcfid INTEGER REFERENCES $TABLE_TEK_CHECK_FILE(tcfid) ON DELETE CASCADE, tid INTEGER REFERENCES $TABLE_TOKENS(tid) ON DELETE CASCADE, UNIQUE(tcfid, tid));")
|
||||||
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE_TOKEN}_tid ON $TABLE_TEK_CHECK_FILE_TOKEN(tid);")
|
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE_TOKEN}_tid ON $TABLE_TEK_CHECK_FILE_TOKEN(tid);")
|
||||||
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_FILE_MATCH(tcfid INTEGER REFERENCES $TABLE_TEK_CHECK_FILE(tcfid) ON DELETE CASCADE, keyData BLOB NOT NULL, rollingStartNumber INTEGER NOT NULL, rollingPeriod INTEGER NOT NULL, transmissionRiskLevel INTEGER NOT NULL, UNIQUE(tcfid, keyData, rollingStartNumber, rollingPeriod));")
|
db.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_TEK_CHECK_FILE_MATCH(tcfid INTEGER REFERENCES $TABLE_TEK_CHECK_FILE(tcfid) ON DELETE CASCADE, keyData BLOB NOT NULL, rollingStartNumber INTEGER NOT NULL, rollingPeriod INTEGER NOT NULL, transmissionRiskLevel INTEGER NOT NULL, reportType INTEGER NOT NULL, daysSinceOnsetOfSymptoms INTEGER NOT NULL, UNIQUE(tcfid, keyData, rollingStartNumber, rollingPeriod));")
|
||||||
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE_MATCH}_tcfid ON $TABLE_TEK_CHECK_FILE_MATCH(tcfid);")
|
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE_MATCH}_tcfid ON $TABLE_TEK_CHECK_FILE_MATCH(tcfid);")
|
||||||
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE_MATCH}_key ON $TABLE_TEK_CHECK_FILE_MATCH(keyData, rollingStartNumber, rollingPeriod);")
|
db.execSQL("CREATE INDEX IF NOT EXISTS index_${TABLE_TEK_CHECK_FILE_MATCH}_key ON $TABLE_TEK_CHECK_FILE_MATCH(keyData, rollingStartNumber, rollingPeriod);")
|
||||||
}
|
}
|
||||||
@ -89,6 +89,13 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
Log.d(TAG, "Altering tables for version >= 7")
|
Log.d(TAG, "Altering tables for version >= 7")
|
||||||
db.execSQL("ALTER TABLE $TABLE_TOKENS ADD COLUMN diagnosisKeysDataMap BLOB;")
|
db.execSQL("ALTER TABLE $TABLE_TOKENS ADD COLUMN diagnosisKeysDataMap BLOB;")
|
||||||
}
|
}
|
||||||
|
if (oldVersion in 5 until 10) {
|
||||||
|
Log.d(TAG, "Altering tables for version >= 10")
|
||||||
|
db.execSQL("ALTER TABLE $TABLE_TEK_CHECK_SINGLE_TOKEN ADD COLUMN reportType INTEGER NOT NULL;")
|
||||||
|
db.execSQL("ALTER TABLE $TABLE_TEK_CHECK_SINGLE_TOKEN ADD COLUMN daysSinceOnsetOfSymptoms INTEGER NOT NULL;")
|
||||||
|
db.execSQL("ALTER TABLE $TABLE_TEK_CHECK_FILE_MATCH ADD COLUMN reportType INTEGER NOT NULL;")
|
||||||
|
db.execSQL("ALTER TABLE $TABLE_TEK_CHECK_FILE_MATCH ADD COLUMN daysSinceOnsetOfSymptoms INTEGER NOT NULL;")
|
||||||
|
}
|
||||||
if (oldVersion in 1 until 5) {
|
if (oldVersion in 1 until 5) {
|
||||||
Log.d(TAG, "Dropping legacy tables from version < 5")
|
Log.d(TAG, "Dropping legacy tables from version < 5")
|
||||||
db.execSQL("DROP TABLE IF EXISTS $TABLE_CONFIGURATIONS;")
|
db.execSQL("DROP TABLE IF EXISTS $TABLE_CONFIGURATIONS;")
|
||||||
@ -284,6 +291,8 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
put("tid", tid)
|
put("tid", tid)
|
||||||
put("tcsid", tcsid)
|
put("tcsid", tcsid)
|
||||||
put("transmissionRiskLevel", key.transmissionRiskLevel)
|
put("transmissionRiskLevel", key.transmissionRiskLevel)
|
||||||
|
put("reportType", key.reportType)
|
||||||
|
put("daysSinceOnsetOfSymptoms", key.daysSinceOnsetOfSymptoms)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -368,12 +377,14 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
put("rollingStartNumber", key.rollingStartIntervalNumber)
|
put("rollingStartNumber", key.rollingStartIntervalNumber)
|
||||||
put("rollingPeriod", key.rollingPeriod)
|
put("rollingPeriod", key.rollingPeriod)
|
||||||
put("transmissionRiskLevel", key.transmissionRiskLevel)
|
put("transmissionRiskLevel", key.transmissionRiskLevel)
|
||||||
|
put("reportType", key.reportType)
|
||||||
|
put("daysSinceOnsetOfSymptoms", key.daysSinceOnsetOfSymptoms)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun listMatchedSingleDiagnosisKeys(tid: Long, database: SQLiteDatabase = readableDatabase) = database.run {
|
private fun listMatchedSingleDiagnosisKeys(tid: Long, database: SQLiteDatabase = readableDatabase) = database.run {
|
||||||
rawQuery("""
|
rawQuery("""
|
||||||
SELECT $TABLE_TEK_CHECK_SINGLE.keyData, $TABLE_TEK_CHECK_SINGLE.rollingStartNumber, $TABLE_TEK_CHECK_SINGLE.rollingPeriod, $TABLE_TEK_CHECK_SINGLE_TOKEN.transmissionRiskLevel
|
SELECT $TABLE_TEK_CHECK_SINGLE.keyData, $TABLE_TEK_CHECK_SINGLE.rollingStartNumber, $TABLE_TEK_CHECK_SINGLE.rollingPeriod, $TABLE_TEK_CHECK_SINGLE_TOKEN.transmissionRiskLevel, $TABLE_TEK_CHECK_SINGLE_TOKEN.reportType, $TABLE_TEK_CHECK_SINGLE_TOKEN.daysSinceOnsetOfSymptoms
|
||||||
FROM $TABLE_TEK_CHECK_SINGLE_TOKEN
|
FROM $TABLE_TEK_CHECK_SINGLE_TOKEN
|
||||||
JOIN $TABLE_TEK_CHECK_SINGLE ON $TABLE_TEK_CHECK_SINGLE.tcsid = $TABLE_TEK_CHECK_SINGLE_TOKEN.tcsid
|
JOIN $TABLE_TEK_CHECK_SINGLE ON $TABLE_TEK_CHECK_SINGLE.tcsid = $TABLE_TEK_CHECK_SINGLE_TOKEN.tcsid
|
||||||
WHERE
|
WHERE
|
||||||
@ -387,6 +398,8 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
.setRollingStartIntervalNumber(cursor.getLong(1).toInt())
|
.setRollingStartIntervalNumber(cursor.getLong(1).toInt())
|
||||||
.setRollingPeriod(cursor.getLong(2).toInt())
|
.setRollingPeriod(cursor.getLong(2).toInt())
|
||||||
.setTransmissionRiskLevel(cursor.getLong(3).toInt())
|
.setTransmissionRiskLevel(cursor.getLong(3).toInt())
|
||||||
|
.setReportType(cursor.getLong(4).toInt())
|
||||||
|
.setDaysSinceOnsetOfSymptoms(cursor.getLong(5).toInt())
|
||||||
.build())
|
.build())
|
||||||
}
|
}
|
||||||
list
|
list
|
||||||
@ -395,7 +408,7 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
|
|
||||||
private fun listMatchedFileDiagnosisKeys(tid: Long, database: SQLiteDatabase = readableDatabase) = database.run {
|
private fun listMatchedFileDiagnosisKeys(tid: Long, database: SQLiteDatabase = readableDatabase) = database.run {
|
||||||
rawQuery("""
|
rawQuery("""
|
||||||
SELECT $TABLE_TEK_CHECK_FILE_MATCH.keyData, $TABLE_TEK_CHECK_FILE_MATCH.rollingStartNumber, $TABLE_TEK_CHECK_FILE_MATCH.rollingPeriod, $TABLE_TEK_CHECK_FILE_MATCH.transmissionRiskLevel
|
SELECT $TABLE_TEK_CHECK_FILE_MATCH.keyData, $TABLE_TEK_CHECK_FILE_MATCH.rollingStartNumber, $TABLE_TEK_CHECK_FILE_MATCH.rollingPeriod, $TABLE_TEK_CHECK_FILE_MATCH.transmissionRiskLevel, $TABLE_TEK_CHECK_FILE_MATCH.reportType, $TABLE_TEK_CHECK_FILE_MATCH.daysSinceOnsetOfSymptoms
|
||||||
FROM $TABLE_TEK_CHECK_FILE_TOKEN
|
FROM $TABLE_TEK_CHECK_FILE_TOKEN
|
||||||
JOIN $TABLE_TEK_CHECK_FILE_MATCH ON $TABLE_TEK_CHECK_FILE_MATCH.tcfid = $TABLE_TEK_CHECK_FILE_TOKEN.tcfid
|
JOIN $TABLE_TEK_CHECK_FILE_MATCH ON $TABLE_TEK_CHECK_FILE_MATCH.tcfid = $TABLE_TEK_CHECK_FILE_TOKEN.tcfid
|
||||||
WHERE
|
WHERE
|
||||||
@ -408,6 +421,8 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
.setRollingStartIntervalNumber(cursor.getLong(1).toInt())
|
.setRollingStartIntervalNumber(cursor.getLong(1).toInt())
|
||||||
.setRollingPeriod(cursor.getLong(2).toInt())
|
.setRollingPeriod(cursor.getLong(2).toInt())
|
||||||
.setTransmissionRiskLevel(cursor.getLong(3).toInt())
|
.setTransmissionRiskLevel(cursor.getLong(3).toInt())
|
||||||
|
.setReportType(cursor.getLong(4).toInt())
|
||||||
|
.setDaysSinceOnsetOfSymptoms(cursor.getLong(5).toInt())
|
||||||
.build())
|
.build())
|
||||||
}
|
}
|
||||||
list
|
list
|
||||||
@ -823,7 +838,7 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val DB_NAME = "exposure.db"
|
private const val DB_NAME = "exposure.db"
|
||||||
private const val DB_VERSION = 10
|
private const val DB_VERSION = 11
|
||||||
private const val DB_SIZE_TOO_LARGE = 256L * 1024 * 1024
|
private const val DB_SIZE_TOO_LARGE = 256L * 1024 * 1024
|
||||||
private const val MAX_DELETE_TIME = 5000L
|
private const val MAX_DELETE_TIME = 5000L
|
||||||
private const val TABLE_ADVERTISEMENTS = "advertisements"
|
private const val TABLE_ADVERTISEMENTS = "advertisements"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user