Exploring ugarit metadata in sqlite added by alaricsp on Thu Nov 24 10:46:05 2011

# Let's look at the root of the snapshot, identified by a tag

bash-4.2$ sudo chicken-sqlite3 metadata 
Password:
SQLite version 3.7.3
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from tags;
anger|5599157f1e03a44939713a4c3c9009b9dc5633f55079b0f9|0
sqlite> select * from blocks where key = '5599157f1e03a44939713a4c3c9009b9dc5633f55079b0f9';
5599157f1e03a44939713a4c3c9009b9dc5633f55079b0f9|snapshot|181|89468656|162

# How many blocks did we make?

sqlite> select count(*) from blocks;
457017
sqlite> .quit
bash-4.2$ sudo chicken-sqlite3 file-cache 
SQLite version 3.7.3
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

# From how many files?

sqlite> select count(*) from files;
625530

# 625,520 files, many of which would make more than one
# 1MiB block, plus directories, down to 457,017 blocks
# is a fair amount of deduplication. I wonder how many
# files have the same hash, then?

sqlite> select key, count(*) from files group by key order by count(*) desc limit 10;
76690557bc15aab26efe72c18300e2b8faaf75e861885f0f|32169
7234754967afbed46b7567941540ccbc19afb4a7dc7be9ad|2835
d6ae3267c7eaba661569103a39786de2b714add617081b37|1493
a5dbf711113630923d796e6d1ae173322dcac0d54da45dec|1449
cdb27727c9395378d6f855f631f414f7181b1bfe881aacb4|903
8bad0a1682f57d6168a76082ceebd8ce99d5e9bf64f2fe81|626
f022120f16ddba824996542174df47d96a4f737d1d750e9e|490
78f0efaaddbc11001979947ab86284280d0e4ad7cc8d3460|468
1191bc76ba5c3ebd8c78d7e4b2da088ad517e0ac586af299|466
b8feb730de2d9d8d10bcf38cc7eb5662357019d14c9ed8d8|248

# '76690557bc15aab26efe72c18300e2b8faaf75e861885f0f' is
# popular; what's that?

sqlite> select * from files where key = '76690557bc15aab26efe72c18300e2b8faaf75e861885f0f' limit 10;
/usr/src/usr.bin/config/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/uvm/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/ufs/ufs/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/ufs/mfs/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/ufs/lfs/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/ufs/ffs/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/ufs/ext2fs/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/ufs/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/sys/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f
/usr/src/sys/stand/CVS/Root|1289074615|36|76690557bc15aab26efe72c18300e2b8faaf75e861885f0f

# Ah. That would explain that!