diff options
| author | 2021-08-29 15:41:41 +0100 | |
|---|---|---|
| committer | 2021-08-29 16:41:41 +0200 | |
| commit | ed462245730bd7832019bd43e0bc1c9d1c055e8e (patch) | |
| tree | 1caad78ea6aabf5ea93c93a8ade97176b4889500 /vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go | |
| parent | Mention fixup (#167) (diff) | |
| download | gotosocial-ed462245730bd7832019bd43e0bc1c9d1c055e8e.tar.xz | |
Add SQLite support, fix un-thread-safe DB caches, small performance f… (#172)
* Add SQLite support, fix un-thread-safe DB caches, small performance fixes
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
* add SQLite licenses to README
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
* appease the linter, and fix my dumbass-ery
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
* make requested changes
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
* add back comment
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
Diffstat (limited to 'vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go')
| -rw-r--r-- | vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go new file mode 100644 index 000000000..44c50c2e9 --- /dev/null +++ b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go @@ -0,0 +1,28 @@ +package sqlitedialect + +import ( + "fmt" + "reflect" + + "github.com/uptrace/bun/schema" +) + +func scanner(typ reflect.Type) schema.ScannerFunc { + if typ.Kind() == reflect.Interface { + return scanInterface + } + return schema.Scanner(typ) +} + +func scanInterface(dest reflect.Value, src interface{}) error { + if dest.IsNil() { + dest.Set(reflect.ValueOf(src)) + return nil + } + + dest = dest.Elem() + if fn := scanner(dest.Type()); fn != nil { + return fn(dest, src) + } + return fmt.Errorf("bun: can't scan %#v into %s", src, dest.Type()) +} |
