MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / querySpec

Method querySpec

ent/entity_query.go:620–664  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

618}
619
620func (eq *EntityQuery) querySpec() *sqlgraph.QuerySpec {
621 _spec := sqlgraph.NewQuerySpec(entity.Table, entity.Columns, sqlgraph.NewFieldSpec(entity.FieldID, field.TypeInt))
622 _spec.From = eq.sql
623 if unique := eq.ctx.Unique; unique != nil {
624 _spec.Unique = *unique
625 } else if eq.path != nil {
626 _spec.Unique = true
627 }
628 if fields := eq.ctx.Fields; len(fields) > 0 {
629 _spec.Node.Columns = make([]string, 0, len(fields))
630 _spec.Node.Columns = append(_spec.Node.Columns, entity.FieldID)
631 for i := range fields {
632 if fields[i] != entity.FieldID {
633 _spec.Node.Columns = append(_spec.Node.Columns, fields[i])
634 }
635 }
636 if eq.withUser != nil {
637 _spec.Node.AddColumnOnce(entity.FieldCreatedBy)
638 }
639 if eq.withStoragePolicy != nil {
640 _spec.Node.AddColumnOnce(entity.FieldStoragePolicyEntities)
641 }
642 }
643 if ps := eq.predicates; len(ps) > 0 {
644 _spec.Predicate = func(selector *sql.Selector) {
645 for i := range ps {
646 ps[i](selector)
647 }
648 }
649 }
650 if limit := eq.ctx.Limit; limit != nil {
651 _spec.Limit = *limit
652 }
653 if offset := eq.ctx.Offset; offset != nil {
654 _spec.Offset = *offset
655 }
656 if ps := eq.order; len(ps) > 0 {
657 _spec.Order = func(selector *sql.Selector) {
658 for i := range ps {
659 ps[i](selector)
660 }
661 }
662 }
663 return _spec
664}
665
666func (eq *EntityQuery) sqlQuery(ctx context.Context) *sql.Selector {
667 builder := sql.Dialect(eq.driver.Dialect())

Callers 2

sqlAllMethod · 0.95
sqlCountMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected