1 Star 1 Fork 0

bigbase / pg

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
model_scan.go 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
package orm
import (
"fmt"
"reflect"
"github.com/go-pg/pg/types"
)
type scanValuesModel struct {
Discard
values []interface{}
}
var _ Model = scanValuesModel{}
func Scan(values ...interface{}) scanValuesModel {
return scanValuesModel{
values: values,
}
}
func (scanValuesModel) useQueryOne() bool {
return true
}
func (m scanValuesModel) NewModel() ColumnScanner {
return m
}
func (m scanValuesModel) ScanColumn(colIdx int, colName string, rd types.Reader, n int) error {
if colIdx >= len(m.values) {
return fmt.Errorf("pg: no Scan var for column index=%d name=%q",
colIdx, colName)
}
return types.Scan(m.values[colIdx], rd, n)
}
//------------------------------------------------------------------------------
type scanReflectValuesModel struct {
Discard
values []reflect.Value
}
var _ Model = scanReflectValuesModel{}
func scanReflectValues(values []reflect.Value) scanReflectValuesModel {
return scanReflectValuesModel{
values: values,
}
}
func (scanReflectValuesModel) useQueryOne() bool {
return true
}
func (m scanReflectValuesModel) NewModel() ColumnScanner {
return m
}
func (m scanReflectValuesModel) ScanColumn(colIdx int, colName string, rd types.Reader, n int) error {
if colIdx >= len(m.values) {
return fmt.Errorf("pg: no Scan var for column index=%d name=%q",
colIdx, colName)
}
return types.ScanValue(m.values[colIdx], rd, n)
}
Go
1
https://gitee.com/bigbase/pg.git
git@gitee.com:bigbase/pg.git
bigbase
pg
pg
v8.0.7

搜索帮助