(sctx *super.Context, pool *Pool)
| 309 | } |
| 310 | |
| 311 | func ImportComparator(sctx *super.Context, pool *Pool) *expr.Comparator { |
| 312 | var exprs []expr.SortExpr |
| 313 | for _, s := range pool.SortKeys { |
| 314 | exprs = append(exprs, expr.NewSortExpr(expr.NewDottedExpr(sctx, s.Key), s.Order, s.Order.NullsMax(true))) |
| 315 | } |
| 316 | var o order.Which |
| 317 | if !pool.SortKeys.IsNil() { |
| 318 | o = pool.SortKeys.Primary().Order |
| 319 | } |
| 320 | // valueAsBytes establishes a total order. |
| 321 | exprs = append(exprs, expr.NewSortExpr(&valueAsBytes{}, o, o.NullsMax(true))) |
| 322 | return expr.NewComparator(exprs...).WithMissingAsNull() |
| 323 | } |
| 324 | |
| 325 | type valueAsBytes struct{} |
| 326 |
no test coverage detected