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

Method sqlScan

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

Source from the content-addressed store, hash-verified

457}
458
459func (sgb *SettingGroupBy) sqlScan(ctx context.Context, root *SettingQuery, v any) error {
460 selector := root.sqlQuery(ctx).Select()
461 aggregation := make([]string, 0, len(sgb.fns))
462 for _, fn := range sgb.fns {
463 aggregation = append(aggregation, fn(selector))
464 }
465 if len(selector.SelectedColumns()) == 0 {
466 columns := make([]string, 0, len(*sgb.flds)+len(sgb.fns))
467 for _, f := range *sgb.flds {
468 columns = append(columns, selector.C(f))
469 }
470 columns = append(columns, aggregation...)
471 selector.Select(columns...)
472 }
473 selector.GroupBy(selector.Columns(*sgb.flds...)...)
474 if err := selector.Err(); err != nil {
475 return err
476 }
477 rows := &sql.Rows{}
478 query, args := selector.Query()
479 if err := sgb.build.driver.Query(ctx, query, args, rows); err != nil {
480 return err
481 }
482 defer rows.Close()
483 return sql.ScanSlice(rows, v)
484}
485
486// SettingSelect is the builder for selecting fields of Setting entities.
487type SettingSelect struct {

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected