extract linked id loading from ContentProvider

This commit is contained in:
Vincent Breitmoser
2018-06-20 15:40:47 +02:00
parent 9ad29318e8
commit 377bf55b70
13 changed files with 183 additions and 271 deletions

View File

@@ -1,10 +1,12 @@
import java.lang.Integer;
-- TODO implement. this is only here for reference in SQLDelight
CREATE TABLE IF NOT EXISTS certs(
master_key_id INTEGER NOT NULL,
rank INTEGER NOT NULL,
key_id_certifier INTEGER NOT NULL,
type INTEGER NOT NULL,
verified INTEGER NOT NULL,
verified INTEGER AS Integer NOT NULL,
creation INTEGER NOT NULL,
data BLOB NOT NULL,
PRIMARY KEY(master_key_id, rank, key_id_certifier),

View File

@@ -1,15 +1,35 @@
import java.lang.Integer;
CREATE TABLE IF NOT EXISTS user_packets(
master_key_id INTEGER,
master_key_id INTEGER NOT NULL,
rank INTEGER AS Integer NOT NULL,
type INTEGER,
user_id TEXT,
name TEXT,
email TEXT,
comment TEXT,
attribute_data BLOB,
is_primary INTEGER,
is_revoked INTEGER,
rank INTEGER,
is_primary INTEGER AS Boolean NOT NULL,
is_revoked INTEGER AS Boolean NOT NULL,
PRIMARY KEY(master_key_id, rank),
FOREIGN KEY(master_key_id) REFERENCES
keyrings_public(master_key_id) ON DELETE CASCADE
);
);
selectUserIdsByMasterKeyId:
SELECT user_packets.master_key_id, user_packets.rank, user_id, name, email, comment, is_primary, is_revoked, certs.verified
FROM user_packets
LEFT JOIN certs ON ( user_packets.master_key_id = certs.master_key_id AND user_packets.rank = certs.rank AND certs.verified > 0 )
WHERE user_packets.type IS NULL AND user_packets.is_revoked = 0 AND user_packets.master_key_id = ?;
selectUserAttributesByTypeAndMasterKeyId:
SELECT user_packets.master_key_id, user_packets.rank, attribute_data, is_primary, is_revoked, certs.verified
FROM user_packets
LEFT JOIN certs ON ( user_packets.master_key_id = certs.master_key_id AND user_packets.rank = certs.rank AND certs.verified > 0 )
WHERE user_packets.type = ? AND user_packets.is_revoked = 0 AND user_packets.master_key_id = ?;
selectSpecificUserAttribute:
SELECT user_packets.master_key_id, user_packets.rank, attribute_data, is_primary, is_revoked, certs.verified
FROM user_packets
LEFT JOIN certs ON ( user_packets.master_key_id = certs.master_key_id AND user_packets.rank = certs.rank AND certs.verified > 0 )
WHERE user_packets.type = ? AND user_packets.master_key_id = ? AND user_packets.rank = ?;