Remove binary option, add into mode
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
DataHoarder 2022-01-16 00:36:00 +01:00
parent 09d2dec26a
commit 8db91fbdda

View file

@ -83,15 +83,15 @@ func PostgresHashFileResult(result *HashFileResult, settings PostgresSettings) {
hMd5, _ := hex.DecodeString(result.MD5)
hSha256, _ := hex.DecodeString(result.SHA256)
switch {
case settings.Binary && settings.Mode == "insert":
switch settings.Mode {
case "insert_binary":
rows, err = settings.InsertSTMT.Query(result.Path, hMd5, hSha256)
case settings.Binary && settings.Mode == "update":
case "update_binary":
rows, err = settings.UpdateSTMT.Query(result.Path, hMd5, hSha256)
break
case !settings.Binary && settings.Mode == "insert":
case "insert":
rows, err = settings.InsertSTMT.Query(result.Path, result.MD5, result.SHA256)
case !settings.Binary && settings.Mode == "update":
case "update":
rows, err = settings.UpdateSTMT.Query(result.Path, result.MD5, result.SHA256)
break
}
@ -105,9 +105,7 @@ func PostgresHashFileResult(result *HashFileResult, settings PostgresSettings) {
}
type PostgresSettings struct {
Handle *sql.DB
ConnStr string
Binary bool
Mode string
InsertSTMT *sql.Stmt
UpdateSTMT *sql.Stmt
@ -124,8 +122,7 @@ func main() {
outputFormat := flag.String("format", "text", "Output formats. Allowed: text, json, postgres")
pgConnStr := flag.String("pg_connstr", "", "Postgres connection string for postgres output format")
pgBinary := flag.Bool("pg_binary", false, "Postgres binary hash mode")
pgMode := flag.String("pg_mode", "insert", "Postgres output mode, insert or update")
pgMode := flag.String("pg_mode", "insert", "Postgres output mode, insert or update, additionally _binary")
pgTable := flag.String("pg_table", "files", "Postgres output table")
pgPathRow := flag.String("pg_row_path", "path", "Postgres output row: path")
pgMd5Row := flag.String("pg_row_md5", "md5", "Postgres output row: md5")
@ -134,9 +131,7 @@ func main() {
flag.Parse()
pgSettings := PostgresSettings{
nil,
*pgConnStr,
*pgBinary,
*pgMode,
nil,
nil,
@ -147,8 +142,9 @@ func main() {
if err != nil {
log.Fatal(err)
}
pgSettings.Handle = handle
pgSettings.InsertSTMT, err = pgSettings.Handle.Prepare(fmt.Sprintf("INSERT INTO %s (%s, %s, %s) VALUES ($1, $2, $3);",
defer handle.Close()
pgSettings.InsertSTMT, err = handle.Prepare(fmt.Sprintf("INSERT INTO %s (%s, %s, %s) VALUES ($1, $2, $3);",
pq.QuoteIdentifier(*pgTable),
pq.QuoteIdentifier(*pgPathRow),
pq.QuoteIdentifier(*pgMd5Row),
@ -157,7 +153,9 @@ func main() {
if err != nil {
log.Fatal(err)
}
pgSettings.UpdateSTMT, err = pgSettings.Handle.Prepare(fmt.Sprintf("UPDATE %s SET %s = $2, %s = $3 WHERE %s = $1;",
defer pgSettings.InsertSTMT.Close()
pgSettings.UpdateSTMT, err = handle.Prepare(fmt.Sprintf("UPDATE %s SET %s = $2, %s = $3 WHERE %s = $1;",
pq.QuoteIdentifier(*pgTable),
pq.QuoteIdentifier(*pgPathRow),
pq.QuoteIdentifier(*pgMd5Row),
@ -166,6 +164,7 @@ func main() {
if err != nil {
log.Fatal(err)
}
defer pgSettings.UpdateSTMT.Close()
}
var taskCount int64