Changeset 149 in code for trunk/db.go


Ignore:
Timestamp:
Mar 25, 2020, 1:23:41 PM (5 years ago)
Author:
contact
Message:

Correctly set Channel.ID in DB.StoreChannel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/db.go

    r148 r149  
    3232        Pass     string
    3333        SASL     SASL
     34}
     35
     36func (net *Network) GetName() string {
     37        if net.Name != "" {
     38                return net.Name
     39        }
     40        return net.Addr
    3441}
    3542
     
    226233
    227234        key := toStringPtr(ch.Key)
    228         _, err := db.db.Exec(`INSERT OR REPLACE INTO Channel(network, name, key)
    229                 VALUES (?, ?, ?)`, networkID, ch.Name, key)
     235
     236        var err error
     237        if ch.ID != 0 {
     238                _, err = db.db.Exec(`UPDATE Channel
     239                        SET network = ?, name = ?, key = ?
     240                        WHERE id = ?`, networkID, ch.Name, key, ch.ID)
     241        } else {
     242                var res sql.Result
     243                res, err = db.db.Exec(`INSERT INTO Channel(network, name, key)
     244                        VALUES (?, ?, ?)`, networkID, ch.Name, key)
     245                if err != nil {
     246                        return err
     247                }
     248                ch.ID, err = res.LastInsertId()
     249        }
    230250        return err
    231251}
     
    238258        return err
    239259}
    240 
    241 func (net *Network) GetName() string {
    242         if net.Name != "" {
    243                 return net.Name
    244         }
    245         return net.Addr
    246 }
Note: See TracChangeset for help on using the changeset viewer.