@@ -680,21 +680,10 @@ func pushdownIndexesToTable(a *Analyzer, tableNode NameableNode, indexes map[str
680680 if table == nil {
681681 return n , transform .SameTree , nil
682682 }
683- if indexAddressableTable , ok := table .(sql.IndexAddressableTable ); ok {
683+ if _ , ok := table .(sql.IndexAddressableTable ); ok {
684684 indexLookup , ok := indexes [tableNode .Name ()]
685685 if ok {
686686 a .Log ("table %q transformed with pushdown of index" , tableNode .Name ())
687-
688- // Only pass lookup into resolved table if it's Parallelizable
689- if _ , ok := indexAddressableTable .(sql.ParallelizedIndexAddressableTable ); ok {
690- indexedTable := indexAddressableTable .WithIndexLookup (indexLookup .lookup )
691- newResolvedTable , err := n .WithTable (indexedTable )
692- if err != nil {
693- return nil , transform .SameTree , err
694- }
695- return plan .NewStaticIndexedTableAccess (newResolvedTable , indexLookup .lookup , indexLookup .indexes [0 ], indexLookup .fields ), transform .NewTree , nil
696-
697- }
698687 return plan .NewStaticIndexedTableAccess (n , indexLookup .lookup , indexLookup .indexes [0 ], indexLookup .fields ), transform .NewTree , nil
699688 }
700689 }
@@ -951,6 +940,10 @@ func replacePkSort(ctx *sql.Context, a *Analyzer, n sql.Node, scope *Scope, sel
951940 // Extract primary index
952941 var pkIndex sql.Index
953942 for _ , idx := range idxs {
943+ oi , ok := idx .(sql.OrderedIndex )
944+ if ! ok || oi .Order () != sql .IndexOrderAsc {
945+ continue
946+ }
954947 if idx .ID () == "PRIMARY" {
955948 pkIndex = idx
956949 break
0 commit comments