From 55f42bc03809b788249594b190801485a236431b Mon Sep 17 00:00:00 2001 From: Alex Grintsvayg Date: Thu, 24 Aug 2017 11:58:13 -0400 Subject: [PATCH] just use interfaces --- boilingcore/imports.go | 1 - templates/23_merge.tpl | 7 +------ templates/singleton/boil_queries.tpl | 6 +++--- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/boilingcore/imports.go b/boilingcore/imports.go index 2c31c63..528a946 100644 --- a/boilingcore/imports.go +++ b/boilingcore/imports.go @@ -182,7 +182,6 @@ func newImporter() importer { imp.Singleton = mapImports{ "boil_queries": imports{ standard: importList{ - `"database/sql"`, `"fmt"`, `"reflect"`, `"strconv"`, diff --git a/templates/23_merge.tpl b/templates/23_merge.tpl index d84ed28..9f1af10 100644 --- a/templates/23_merge.tpl +++ b/templates/23_merge.tpl @@ -69,12 +69,7 @@ func Merge{{$tableNamePlural}}(exec boil.Executor, primaryID uint64, secondaryID {{- end }} } - sqlTx, ok := tx.(*sql.Tx) - if !ok { - return errors.New("tx must be an sql.Tx") - } - - err = mergeModels(sqlTx, primaryID, secondaryID, foreignKeys, conflictingKeys) + err = mergeModels(tx, primaryID, secondaryID, foreignKeys, conflictingKeys) if err != nil { return err } diff --git a/templates/singleton/boil_queries.tpl b/templates/singleton/boil_queries.tpl index 0d3c812..89b0e74 100644 --- a/templates/singleton/boil_queries.tpl +++ b/templates/singleton/boil_queries.tpl @@ -20,7 +20,7 @@ func NewQuery(exec boil.Executor, mods ...qm.QueryMod) *queries.Query { return q } -func mergeModels(tx *sql.Tx, primaryID uint64, secondaryID uint64, foreignKeys []foreignKey, conflictingKeys []conflictingUniqueKey) error { +func mergeModels(tx boil.Executor, primaryID uint64, secondaryID uint64, foreignKeys []foreignKey, conflictingKeys []conflictingUniqueKey) error { if len(foreignKeys) < 1 { return nil } @@ -48,7 +48,7 @@ func mergeModels(tx *sql.Tx, primaryID uint64, secondaryID uint64, foreignKeys [ return checkMerge(tx, foreignKeys) } -func deleteConflictsBeforeMerge(tx *sql.Tx, conflict conflictingUniqueKey, primaryID uint64, secondaryID uint64) error { +func deleteConflictsBeforeMerge(tx boil.Executor, conflict conflictingUniqueKey, primaryID uint64, secondaryID uint64) error { conflictingColumns := strmangle.SetComplement(conflict.columns, []string{conflict.objectIdColumn}) if len(conflictingColumns) < 1 { @@ -98,7 +98,7 @@ func deleteConflictsBeforeMerge(tx *sql.Tx, conflict conflictingUniqueKey, prima return nil } -func checkMerge(tx *sql.Tx, foreignKeys []foreignKey) error { +func checkMerge(tx boil.Executor, foreignKeys []foreignKey) error { uniqueColumns := []interface{}{} uniqueColumnNames := map[string]bool{} handledTablesColumns := map[string]bool{}