Mercurial > gemma
view pkg/imports/misc.go @ 2661:542d3441c2d8
Bring context.Context parameters to front.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 14 Mar 2019 18:31:59 +0100 |
parents | 2b4b9fa9812c |
children | a996f2ca9fa5 |
line wrap: on
line source
// SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package imports import ( "context" "database/sql" "fmt" "strings" ) type stringCounter map[string]int func (sc stringCounter) String() string { var b strings.Builder for t, c := range sc { if b.Len() > 0 { b.WriteString(", ") } b.WriteString(fmt.Sprintf("%s: %d", t, c)) } return b.String() } func Savepoint( ctx context.Context, tx *sql.Tx, name string, ) error { _, err := tx.ExecContext(ctx, "SAVEPOINT "+name) return err } func RollbackToSavepoint( ctx context.Context, tx *sql.Tx, name string, ) error { _, err := tx.ExecContext(ctx, "ROLLBACK TO SAVEPOINT "+name) return err } func ReleaseSavepoint( ctx context.Context, tx *sql.Tx, name string, ) error { _, err := tx.ExecContext(ctx, "RELEASE SAVEPOINT "+name) return err }