diff options
Diffstat (limited to 'vendor/github.com/go-pg/pg/v10/internal/pool/reader.go')
-rw-r--r-- | vendor/github.com/go-pg/pg/v10/internal/pool/reader.go | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/vendor/github.com/go-pg/pg/v10/internal/pool/reader.go b/vendor/github.com/go-pg/pg/v10/internal/pool/reader.go deleted file mode 100644 index b5d00807d..000000000 --- a/vendor/github.com/go-pg/pg/v10/internal/pool/reader.go +++ /dev/null @@ -1,80 +0,0 @@ -package pool - -import ( - "sync" -) - -type Reader interface { - Buffered() int - - Bytes() []byte - Read([]byte) (int, error) - ReadByte() (byte, error) - UnreadByte() error - ReadSlice(byte) ([]byte, error) - Discard(int) (int, error) - - // ReadBytes(fn func(byte) bool) ([]byte, error) - // ReadN(int) ([]byte, error) - ReadFull() ([]byte, error) - ReadFullTemp() ([]byte, error) -} - -type ColumnInfo struct { - Index int16 - DataType int32 - Name string -} - -type ColumnAlloc struct { - columns []ColumnInfo -} - -func NewColumnAlloc() *ColumnAlloc { - return new(ColumnAlloc) -} - -func (c *ColumnAlloc) Reset() { - c.columns = c.columns[:0] -} - -func (c *ColumnAlloc) New(index int16, name []byte) *ColumnInfo { - c.columns = append(c.columns, ColumnInfo{ - Index: index, - Name: string(name), - }) - return &c.columns[len(c.columns)-1] -} - -func (c *ColumnAlloc) Columns() []ColumnInfo { - return c.columns -} - -type ReaderContext struct { - *BufReader - ColumnAlloc *ColumnAlloc -} - -func NewReaderContext() *ReaderContext { - const bufSize = 1 << 20 // 1mb - return &ReaderContext{ - BufReader: NewBufReader(bufSize), - ColumnAlloc: NewColumnAlloc(), - } -} - -var readerPool = sync.Pool{ - New: func() interface{} { - return NewReaderContext() - }, -} - -func GetReaderContext() *ReaderContext { - rd := readerPool.Get().(*ReaderContext) - return rd -} - -func PutReaderContext(rd *ReaderContext) { - rd.ColumnAlloc.Reset() - readerPool.Put(rd) -} |