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

Method sqlScan

ent/setting_query.go:507–526  ·  view source on GitHub ↗
(ctx context.Context, root *SettingQuery, v any)

Source from the content-addressed store, hash-verified

505}
506
507func (ss *SettingSelect) sqlScan(ctx context.Context, root *SettingQuery, v any) error {
508 selector := root.sqlQuery(ctx)
509 aggregation := make([]string, 0, len(ss.fns))
510 for _, fn := range ss.fns {
511 aggregation = append(aggregation, fn(selector))
512 }
513 switch n := len(*ss.selector.flds); {
514 case n == 0 && len(aggregation) > 0:
515 selector.Select(aggregation...)
516 case n != 0 && len(aggregation) > 0:
517 selector.AppendSelect(aggregation...)
518 }
519 rows := &sql.Rows{}
520 query, args := selector.Query()
521 if err := ss.driver.Query(ctx, query, args, rows); err != nil {
522 return err
523 }
524 defer rows.Close()
525 return sql.ScanSlice(rows, v)
526}

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