mirror of
https://github.com/chuot/rdio-scanner.git
synced 2026-08-13 08:33:00 -06:00
Version 6.0.2
This commit is contained in:
parent
a7fa639eec
commit
4bca72a202
|
|
@ -25,6 +25,13 @@ _v.6.0.1_
|
|||
- Fix button sound on select panel for TG (beep state inverted)
|
||||
- Auto populate system units (issue #66)
|
||||
|
||||
_v.6.0.2_
|
||||
|
||||
- Try to fix the SQL_BUSY error (issue #67).
|
||||
- Fix `-service stop` timing out before exiting.
|
||||
- Drop the ApiKey uniqueness of the downstreams database table.
|
||||
- Fix auto-populating the database with empty units tag.
|
||||
|
||||
## Version 5.2
|
||||
|
||||
- Change to how the server reports version.
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -16,7 +16,7 @@
|
|||
################################################################################
|
||||
|
||||
app := rdio-scanner
|
||||
ver := 6.0.1
|
||||
ver := 6.0.2
|
||||
|
||||
client := $(wildcard client/*.json client/*.ts)
|
||||
server := $(wildcard server/*.go)
|
||||
|
|
|
|||
|
|
@ -39,5 +39,5 @@
|
|||
"build": "ng build --base-href ./ --configuration production",
|
||||
"start": "ng serve"
|
||||
},
|
||||
"version": "6.0.1"
|
||||
"version": "6.0.2"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
rdio@macos ~ % mkdir rdio-scanner
|
||||
rdio@macos ~ % cd rdio-scanner
|
||||
rdio@macos rdio-scanner % unzip \
|
||||
> ~/Downloads/rdio-scanner-darwin-arm64-v6.0.1.zip
|
||||
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.0.1.zip
|
||||
> ~/Downloads/rdio-scanner-darwin-arm64-v6.0.2.zip
|
||||
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.0.2.zip
|
||||
inflating: rdio-scanner
|
||||
inflating: rdio-scanner.pdf
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
rdio@macos rdio-scanner % ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 08:38:06 server started
|
||||
2021/11/29 08:38:06 main interface at http://macos.local:3000
|
||||
|
|
@ -76,7 +76,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
|
||||
rdio@macos rdio-scanner % ./rdio-scanner --listen :80
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 08:48:03 server started
|
||||
2021/11/29 08:48:03 main interface at http://macos.local
|
||||
|
|
@ -107,7 +107,7 @@ Now we use the self-signed server certificate to run our instance.
|
|||
> -ssl_key_file server.key \
|
||||
> -ssl_listen :443
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 08:50:58 server started
|
||||
2021/11/29 08:50:58 main interface at http://macos.local
|
||||
|
|
@ -139,7 +139,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
|
||||
rdio@macos rdio-scanner % ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 08:54:08 server started
|
||||
2021/11/29 08:54:08 main interface at http://macos.local
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
rdio@pc-freebsd:~ $ mkdir rdio-scanner
|
||||
rdio@pc-freebsd:~ $ cd rdio-scanner
|
||||
rdio@pc-freebsd:~/rdio-scanner $ unzip \
|
||||
> ~/rdio-scanner-freebsd-amd64-v6.0.1.zip
|
||||
Archive: ../rdio-scanner-freebsd-amd64-v6.0.1.zip
|
||||
> ~/rdio-scanner-freebsd-amd64-v6.0.2.zip
|
||||
Archive: ../rdio-scanner-freebsd-amd64-v6.0.2.zip
|
||||
extracting: rdio-scanner
|
||||
extracting: rdio-scanner.pdf
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
rdio@pc-freebsd:~/rdio-scanner $ ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/28 08:16:36 server started
|
||||
2021/11/28 08:16:36 main interface at http://pc-freebsd:3000
|
||||
|
|
@ -80,7 +80,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
Password:
|
||||
root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner -listen :80
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/28 08:19:38 server started
|
||||
2021/11/28 08:19:38 main interface at http://pc-freebsd
|
||||
|
|
@ -113,7 +113,7 @@ Now we use the self-signed server certificate to run our instance.
|
|||
> -ssl_key_file server.key \
|
||||
> -ssl_listen :443
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/28 10:34:29 server started
|
||||
2021/11/28 10:34:29 main interface at http://pc-freebsd
|
||||
|
|
@ -147,7 +147,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
Password:
|
||||
root@pc-freebsd:/home/rdio/rdio-scanner # ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/28 10:38:28 server started
|
||||
2021/11/28 10:38:29 main interface at http://pc-freebsd
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
[rdio@pc-linux ~]$ mkdir rdio-scanner
|
||||
[rdio@pc-linux ~]$ cd rdio-scanner
|
||||
[rdio@pc-linux rdio-scanner]$ unzip \
|
||||
> ~/Downloads/rdio-scanner-linux-amd64-v6.0.1.zip
|
||||
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.0.1.zip
|
||||
> ~/Downloads/rdio-scanner-linux-amd64-v6.0.2.zip
|
||||
Archive: /home/rdio/Downloads/rdio-scanner-linux-amd64-v6.0.2.zip
|
||||
inflating: rdio-scanner
|
||||
inflating: rdio-scanner.pdf
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
[rdio@pc-linux rdio-scanner]$ ./rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 09:11:48 server started
|
||||
2021/11/29 09:11:48 main interface at http://pc-linux:3000
|
||||
|
|
@ -77,7 +77,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
[rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner -listen :80
|
||||
[sudo] password for rdio:
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 09:14:00 server started
|
||||
2021/11/29 09:14:00 main interface at http://pc-linux
|
||||
|
|
@ -109,7 +109,7 @@ Now we use the self-signed server certificate to run our instance.
|
|||
> -ssl_listen :443
|
||||
[sudo] password for rdio:
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 09:16:47 server started
|
||||
2021/11/29 09:16:47 main interface at http://pc-linux
|
||||
|
|
@ -142,7 +142,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
[rdio@pc-linux rdio-scanner]$ sudo ./rdio-scanner
|
||||
[sudo] Mot de passe de rdio :
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/29 09:20:40 server started
|
||||
2021/11/29 09:20:40 main interface at http://pc-linux
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
C:\Users\rdio> cd rdio-scanner
|
||||
|
||||
C:\Users\rdio\rdio-scanner> tar -xvf ^
|
||||
..\downloads\rdio-scanner-windows-amd64-v6.0.1.zip
|
||||
..\downloads\rdio-scanner-windows-amd64-v6.0.2.zip
|
||||
x rdio-scanner.exe
|
||||
x rdio-scanner.pdf
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
|
|||
|
||||
C:\Users\rdio\rdio-scanner>rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/25 13:48:48 server started
|
||||
2021/11/25 13:48:48 main interface at http://pc-windows:3000
|
||||
|
|
@ -77,7 +77,7 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance
|
|||
|
||||
C:\Users\rdio\rdio-scanner>rdio-scanner -listen :80
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/26 10:53:31 server started
|
||||
2021/11/26 10:53:31 main interface at http://pc-windows
|
||||
|
|
@ -108,7 +108,7 @@ Now we use the self-signed server certificate to run our instance.
|
|||
-ssl_key_file server.key ^
|
||||
-ssl_listen :443
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/26 11:05:43 server started
|
||||
2021/11/26 11:05:43 main interface at http://pc-windows
|
||||
|
|
@ -140,7 +140,7 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an
|
|||
|
||||
C:\Users\rdio\rdio-scanner>rdio-scanner
|
||||
|
||||
Rdio Scanner v6.0.1
|
||||
Rdio Scanner v6.0.2
|
||||
----------------------------------
|
||||
2021/11/26 11:11:28 server started
|
||||
2021/11/26 11:11:28 main interface at http://pc-windows
|
||||
|
|
|
|||
|
|
@ -271,6 +271,7 @@ func (accesses *Accesses) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -240,6 +240,7 @@ func (apikeys *Apikeys) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -630,7 +630,13 @@ func (controller *Controller) SendClientConfig(client *Client) {
|
|||
}
|
||||
|
||||
func (controller *Controller) Terminate() {
|
||||
if err := controller.Database.Sql.Close(); err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
controller.Dirwatches.Stop()
|
||||
|
||||
log.Println("terminated")
|
||||
|
||||
os.Exit(0)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ package main
|
|||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"runtime"
|
||||
|
||||
"github.com/kardianos/service"
|
||||
|
|
@ -78,5 +79,6 @@ func (d *DaemonInterface) Start(s service.Service) error {
|
|||
}
|
||||
|
||||
func (d *DaemonInterface) Stop(s service.Service) error {
|
||||
os.Exit(0)
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,6 +67,10 @@ func (db *Database) Init(config *Config) error {
|
|||
return fmt.Errorf("unknown database type %s", db.Config.DbType)
|
||||
}
|
||||
|
||||
db.Sql.SetConnMaxLifetime(0)
|
||||
db.Sql.SetMaxIdleConns(10)
|
||||
db.Sql.SetMaxOpenConns(10)
|
||||
|
||||
if err = db.migrate(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -151,6 +155,10 @@ func (db *Database) migrate() error {
|
|||
err = db.migration20210830092027(verbose)
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
err = db.migration20211202094819(verbose)
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
@ -400,6 +408,29 @@ func (db *Database) migration20210830092027(verbose bool) error {
|
|||
return db.migrateWithSchema("20210830092027-v6.0-rename-index", str, verbose)
|
||||
}
|
||||
|
||||
func (db *Database) migration20211202094819(verbose bool) error {
|
||||
var str []string
|
||||
|
||||
if db.Config.DbType == DbTypeSqlite {
|
||||
str = []string{
|
||||
"alter table `rdioScannerDownstreams` rename to `rdioScannerDownstreams2`",
|
||||
"create table `rdioScannerDownstreams` (`_id` integer primary key autoincrement, `apiKey` varchar(255) not null, `disabled` tinyint(1) default 0, `order` integer, `systems` text not null, `url` varchar(255) not null)",
|
||||
"insert into `rdioScannerDownstreams` select * from `rdioScannerDownstreams2`",
|
||||
"drop table `rdioScannerDownstreams2`",
|
||||
}
|
||||
|
||||
} else {
|
||||
str = []string{
|
||||
"alter table `rdioScannerDownstreams` rename to `rdioScannerDownstreams2`",
|
||||
"create table `rdioScannerDownstreams` (`_id` integer primary key auto_increment, `apiKey` varchar(255) not null, `disabled` tinyint(1) default 0, `order` integer, `systems` text not null, `url` varchar(255) not null)",
|
||||
"insert into `rdioScannerDownstreams` select * from `rdioScannerDownstreams2`",
|
||||
"drop table `rdioScannerDownstreams2`",
|
||||
}
|
||||
}
|
||||
|
||||
return db.migrateWithSchema("20211202094819-v6.0.2-alter-table", str, verbose)
|
||||
}
|
||||
|
||||
func (db *Database) prepareMigration() (bool, error) {
|
||||
var (
|
||||
err error
|
||||
|
|
|
|||
|
|
@ -662,6 +662,7 @@ func (dirwatches *Dirwatches) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -474,6 +474,7 @@ func (downstreams *Downstreams) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ require (
|
|||
github.com/gorilla/websocket v1.4.2
|
||||
github.com/kardianos/service v1.2.0
|
||||
golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871
|
||||
gopkg.in/ini.v1 v1.66.0
|
||||
gopkg.in/ini.v1 v1.66.1
|
||||
modernc.org/sqlite v1.14.1
|
||||
)
|
||||
|
||||
|
|
@ -21,15 +21,15 @@ require (
|
|||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
|
||||
github.com/stretchr/testify v1.7.0 // indirect
|
||||
golang.org/x/mod v0.5.1 // indirect
|
||||
golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 // indirect
|
||||
golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c // indirect
|
||||
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 // indirect
|
||||
golang.org/x/text v0.3.7 // indirect
|
||||
golang.org/x/tools v0.1.7 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||
lukechampine.com/uint128 v1.1.1 // indirect
|
||||
modernc.org/cc/v3 v3.35.18 // indirect
|
||||
modernc.org/ccgo/v3 v3.12.78 // indirect
|
||||
modernc.org/libc v1.11.86 // indirect
|
||||
modernc.org/ccgo/v3 v3.12.82 // indirect
|
||||
modernc.org/libc v1.11.87 // indirect
|
||||
modernc.org/mathutil v1.4.1 // indirect
|
||||
modernc.org/memory v1.0.5 // indirect
|
||||
modernc.org/opt v0.1.1 // indirect
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 h1:0qxwC5n+ttVOINCBeRHO0nq9X7uy8SDsPoi5OaCdIEI=
|
||||
golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c h1:WtYZ93XtWSO5KlOMgPZu7hXY9WhMZpprvlm5VwvAl8c=
|
||||
golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
|
|
@ -85,8 +85,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
|
|||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/ini.v1 v1.66.0 h1:tYFFjdYXTsNBxJhYBABRbTuaKkX6UBzOvbYwhEcaZJQ=
|
||||
gopkg.in/ini.v1 v1.66.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.66.1 h1:kWVKj9OXQuOk10tEqPxDmpEoISM3NZHelrsfWcmtEUA=
|
||||
gopkg.in/ini.v1 v1.66.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU=
|
||||
|
|
@ -139,8 +139,9 @@ modernc.org/ccgo/v3 v3.12.65/go.mod h1:D6hQtKxPNZiY6wDBtehSGKFKmyXn53F8nGTpH+POm
|
|||
modernc.org/ccgo/v3 v3.12.66/go.mod h1:jUuxlCFZTUZLMV08s7B1ekHX5+LIAurKTTaugUr/EhQ=
|
||||
modernc.org/ccgo/v3 v3.12.67/go.mod h1:Bll3KwKvGROizP2Xj17GEGOTrlvB1XcVaBrC90ORO84=
|
||||
modernc.org/ccgo/v3 v3.12.73/go.mod h1:hngkB+nUUqzOf3iqsM48Gf1FZhY599qzVg1iX+BT3cQ=
|
||||
modernc.org/ccgo/v3 v3.12.78 h1:yinLezxvjgDrGouUmimNGvQe4UMy57F4QQiNFqzPuFA=
|
||||
modernc.org/ccgo/v3 v3.12.78/go.mod h1:p2A1duHoBBg1mFtYvnhAnQyI6vL0uw5PGYLSIgF6rYY=
|
||||
modernc.org/ccgo/v3 v3.12.81/go.mod h1:p2A1duHoBBg1mFtYvnhAnQyI6vL0uw5PGYLSIgF6rYY=
|
||||
modernc.org/ccgo/v3 v3.12.82 h1:wudcnJyjLj1aQQCXF3IM9Gz2X6UNjw+afIghzdtn0v8=
|
||||
modernc.org/ccgo/v3 v3.12.82/go.mod h1:ApbflUfa5BKadjHynCficldU1ghjen84tuM5jRynB7w=
|
||||
modernc.org/ccorpus v1.11.1 h1:K0qPfpVG1MJh5BYazccnmhywH4zHuOgJXgbjzyp6dWA=
|
||||
modernc.org/ccorpus v1.11.1/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
|
||||
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
|
||||
|
|
@ -178,8 +179,9 @@ modernc.org/libc v1.11.70/go.mod h1:DUOmMYe+IvKi9n6Mycyx3DbjfzSKrdr/0Vgt3j7P5gw=
|
|||
modernc.org/libc v1.11.71/go.mod h1:DUOmMYe+IvKi9n6Mycyx3DbjfzSKrdr/0Vgt3j7P5gw=
|
||||
modernc.org/libc v1.11.75/go.mod h1:dGRVugT6edz361wmD9gk6ax1AbDSe0x5vji0dGJiPT0=
|
||||
modernc.org/libc v1.11.82/go.mod h1:NF+Ek1BOl2jeC7lw3a7Jj5PWyHPwWD4aq3wVKxqV1fI=
|
||||
modernc.org/libc v1.11.86 h1:re2EI0lgrQTcU5fmSFFiK51NfFIXI1cE9CJMKgn9umY=
|
||||
modernc.org/libc v1.11.86/go.mod h1:ePuYgoQLmvxdNT06RpGnaDKJmDNEkV7ZPKI2jnsvZoE=
|
||||
modernc.org/libc v1.11.87 h1:PzIzOqtlzMDDcCzJ5cUP6h/Ku6Fa9iyflP2ccTY64aE=
|
||||
modernc.org/libc v1.11.87/go.mod h1:Qvd5iXTeLhI5PS0XSyqMY99282y+3euapQFxM7jYnpY=
|
||||
modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||
modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||
modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||
|
|
|
|||
|
|
@ -229,6 +229,7 @@ func (groups *Groups) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -154,15 +154,17 @@ func ParseTrunkRecorderMeta(call *Call, b []byte) error {
|
|||
|
||||
switch t := v["tag"].(type) {
|
||||
case string:
|
||||
var units Units
|
||||
switch v := call.units.(type) {
|
||||
case Units:
|
||||
units = v
|
||||
default:
|
||||
units = Units{}
|
||||
if len(t) > 0 {
|
||||
var units Units
|
||||
switch v := call.units.(type) {
|
||||
case Units:
|
||||
units = v
|
||||
default:
|
||||
units = Units{}
|
||||
}
|
||||
units.Add(uint(s), t)
|
||||
call.units = units
|
||||
}
|
||||
units.Add(uint(s), t)
|
||||
call.units = units
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -438,6 +438,7 @@ func (systems *Systems) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -228,6 +228,7 @@ func (tags *Tags) Write(db *Database) error {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
rows.Close()
|
||||
return formatError(err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@
|
|||
|
||||
package main
|
||||
|
||||
const Version = "6.0.1"
|
||||
const Version = "6.0.2"
|
||||
|
|
|
|||
Loading…
Reference in a new issue