File tree Expand file tree Collapse file tree 4 files changed +21
-21
lines changed Expand file tree Collapse file tree 4 files changed +21
-21
lines changed Original file line number Diff line number Diff line change @@ -1090,7 +1090,7 @@ fn open_loop(
1090
1090
if !try_index_cover (
1091
1091
program,
1092
1092
related_columns,
1093
- & table_reference,
1093
+ table_reference,
1094
1094
index_cursor_id,
1095
1095
table_cursor_id,
1096
1096
) {
@@ -1172,15 +1172,16 @@ fn try_index_cover(
1172
1172
index_column_map. insert ( pos, index_column_map. len ( ) ) ;
1173
1173
}
1174
1174
1175
- let len = table. columns . len ( ) ;
1176
1175
let lower = ColumnBinding {
1177
1176
table : * table_index,
1178
1177
column : 0 ,
1179
1178
} ;
1180
-
1179
+ let upper = ColumnBinding {
1180
+ table : table_index + 1 ,
1181
+ column : 0 ,
1182
+ } ;
1181
1183
let is_cover = related_columns
1182
- . range ( lower..)
1183
- . take ( len)
1184
+ . range ( lower..upper)
1184
1185
. all ( |binding| index_column_map. contains_key ( & binding. column ) ) ;
1185
1186
if is_cover {
1186
1187
program
Original file line number Diff line number Diff line change @@ -1976,20 +1976,19 @@ pub fn translate_expr(
1976
1976
column : columns_mapping[ column] ,
1977
1977
dest : target_register,
1978
1978
} ) ;
1979
+ } else if * is_rowid_alias {
1980
+ program. emit_insn ( Insn :: RowId {
1981
+ cursor_id,
1982
+ dest : target_register,
1983
+ } ) ;
1979
1984
} else {
1980
- if * is_rowid_alias {
1981
- program. emit_insn ( Insn :: RowId {
1982
- cursor_id,
1983
- dest : target_register,
1984
- } ) ;
1985
- } else {
1986
- program. emit_insn ( Insn :: Column {
1987
- cursor_id,
1988
- column : * column,
1989
- dest : target_register,
1990
- } ) ;
1991
- }
1985
+ program. emit_insn ( Insn :: Column {
1986
+ cursor_id,
1987
+ column : * column,
1988
+ dest : target_register,
1989
+ } ) ;
1992
1990
}
1991
+
1993
1992
let column = tbl_ref. table . get_column_at ( * column) ;
1994
1993
maybe_apply_affinity ( column. ty , target_register, program) ;
1995
1994
Ok ( target_register)
Original file line number Diff line number Diff line change @@ -846,10 +846,10 @@ fn one_select_related_columns(
846
846
}
847
847
}
848
848
if let Some ( from) = from {
849
- from_clause_related_columns ( & from, related_columns, referenced_tables) ?;
849
+ from_clause_related_columns ( from, related_columns, referenced_tables) ?;
850
850
}
851
851
if let Some ( expr) = where_clause {
852
- expr_related_columns ( & expr, related_columns, referenced_tables) ?;
852
+ expr_related_columns ( expr, related_columns, referenced_tables) ?;
853
853
}
854
854
if let Some ( group_by) = group_by {
855
855
for expr in group_by. exprs . iter ( ) {
@@ -861,7 +861,7 @@ fn one_select_related_columns(
861
861
}
862
862
if let Some ( windows) = window_clause {
863
863
for window in windows. iter ( ) . map ( |window| & window. window ) {
864
- window_related_columns ( & window, related_columns, referenced_tables) ?;
864
+ window_related_columns ( window, related_columns, referenced_tables) ?;
865
865
}
866
866
}
867
867
}
Original file line number Diff line number Diff line change @@ -1840,7 +1840,7 @@ impl Program {
1840
1840
}
1841
1841
1842
1842
#[ inline]
1843
- fn deferred_seek < ' a > (
1843
+ fn deferred_seek (
1844
1844
deferred_seek : & mut Option < ( CursorID , CursorID ) > ,
1845
1845
cursors : & mut BTreeMap < CursorID , Box < dyn Cursor > > ,
1846
1846
) -> Result < bool > {
You can’t perform that action at this time.
0 commit comments