Skip to content

Commit 4a6dad3

Browse files
author
James Cor
committed
no reverse
1 parent 6a56a38 commit 4a6dad3

File tree

1 file changed

+4
-19
lines changed

1 file changed

+4
-19
lines changed

sql/analyzer/replace_sort.go

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,10 @@ func replaceIdxSortHelper(ctx *sql.Context, scope *plan.Scope, node sql.Node, so
170170
if sortNode == nil {
171171
continue
172172
}
173+
// TODO: allow for reversed indexes; for some reason this breaks
174+
if sortNode.SortFields[0].Order == sql.Descending {
175+
continue
176+
}
173177
newLeft, sameLeft, errLeft := replaceIdxSortHelper(ctx, scope, c.Left(), sortNode)
174178
if errLeft != nil {
175179
return nil, transform.SameTree, errLeft
@@ -179,27 +183,8 @@ func replaceIdxSortHelper(ctx *sql.Context, scope *plan.Scope, node sql.Node, so
179183
return nil, transform.SameTree, errRight
180184
}
181185
if sameLeft && sameRight {
182-
newChildren[i] = c
183186
continue
184187
}
185-
// No need to check all SortField orders because of isValidSortFieldOrder
186-
c.IsReversed = sortNode.SortFields[0].Order == sql.Descending
187-
// either left or right has been reversed
188-
if (sameLeft != sameRight) && c.IsReversed {
189-
// If descending, then both Indexes must be reversed
190-
var reversible bool
191-
if sameLeft {
192-
newLeft, reversible, err = buildReverseIndexedTable(ctx, newLeft)
193-
} else if sameRight {
194-
newRight, reversible, err = buildReverseIndexedTable(ctx, newRight)
195-
}
196-
if err != nil {
197-
return nil, transform.SameTree, err
198-
}
199-
if !reversible {
200-
return nil, transform.SameTree, nil
201-
}
202-
}
203188
newChildren[i], err = c.WithChildren(newLeft, newRight)
204189
if err != nil {
205190
return nil, transform.SameTree, err

0 commit comments

Comments
 (0)