summaryrefslogtreecommitdiff
path: root/vendor/github.com/go-pg/pg/v10/orm/composite.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-08-25 15:34:33 +0200
committerLibravatar GitHub <noreply@github.com>2021-08-25 15:34:33 +0200
commit2dc9fc1626507bb54417fc4a1920b847cafb27a2 (patch)
tree4ddeac479b923db38090aac8bd9209f3646851c1 /vendor/github.com/go-pg/pg/v10/orm/composite.go
parentManually approves followers (#146) (diff)
downloadgotosocial-2dc9fc1626507bb54417fc4a1920b847cafb27a2.tar.xz
Pg to bun (#148)
* start moving to bun * changing more stuff * more * and yet more * tests passing * seems stable now * more big changes * small fix * little fixes
Diffstat (limited to 'vendor/github.com/go-pg/pg/v10/orm/composite.go')
-rw-r--r--vendor/github.com/go-pg/pg/v10/orm/composite.go100
1 files changed, 0 insertions, 100 deletions
diff --git a/vendor/github.com/go-pg/pg/v10/orm/composite.go b/vendor/github.com/go-pg/pg/v10/orm/composite.go
deleted file mode 100644
index d2e48a8b3..000000000
--- a/vendor/github.com/go-pg/pg/v10/orm/composite.go
+++ /dev/null
@@ -1,100 +0,0 @@
-package orm
-
-import (
- "fmt"
- "reflect"
-
- "github.com/go-pg/pg/v10/internal/pool"
- "github.com/go-pg/pg/v10/types"
-)
-
-func compositeScanner(typ reflect.Type) types.ScannerFunc {
- if typ.Kind() == reflect.Ptr {
- typ = typ.Elem()
- }
-
- var table *Table
- return func(v reflect.Value, rd types.Reader, n int) error {
- if n == -1 {
- v.Set(reflect.Zero(v.Type()))
- return nil
- }
-
- if table == nil {
- table = GetTable(typ)
- }
- if v.Kind() == reflect.Ptr {
- if v.IsNil() {
- v.Set(reflect.New(v.Type().Elem()))
- }
- v = v.Elem()
- }
-
- p := newCompositeParser(rd)
- var elemReader *pool.BytesReader
-
- var firstErr error
- for i := 0; ; i++ {
- elem, err := p.NextElem()
- if err != nil {
- if err == errEndOfComposite {
- break
- }
- return err
- }
-
- if i >= len(table.Fields) {
- if firstErr == nil {
- firstErr = fmt.Errorf(
- "pg: %s has %d fields, but composite requires at least %d values",
- table, len(table.Fields), i)
- }
- continue
- }
-
- if elemReader == nil {
- elemReader = pool.NewBytesReader(elem)
- } else {
- elemReader.Reset(elem)
- }
-
- field := table.Fields[i]
- if elem == nil {
- err = field.ScanValue(v, elemReader, -1)
- } else {
- err = field.ScanValue(v, elemReader, len(elem))
- }
- if err != nil && firstErr == nil {
- firstErr = err
- }
- }
-
- return firstErr
- }
-}
-
-func compositeAppender(typ reflect.Type) types.AppenderFunc {
- if typ.Kind() == reflect.Ptr {
- typ = typ.Elem()
- }
-
- var table *Table
- return func(b []byte, v reflect.Value, quote int) []byte {
- if table == nil {
- table = GetTable(typ)
- }
- if v.Kind() == reflect.Ptr {
- v = v.Elem()
- }
-
- b = append(b, "ROW("...)
- for i, f := range table.Fields {
- if i > 0 {
- b = append(b, ',')
- }
- b = f.AppendValue(b, v, quote)
- }
- b = append(b, ')')
- return b
- }
-}