@@ -166,6 +166,20 @@ describe("canSkipPage", () => {
166166 const bigPage : PageInfo = { byteOffset : 0n , byteLength : 100 , rowCount : 50 , nullCount : 0 , minValue : 10n , maxValue : 90n } ;
167167 expect ( canSkipPage ( bigPage , [ { column : "x" , op : "in" , value : [ 1 , 5 , 95 ] } ] , "x" ) ) . toBe ( true ) ;
168168 } ) ;
169+
170+ it ( "skips uniform page where value is in NOT IN list" , ( ) => {
171+ const uniform : PageInfo = { byteOffset : 0n , byteLength : 100 , rowCount : 50 , nullCount : 0 , minValue : 42 , maxValue : 42 } ;
172+ expect ( canSkipPage ( uniform , [ { column : "x" , op : "not_in" , value : [ 10 , 42 , 99 ] } ] , "x" ) ) . toBe ( true ) ;
173+ } ) ;
174+
175+ it ( "does not skip uniform page where value is not in NOT IN list" , ( ) => {
176+ const uniform : PageInfo = { byteOffset : 0n , byteLength : 100 , rowCount : 50 , nullCount : 0 , minValue : 42 , maxValue : 42 } ;
177+ expect ( canSkipPage ( uniform , [ { column : "x" , op : "not_in" , value : [ 10 , 99 ] } ] , "x" ) ) . toBe ( false ) ;
178+ } ) ;
179+
180+ it ( "does not skip range page for NOT IN" , ( ) => {
181+ expect ( canSkipPage ( page , [ { column : "x" , op : "not_in" , value : [ 10 , 50 , 90 ] } ] , "x" ) ) . toBe ( false ) ;
182+ } ) ;
169183} ) ;
170184
171185describe ( "assembleRows" , ( ) => {
0 commit comments