2020-08-01 13:25:32 -07:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
2020-12-07 13:57:26 -08:00
|
|
|
|
using SabreTools.Help;
|
2020-08-01 13:25:32 -07:00
|
|
|
|
using Microsoft.Data.Sqlite;
|
|
|
|
|
|
|
|
|
|
|
|
namespace RombaSharp.Features
|
|
|
|
|
|
{
|
|
|
|
|
|
internal class DbStats : BaseFeature
|
|
|
|
|
|
{
|
|
|
|
|
|
public const string Value = "DbStats";
|
|
|
|
|
|
|
|
|
|
|
|
public DbStats()
|
|
|
|
|
|
{
|
|
|
|
|
|
Name = Value;
|
|
|
|
|
|
Flags = new List<string>() { "dbstats" };
|
|
|
|
|
|
Description = "Prints db stats.";
|
2020-12-07 13:57:26 -08:00
|
|
|
|
_featureType = ParameterType.Flag;
|
2020-08-01 13:25:32 -07:00
|
|
|
|
LongDescription = "Print db stats.";
|
|
|
|
|
|
Features = new Dictionary<string, Feature>();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void ProcessFeatures(Dictionary<string, Feature> features)
|
|
|
|
|
|
{
|
|
|
|
|
|
base.ProcessFeatures(features);
|
|
|
|
|
|
|
|
|
|
|
|
SqliteConnection dbc = new SqliteConnection(_connectionString);
|
|
|
|
|
|
dbc.Open();
|
|
|
|
|
|
|
|
|
|
|
|
// Total number of CRCs
|
|
|
|
|
|
string query = "SELECT COUNT(*) FROM crc";
|
|
|
|
|
|
SqliteCommand slc = new SqliteCommand(query, dbc);
|
2020-10-07 15:42:30 -07:00
|
|
|
|
logger.User($"Total CRCs: {(long)slc.ExecuteScalar()}");
|
2020-08-01 13:25:32 -07:00
|
|
|
|
|
|
|
|
|
|
// Total number of MD5s
|
|
|
|
|
|
query = "SELECT COUNT(*) FROM md5";
|
|
|
|
|
|
slc = new SqliteCommand(query, dbc);
|
2020-10-07 15:42:30 -07:00
|
|
|
|
logger.User($"Total MD5s: {(long)slc.ExecuteScalar()}");
|
2020-08-01 13:25:32 -07:00
|
|
|
|
|
|
|
|
|
|
// Total number of SHA1s
|
|
|
|
|
|
query = "SELECT COUNT(*) FROM sha1";
|
|
|
|
|
|
slc = new SqliteCommand(query, dbc);
|
2020-10-07 15:42:30 -07:00
|
|
|
|
logger.User($"Total SHA1s: {(long)slc.ExecuteScalar()}");
|
2020-08-01 13:25:32 -07:00
|
|
|
|
|
|
|
|
|
|
// Total number of DATs
|
|
|
|
|
|
query = "SELECT COUNT(*) FROM dat";
|
|
|
|
|
|
slc = new SqliteCommand(query, dbc);
|
2020-10-07 15:42:30 -07:00
|
|
|
|
logger.User($"Total DATs: {(long)slc.ExecuteScalar()}");
|
2020-08-01 13:25:32 -07:00
|
|
|
|
|
|
|
|
|
|
slc.Dispose();
|
|
|
|
|
|
dbc.Dispose();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|