diff --git a/scanner.go b/scanner.go index 8377283..3af1598 100644 --- a/scanner.go +++ b/scanner.go @@ -1,5 +1,7 @@ package dsc +import "github.com/viant/toolbox" + type scanner struct { scanner Scanner } @@ -9,10 +11,9 @@ func (s *scanner) Columns() ([]string, error) { } func (s *scanner) Scan(destinations ...interface{}) error { - if len(destinations) == 1 { - - if aMap, ok := destinations[0].(map[string]interface{}); ok { + if toolbox.IsMap(destinations[0]) { + aMap := toolbox.AsMap(destinations[0]) values, columns, err := ScanRow(s) if err != nil { return err @@ -21,17 +22,6 @@ func (s *scanner) Scan(destinations ...interface{}) error { aMap[column] = values[i] } return nil - - } - if aMap, ok := destinations[0].(*map[string]interface{}); ok { - values, columns, err := ScanRow(s) - if err != nil { - return err - } - for i, column := range columns { - (*aMap)[column] = values[i] - } - return nil } } err := s.scanner.Scan(destinations...) diff --git a/sql_scanner.go b/sql_scanner.go index 1071800..6b54f76 100644 --- a/sql_scanner.go +++ b/sql_scanner.go @@ -38,7 +38,6 @@ func (s *SQLScanner) Scan(destinations ...interface{}) error { return nil } - func NewSQLScanner(query *QueryStatement, config *Config, columns []string) *SQLScanner { converter := *toolbox.NewColumnConverter(config.GetDateLayout()) if len(columns) == 0 { @@ -50,4 +49,3 @@ func NewSQLScanner(query *QueryStatement, config *Config, columns []string) *SQL converter: converter, } } -