Update AGP to 7.4.2, update SqlDelight to 1.4.2

The adaptations to SqlDelight 1.4.2 leave the type namings *extremely*
messy. But it works and is as semantically equivalent as I could make
it.
This commit is contained in:
Vincent Breitmoser
2024-01-10 17:02:03 +01:00
parent 0caeca0b66
commit 5d84bd8387
104 changed files with 1141 additions and 1742 deletions

View File

@@ -1,6 +1,6 @@
CREATE TABLE IF NOT EXISTS api_allowed_keys (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
key_id INTEGER,
key_id INTEGER NOT NULL,
package_name TEXT NOT NULL,
UNIQUE (key_id, package_name),
FOREIGN KEY (package_name) REFERENCES api_apps (package_name) ON DELETE CASCADE

View File

@@ -1,16 +1,16 @@
import java.util.Date;
import org.sufficientlysecure.keychain.model.AutocryptPeer.GossipOrigin;
import org.sufficientlysecure.keychain.model.GossipOrigin;
CREATE TABLE IF NOT EXISTS autocrypt_peers (
package_name TEXT NOT NULL,
identifier TEXT NOT NULL,
last_seen INTEGER AS Date NULL,
last_seen_key INTEGER AS Date NULL,
last_seen INTEGER AS Date,
last_seen_key INTEGER AS Date,
is_mutual INTEGER AS Boolean NOT NULL DEFAULT 0,
master_key_id INTEGER NULL,
gossip_master_key_id INTEGER NULL,
gossip_last_seen_key INTEGER AS Date NULL,
gossip_origin INTEGER AS GossipOrigin NULL,
master_key_id INTEGER,
gossip_master_key_id INTEGER,
gossip_last_seen_key INTEGER AS Date,
gossip_origin INTEGER AS GossipOrigin,
PRIMARY KEY(package_name, identifier),
FOREIGN KEY(package_name) REFERENCES api_apps (package_name) ON DELETE CASCADE
);
@@ -54,10 +54,10 @@ selectAutocryptKeyStatus:
SELECT autocryptPeer.*,
(CASE WHEN ac_key.expiry IS NULL THEN 0 WHEN ac_key.expiry > strftime('%s', 'now') THEN 0 ELSE 1 END) AS key_is_expired_int,
(CASE WHEN gossip_key.expiry IS NULL THEN 0 WHEN gossip_key.expiry > strftime('%s', 'now') THEN 0 ELSE 1 END) AS gossip_key_is_expired_int,
ac_key.is_revoked AS key_is_revoked_int,
gossip_key.is_revoked AS gossip_key_is_revoked_int,
EXISTS (SELECT * FROM certs WHERE certs.master_key_id = autocryptPeer.master_key_id AND verified = 1 ) AS key_is_verified_int,
EXISTS (SELECT * FROM certs WHERE certs.master_key_id = autocryptPeer.gossip_master_key_id AND verified = 1 ) AS gossip_key_is_verified_int
ac_key.is_revoked AS key_is_revoked,
gossip_key.is_revoked AS gossip_key_is_revoked,
EXISTS (SELECT * FROM certs WHERE certs.master_key_id = autocryptPeer.master_key_id AND verified = 1) AS key_is_verified,
EXISTS (SELECT * FROM certs WHERE certs.master_key_id = autocryptPeer.gossip_master_key_id AND verified = 1) AS gossip_key_is_verified
FROM autocrypt_peers AS autocryptPeer
LEFT JOIN keys AS ac_key ON (ac_key.master_key_id = autocryptPeer.master_key_id AND ac_key.rank = 0)
LEFT JOIN keys AS gossip_key ON (gossip_key.master_key_id = gossip_master_key_id AND gossip_key.rank = 0)

View File

@@ -15,11 +15,11 @@ CREATE TABLE IF NOT EXISTS certs(
);
insertCert:
INSERT INTO certs (master_key_id, rank, key_id_certifier, type, verified, creation, data) VALUES (?, ?, ?, ?, ?, ?, ?);
INSERT INTO certs VALUES ?;
selectVerifyingCertDetails:
SELECT master_key_id AS masterKeyId, key_id_certifier AS signerMasterKeyId, creation * 1000 AS creation
FROM certs
WHERE verified = 1 AND master_key_id = ? AND rank = ?
ORDER BY creation DESC
ORDER BY certs.creation DESC
LIMIT 1;

View File

@@ -16,7 +16,7 @@ SELECT *
deleteAllLastUpdatedTimes:
UPDATE key_metadata
SET last_updated = null, seen_on_keyservers = null;
SET last_updated = NULL, seen_on_keyservers = NULL;
replaceKeyMetadata:
REPLACE INTO key_metadata (master_key_id, last_updated, seen_on_keyservers) VALUES (?, ?, ?);

View File

@@ -1,10 +1,10 @@
CREATE TABLE IF NOT EXISTS keyrings_public (
master_key_id INTEGER NOT NULL PRIMARY KEY,
key_ring_data BLOB NULL
key_ring_data BLOB
);
insertKeyRingPublic:
INSERT INTO keyrings_public (master_key_id, key_ring_data) VALUES (?, ?);
INSERT INTO keyrings_public (master_key_id, key_ring_data) VALUES ?;
selectAllMasterKeyIds:
SELECT master_key_id

View File

@@ -6,7 +6,7 @@ CREATE TABLE IF NOT EXISTS key_signatures (
);
insertKeySignature:
INSERT INTO key_signatures (master_key_id, signer_key_id) VALUES (?, ?);
INSERT INTO key_signatures (master_key_id, signer_key_id) VALUES ?;
selectMasterKeyIdsBySigner:
SELECT master_key_id

View File

@@ -29,7 +29,7 @@ INSERT INTO keys (
master_key_id, rank, key_id, key_size, key_curve_oid, algorithm, fingerprint,
can_certify, can_sign, can_encrypt, can_authenticate,
is_revoked, has_secret, is_secure, creation, expiry, validFrom
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
) VALUES ?;
updateHasSecretByMasterKeyId:
UPDATE keys
@@ -56,11 +56,11 @@ SELECT master_key_id, rank, key_id, key_size, key_curve_oid, algorithm, fingerpr
unifiedKeyView:
CREATE VIEW unifiedKeyView AS
SELECT keys.master_key_id, keys.fingerprint, MIN(user_packets.rank), user_packets.user_id, user_packets.name, user_packets.email, user_packets.comment, keys.creation, keys.expiry, keys.is_revoked, keys.is_secure, keys.can_certify, certs.verified,
(EXISTS (SELECT * FROM user_packets AS dups WHERE dups.master_key_id != keys.master_key_id AND dups.rank = 0 AND dups.name = user_packets.name COLLATE NOCASE AND dups.email = user_packets.email COLLATE NOCASE )) AS has_duplicate_int,
(EXISTS (SELECT * FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.has_secret != 0 )) AS has_any_secret_int,
(SELECT key_id FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.can_encrypt != 0 LIMIT 1) AS has_encrypt_key_int,
(SELECT key_id FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.can_sign != 0 LIMIT 1) AS has_sign_key_int,
(SELECT key_id FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.can_authenticate != 0 LIMIT 1) AS has_auth_key_int,
(EXISTS (SELECT * FROM user_packets AS dups WHERE dups.master_key_id != keys.master_key_id AND dups.rank = 0 AND dups.name = user_packets.name COLLATE NOCASE AND dups.email = user_packets.email COLLATE NOCASE )) AS has_duplicate,
(EXISTS (SELECT * FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.has_secret != 0)) AS has_any_secret,
(EXISTS (SELECT * FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.can_encrypt != 0)) AS has_encrypt_key,
(EXISTS (SELECT * FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.can_sign != 0)) AS has_sign_key,
(EXISTS (SELECT * FROM keys AS k WHERE k.master_key_id = keys.master_key_id AND k.can_authenticate != 0)) AS has_auth_key,
GROUP_CONCAT(DISTINCT aTI.package_name) AS autocrypt_package_names_csv,
GROUP_CONCAT(user_packets.user_id, '|||') AS user_id_list
FROM keys
@@ -72,7 +72,7 @@ CREATE VIEW unifiedKeyView AS
selectAllUnifiedKeyInfo:
SELECT * FROM unifiedKeyView
ORDER BY has_any_secret_int DESC, IFNULL(name, email) COLLATE NOCASE ASC, creation DESC;
ORDER BY has_any_secret DESC, IFNULL(name, email) COLLATE NOCASE ASC, creation DESC;
selectUnifiedKeyInfoByMasterKeyId:
SELECT * FROM unifiedKeyView
@@ -89,12 +89,12 @@ SELECT * FROM unifiedKeyView
selectAllUnifiedKeyInfoWithSecret:
SELECT * FROM unifiedKeyView
WHERE has_any_secret_int = 1
WHERE has_any_secret = 1
ORDER BY creation DESC;
selectAllUnifiedKeyInfoWithAuthKeySecret:
SELECT * FROM unifiedKeyView
WHERE has_any_secret_int = 1 AND has_auth_key_int IS NOT NULL
WHERE has_any_secret = 1 AND has_auth_key IS NOT NULL
ORDER BY creation DESC;
selectMasterKeyIdBySubkey:

View File

@@ -16,8 +16,7 @@ CREATE TABLE IF NOT EXISTS user_packets(
);
insertUserPacket:
INSERT INTO user_packets (master_key_id, rank, type, user_id, name, email, comment, attribute_data, is_primary, is_revoked)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
INSERT INTO user_packets VALUES ?;
selectUserIdsByMasterKeyId:
SELECT user_packets.master_key_id, user_packets.rank, user_id, name, email, comment, is_primary, is_revoked, MIN(certs.verified) AS verified_int

View File

@@ -0,0 +1,2 @@
selectChanges:
SELECT changes();