Changeset 607 in code for trunk/db_sqlite.go


Ignore:
Timestamp:
Oct 5, 2021, 5:31:06 PM (4 years ago)
Author:
contact
Message:

Add DB stats

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/db_sqlite.go

    r598 r607  
    206206}
    207207
     208func (db *SqliteDB) Stats() (*DatabaseStats, error) {
     209        db.lock.RLock()
     210        defer db.lock.RUnlock()
     211
     212        var stats DatabaseStats
     213        row := db.db.QueryRow(`SELECT
     214                (SELECT COUNT(*) FROM User) AS users,
     215                (SELECT COUNT(*) FROM Network) AS networks,
     216                (SELECT COUNT(*) FROM Channel) AS channels`)
     217        if err := row.Scan(&stats.Users, &stats.Networks, &stats.Channels); err != nil {
     218                return nil, err
     219        }
     220
     221        return &stats, nil
     222}
     223
    208224func toNullString(s string) sql.NullString {
    209225        return sql.NullString{
Note: See TracChangeset for help on using the changeset viewer.