...

Source file src/github.com/doug-martin/goqu/v9/exp/order.go

Documentation: github.com/doug-martin/goqu/v9/exp

     1  package exp
     2  
     3  type (
     4  	orderedExpression struct {
     5  		sortExpression Expression
     6  		direction      SortDirection
     7  		nullSortType   NullSortType
     8  	}
     9  )
    10  
    11  // used internally to create a new SORT_ASC OrderedExpression
    12  func asc(exp Expression) OrderedExpression {
    13  	return NewOrderedExpression(exp, AscDir, NoNullsSortType)
    14  }
    15  
    16  // used internally to create a new SORT_DESC OrderedExpression
    17  func desc(exp Expression) OrderedExpression {
    18  	return NewOrderedExpression(exp, DescSortDir, NoNullsSortType)
    19  }
    20  
    21  // used internally to create a new SORT_ASC OrderedExpression
    22  func NewOrderedExpression(exp Expression, direction SortDirection, sortType NullSortType) OrderedExpression {
    23  	return orderedExpression{sortExpression: exp, direction: direction, nullSortType: sortType}
    24  }
    25  
    26  func (oe orderedExpression) Clone() Expression {
    27  	return NewOrderedExpression(oe.sortExpression, oe.direction, oe.nullSortType)
    28  }
    29  
    30  func (oe orderedExpression) Expression() Expression {
    31  	return oe
    32  }
    33  
    34  func (oe orderedExpression) SortExpression() Expression {
    35  	return oe.sortExpression
    36  }
    37  
    38  func (oe orderedExpression) IsAsc() bool {
    39  	return oe.direction == AscDir
    40  }
    41  
    42  func (oe orderedExpression) NullSortType() NullSortType {
    43  	return oe.nullSortType
    44  }
    45  
    46  func (oe orderedExpression) NullsFirst() OrderedExpression {
    47  	return NewOrderedExpression(oe.sortExpression, oe.direction, NullsFirstSortType)
    48  }
    49  
    50  func (oe orderedExpression) NullsLast() OrderedExpression {
    51  	return NewOrderedExpression(oe.sortExpression, oe.direction, NullsLastSortType)
    52  }
    53  

View as plain text