From 7797b4c48ad02fa34b6b87b35d1145b56e44a798 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Oct 2023 14:51:36 +0200 Subject: [PATCH 1/4] Fix DB migration test. Does not require a migration apparently. --- .../impl/src/main/sqldelight/databases/4.db | Bin 12288 -> 12288 bytes .../libraries/matrix/session/SessionData.sq | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/session-storage/impl/src/main/sqldelight/databases/4.db b/libraries/session-storage/impl/src/main/sqldelight/databases/4.db index f2e7eb964f4cd9384e8858a2b768500082887ce0..f51605ff2a20879c912fdaf404cdbe2115a399e6 100644 GIT binary patch delta 49 zcmZojXh@il#TLWB7sG#WW8oWKuBIeLc5!88##Zjl1$@?wTna9(ZjPZoAqs|@SM!G| F004N=4kZ8p delta 39 vcmZojXh@il#g@jvm&Si^v!K8?UaqDHMs{&!WyY5B&1rnrjGI^UhbjO7_l671 diff --git a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq index 8cebfbe5e2..bffec1261b 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq +++ b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq @@ -7,7 +7,7 @@ CREATE TABLE SessionData ( slidingSyncProxy TEXT, loginTimestamp INTEGER, oidcData TEXT, - isTokenValid INTEGER NOT NULL, + isTokenValid INTEGER NOT NULL DEFAULT 1, loginType TEXT ); From 8e8821ca1c4898c46bb5513d3caf561d265368a6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Oct 2023 14:52:04 +0200 Subject: [PATCH 2/4] Add DB versions to test all migrations --- .../impl/src/main/sqldelight/databases/1.db | Bin 0 -> 12288 bytes .../impl/src/main/sqldelight/databases/2.db | Bin 0 -> 12288 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 libraries/session-storage/impl/src/main/sqldelight/databases/1.db create mode 100644 libraries/session-storage/impl/src/main/sqldelight/databases/2.db diff --git a/libraries/session-storage/impl/src/main/sqldelight/databases/1.db b/libraries/session-storage/impl/src/main/sqldelight/databases/1.db new file mode 100644 index 0000000000000000000000000000000000000000..24a9b98f93ff4ccef492444363d87a22d1621912 GIT binary patch literal 12288 zcmeI#O-sWt7zglVib`QGw_O9hD2gEB-Kss5Rh?}I?o?`Jplg_&P*|Y$42tWV=5P$##AOHafKmY;|fIySLo1puBU8nEIMevkxm*;t$ zr8hwl)E-;cj%j!%^NcIoWVHf2)R>HU&V>~*&wTXQ-Mwrh+h#+@x;30J8<^vha#q9_ zamfG9t7<_Q%ALLJg{QwiQecIMHsf;Z1s5Zc{I@Po;wVm^-BlV6MYdd( zbF`z2)?VMzDT&jFFZ0(#-sb&aUSwtN*Usmk)e?2DKTw`+)%8?|fB*y_009U<00Izz s00bZa0SG`~TLmyQ_4ndj5P$##AOHafKmY;|fB*y_0D)5A8;d1pbN~PV literal 0 HcmV?d00001 diff --git a/libraries/session-storage/impl/src/main/sqldelight/databases/2.db b/libraries/session-storage/impl/src/main/sqldelight/databases/2.db new file mode 100644 index 0000000000000000000000000000000000000000..8d5a4188bded074de21baf94f331124773276a63 GIT binary patch literal 12288 zcmeI#O-sWt7zgllippRww_O9fD2O29-Kjy!>YQB%?lfYXZNaY9v>V%XegQwqzJlM% zqe;uKim?0mKajLfpS+M?Pw726G8J?bt0_=jC!qWhtWcT9+#<(St67jP>(%%wDX`_-*ITyweMT*fVSD-G#eF& zx%9=~ae0mVzTVl3UqtkKnY^sTNQq?fQ_nw7;;GPE&xPu%@V|LUC<7Udd&|i0s(7)? z#^iIucq}7N>IG6heWiBCV|UCgpInv>8g|nnG77{Zc? Date: Thu, 12 Oct 2023 14:59:06 +0200 Subject: [PATCH 3/4] Add some comment in the files manipulating the session DB --- .../android/libraries/matrix/session/SessionData.sq | 7 +++++++ .../impl/src/main/sqldelight/migrations/0.sqm | 3 +++ .../impl/src/main/sqldelight/migrations/1.sqm | 2 ++ .../impl/src/main/sqldelight/migrations/2.sqm | 2 ++ .../impl/src/main/sqldelight/migrations/3.sqm | 2 ++ 5 files changed, 16 insertions(+) diff --git a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq index bffec1261b..09f2972bca 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq +++ b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq @@ -1,3 +1,7 @@ +------------------------------------ +-- Current version of the DB: 4 -- +------------------------------------ + CREATE TABLE SessionData ( userId TEXT NOT NULL PRIMARY KEY, deviceId TEXT NOT NULL, @@ -5,8 +9,11 @@ CREATE TABLE SessionData ( refreshToken TEXT, homeserverUrl TEXT NOT NULL, slidingSyncProxy TEXT, + -- added in version 2 loginTimestamp INTEGER, + -- added in version 3 oidcData TEXT, + -- added in version 4 isTokenValid INTEGER NOT NULL DEFAULT 1, loginType TEXT ); diff --git a/libraries/session-storage/impl/src/main/sqldelight/migrations/0.sqm b/libraries/session-storage/impl/src/main/sqldelight/migrations/0.sqm index 396a8f28dd..4577105e3d 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/migrations/0.sqm +++ b/libraries/session-storage/impl/src/main/sqldelight/migrations/0.sqm @@ -1,3 +1,6 @@ +-- This file is not striclty necessary, since the first +-- version of the DB is 1, so we will never migrate from 0 + CREATE TABLE SessionData ( userId TEXT NOT NULL PRIMARY KEY, deviceId TEXT NOT NULL, diff --git a/libraries/session-storage/impl/src/main/sqldelight/migrations/1.sqm b/libraries/session-storage/impl/src/main/sqldelight/migrations/1.sqm index 3ee7762585..845fabc321 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/migrations/1.sqm +++ b/libraries/session-storage/impl/src/main/sqldelight/migrations/1.sqm @@ -1 +1,3 @@ +-- Migrate DB from version 1 + ALTER TABLE SessionData ADD COLUMN loginTimestamp INTEGER; diff --git a/libraries/session-storage/impl/src/main/sqldelight/migrations/2.sqm b/libraries/session-storage/impl/src/main/sqldelight/migrations/2.sqm index 9fc7f2fdaa..0af4cf8d2b 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/migrations/2.sqm +++ b/libraries/session-storage/impl/src/main/sqldelight/migrations/2.sqm @@ -1 +1,3 @@ +-- Migrate DB from version 2 + ALTER TABLE SessionData ADD COLUMN oidcData TEXT; diff --git a/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm b/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm index c4d0743ff5..eef6eb5efb 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm +++ b/libraries/session-storage/impl/src/main/sqldelight/migrations/3.sqm @@ -1,2 +1,4 @@ +-- Migrate DB from version 3 + ALTER TABLE SessionData ADD COLUMN isTokenValid INTEGER NOT NULL DEFAULT 1; ALTER TABLE SessionData ADD COLUMN loginType TEXT; From 3583aed69abbb21cf02d2169e1f3884bf19bb93f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 12 Oct 2023 15:48:13 +0200 Subject: [PATCH 4/4] Improve comment. --- .../android/libraries/matrix/session/SessionData.sq | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq index 09f2972bca..d6d16cb6e2 100644 --- a/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq +++ b/libraries/session-storage/impl/src/main/sqldelight/io/element/android/libraries/matrix/session/SessionData.sq @@ -1,6 +1,12 @@ ------------------------------------- --- Current version of the DB: 4 -- ------------------------------------- +-------------------------------------------------------------------- +-- Current version of the DB is the highest value of filename +-- in the folder `sqldelight/databases`. +-- +-- When upgrading the schema, you have to create a file .sqm in the +-- `sqldelight/databases` folder and run the following task to +-- generate a .db file using the latest schema +-- > ./gradlew generateDebugSessionDatabaseSchema +-------------------------------------------------------------------- CREATE TABLE SessionData ( userId TEXT NOT NULL PRIMARY KEY,