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

Method sqlQuery

ent/share_query.go:568–598  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

566}
567
568func (sq *ShareQuery) sqlQuery(ctx context.Context) *sql.Selector {
569 builder := sql.Dialect(sq.driver.Dialect())
570 t1 := builder.Table(share.Table)
571 columns := sq.ctx.Fields
572 if len(columns) == 0 {
573 columns = share.Columns
574 }
575 selector := builder.Select(t1.Columns(columns...)...).From(t1)
576 if sq.sql != nil {
577 selector = sq.sql
578 selector.Select(selector.Columns(columns...)...)
579 }
580 if sq.ctx.Unique != nil && *sq.ctx.Unique {
581 selector.Distinct()
582 }
583 for _, p := range sq.predicates {
584 p(selector)
585 }
586 for _, p := range sq.order {
587 p(selector)
588 }
589 if offset := sq.ctx.Offset; offset != nil {
590 // limit is mandatory for offset clause. We start
591 // with default value, and override it below if needed.
592 selector.Offset(*offset).Limit(math.MaxInt32)
593 }
594 if limit := sq.ctx.Limit; limit != nil {
595 selector.Limit(*limit)
596 }
597 return selector
598}
599
600// ShareGroupBy is the group-by builder for Share entities.
601type ShareGroupBy struct {

Callers 4

QueryUserMethod · 0.95
QueryFileMethod · 0.95
sqlScanMethod · 0.45
sqlScanMethod · 0.45

Calls 5

pFunction · 0.85
DialectMethod · 0.80
LimitMethod · 0.65
OffsetMethod · 0.65
SelectMethod · 0.45

Tested by

no test coverage detected