1+ -- fxa_uid: a 16 byte identifier, randomly generated by the fxa server
2+ -- usually a UUID, so presuming a formatted form.
3+ -- fxa_kid: <`mono_num`>-<`client_state`>
4+ --
5+ -- - mono_num: a monotonically increasing timestamp or generation number
6+ -- in hex and padded to 13 digits, provided by the fxa server
7+ -- - client_state: the first 16 bytes of a SHA256 hash of the user's sync
8+ -- encryption key.
9+
110CREATE TABLE user_collections (
2- fxa_uid STRING(MAX ) NOT NULL ,
3- fxa_kid STRING(MAX ) NOT NULL ,
11+ fxa_uid STRING(36 ) NOT NULL ,
12+ fxa_kid STRING(48 ) NOT NULL ,
413 collection_id INT64 NOT NULL ,
514 modified TIMESTAMP NOT NULL ,
615) PRIMARY KEY (fxa_uid, fxa_kid, collection_id);
716
817
918CREATE TABLE bso (
10- fxa_uid STRING(MAX ) NOT NULL ,
11- fxa_kid STRING(MAX ) NOT NULL ,
19+ fxa_uid STRING(36 ) NOT NULL ,
20+ fxa_kid STRING(48 ) NOT NULL ,
1221 collection_id INT64 NOT NULL ,
13- id STRING(MAX ) NOT NULL ,
22+ id STRING(64 ) NOT NULL ,
1423
1524 sortindex INT64,
1625
@@ -31,16 +40,16 @@ INTERLEAVE IN user_collections;
3140
3241CREATE TABLE collections (
3342 id INT64 NOT NULL ,
34- name STRING(MAX ) NOT NULL ,
43+ name STRING(32 ) NOT NULL ,
3544) PRIMARY KEY (id);
3645
3746 CREATE UNIQUE INDEX CollectionName
3847 ON collections(name);
3948
4049
4150CREATE TABLE batches (
42- fxa_uid STRING(MAX ) NOT NULL ,
43- fxa_kid STRING(MAX ) NOT NULL ,
51+ fxa_uid STRING(36 ) NOT NULL ,
52+ fxa_kid STRING(48 ) NOT NULL ,
4453 id TIMESTAMP NOT NULL ,
4554 collection_id INT64 NOT NULL ,
4655 bsos STRING(MAX) NOT NULL ,
0 commit comments