MCPcopy Index your code
hub / github.com/cloudreve/cloudreve / sqlScan

Method sqlScan

ent/group_query.go:661–680  ·  view source on GitHub ↗
(ctx context.Context, root *GroupQuery, v any)

Source from the content-addressed store, hash-verified

659}
660
661func (gs *GroupSelect) sqlScan(ctx context.Context, root *GroupQuery, v any) error {
662 selector := root.sqlQuery(ctx)
663 aggregation := make([]string, 0, len(gs.fns))
664 for _, fn := range gs.fns {
665 aggregation = append(aggregation, fn(selector))
666 }
667 switch n := len(*gs.selector.flds); {
668 case n == 0 && len(aggregation) > 0:
669 selector.Select(aggregation...)
670 case n != 0 && len(aggregation) > 0:
671 selector.AppendSelect(aggregation...)
672 }
673 rows := &sql.Rows{}
674 query, args := selector.Query()
675 if err := gs.driver.Query(ctx, query, args, rows); err != nil {
676 return err
677 }
678 defer rows.Close()
679 return sql.ScanSlice(rows, v)
680}

Callers

nothing calls this directly

Calls 4

CloseMethod · 0.65
sqlQueryMethod · 0.45
SelectMethod · 0.45
QueryMethod · 0.45

Tested by

no test coverage detected