@@ -898,16 +898,53 @@ pgroup:add('test_multipart_primary_index', function(g)
898898 })
899899
900900 local conditions = {{' =' , ' primary' , 0 }}
901- local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions })
901+ local result_0 , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions })
902902 t .assert_equals (err , nil )
903- local objects = crud .unflatten_rows (result .rows , result .metadata )
903+ local objects = crud .unflatten_rows (result_0 .rows , result_0 .metadata )
904904 t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {1 , 2 , 3 }))
905905
906+ local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions ,
907+ {after = result_0 .rows [1 ]}})
908+ t .assert_equals (err , nil )
909+ local objects = crud .unflatten_rows (result .rows , result .metadata )
910+ t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {2 , 3 }))
911+
912+ local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions ,
913+ {after = result_0 .rows [3 ], first = - 2 }})
914+ t .assert_equals (err , nil )
915+ local objects = crud .unflatten_rows (result .rows , result .metadata )
916+ t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {1 , 2 }))
917+
918+ local new_conditions = {{' =' , ' y' , 1 }, {' =' , ' primary' , 0 }}
919+ local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , new_conditions ,
920+ {after = result_0 .rows [3 ], first = - 2 }})
921+ t .assert_equals (err , nil )
922+ local objects = crud .unflatten_rows (result .rows , result .metadata )
923+ t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {2 }))
924+
906925 local conditions = {{' =' , ' primary' , {0 , 2 }}}
907926 local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions })
908927 t .assert_equals (err , nil )
909928 local objects = crud .unflatten_rows (result .rows , result .metadata )
910929 t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {3 }))
930+
931+ local conditions_ge = {{' >=' , ' primary' , 0 }}
932+ local result_ge_0 , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions_ge })
933+ t .assert_equals (err , nil )
934+ local objects = crud .unflatten_rows (result_ge_0 .rows , result_ge_0 .metadata )
935+ t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {1 , 2 , 3 , 4 , 5 }))
936+
937+ local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions_ge ,
938+ {after = result_ge_0 .rows [1 ]}})
939+ t .assert_equals (err , nil )
940+ local objects = crud .unflatten_rows (result .rows , result .metadata )
941+ t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {2 , 3 , 4 , 5 }))
942+
943+ local result , err = g .cluster .main_server .net_box :call (' crud.select' , {' coord' , conditions_ge ,
944+ {after = result_ge_0 .rows [3 ], first = - 3 }})
945+ t .assert_equals (err , nil )
946+ local objects = crud .unflatten_rows (result .rows , result .metadata )
947+ t .assert_equals (objects , helpers .get_objects_by_idxs (coords , {1 , 2 }))
911948end )
912949
913950pgroup :add (' test_select_partial_result_bad_input' , function (g )
@@ -1424,8 +1461,6 @@ pgroup:add('test_jsonpath_index_field_pagination', function(g)
14241461 local objects = crud .unflatten_rows (result .rows , result .metadata )
14251462 t .assert_equals (objects , helpers .get_objects_by_idxs (cars , {1 , 2 }))
14261463
1427- --[==[
1428- -- Uncomment after https://github.com/tarantool/crud/issues/170
14291464 -- Pagination (secondary index - 1 field)
14301465 local result , err = g .cluster .main_server .net_box :call (' crud.select' ,
14311466 {' cars' , {{' ==' , ' data_index' , ' Yellow' }}, {first = 2 }})
@@ -1445,7 +1480,6 @@ pgroup:add('test_jsonpath_index_field_pagination', function(g)
14451480 local result , err = g .cluster .main_server .net_box :call (' crud.select' ,
14461481 {' cars' , {{' ==' , ' data_index' , ' Yellow' }}, {first = - 2 , after = result .rows [1 ]}})
14471482 t .assert_equals (err , nil )
1448- ]==]
14491483
14501484 local objects = crud .unflatten_rows (result .rows , result .metadata )
14511485 t .assert_equals (objects , helpers .get_objects_by_idxs (cars , {1 , 2 }))
0 commit comments