@@ -170,6 +170,10 @@ func replaceIdxSortHelper(ctx *sql.Context, scope *plan.Scope, node sql.Node, so
170
170
if sortNode == nil {
171
171
continue
172
172
}
173
+ // TODO: allow for reversed indexes; for some reason this breaks
174
+ if sortNode .SortFields [0 ].Order == sql .Descending {
175
+ continue
176
+ }
173
177
newLeft , sameLeft , errLeft := replaceIdxSortHelper (ctx , scope , c .Left (), sortNode )
174
178
if errLeft != nil {
175
179
return nil , transform .SameTree , errLeft
@@ -179,27 +183,8 @@ func replaceIdxSortHelper(ctx *sql.Context, scope *plan.Scope, node sql.Node, so
179
183
return nil , transform .SameTree , errRight
180
184
}
181
185
if sameLeft && sameRight {
182
- newChildren [i ] = c
183
186
continue
184
187
}
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
- }
203
188
newChildren [i ], err = c .WithChildren (newLeft , newRight )
204
189
if err != nil {
205
190
return nil , transform .SameTree , err
0 commit comments