@@ -220,13 +220,13 @@ record Factory() implements ExpressionEvaluator.Factory {
220220 @ Override
221221 public ConstantTrueEvaluator get (DriverContext context ) {
222222 return new ConstantTrueEvaluator (context );
223- };
223+ }
224224
225225 @ Override
226226 public String toString () {
227227 return NAME ;
228228 }
229- };
229+ }
230230 }
231231
232232 public static final ExpressionEvaluator .Factory CONSTANT_TRUE_FACTORY = new ConstantTrueEvaluator .Factory ();
@@ -252,7 +252,7 @@ public String toString() {
252252 public long baseRamBytesUsed () {
253253 return BASE_RAM_BYTES_USED ;
254254 }
255-
255+
256256 record Factory () implements ExpressionEvaluator .Factory {
257257 @ Override
258258 public ConstantFalseEvaluator get (DriverContext context ) {
@@ -265,131 +265,166 @@ public String toString() {
265265 }
266266 };
267267 }
268- };
269268
270269 public static final ExpressionEvaluator .Factory CONSTANT_FALSE_FACTORY = new ConstantFalseEvaluator .Factory ();
271270
272- public static ExpressionEvaluator .Factory DoubleFactory (double value ) {
273- return new ExpressionEvaluator .Factory () {
271+ private record ConstantDoubleEvaluator (DriverContext context , double value ) implements ExpressionEvaluator {
272+
273+ private static final String NAME = "ConstantDouble" ;
274+ private static final long BASE_RAM_BYTES_USED = RamUsageEstimator .shallowSizeOfInstance (ConstantIntegerEvaluator .class );
275+
276+ @ Override
277+ public Block eval (Page page ) {
278+ return context .blockFactory ().newConstantDoubleBlockWith (value , page .getPositionCount ());
279+ }
280+
281+ @ Override
282+ public void close () {}
283+
284+ @ Override
285+ public long baseRamBytesUsed () {
286+ return BASE_RAM_BYTES_USED ;
287+ }
288+
289+ @ Override
290+ public String toString () {
291+ return NAME + "[" + value + "]" ;
292+ }
293+
294+ record Factory (double value ) implements ExpressionEvaluator .Factory {
274295 @ Override
275- public ExpressionEvaluator get (DriverContext driverContext ) {
276- return new ExpressionEvaluator () {
277- @ Override
278- public Block eval (Page page ) {
279- return driverContext .blockFactory ().newConstantDoubleBlockWith (value , page .getPositionCount ());
280- }
281-
282- @ Override
283- public void close () {
284-
285- }
286-
287- @ Override
288- public String toString () {
289- return CONSTANT_DOUBLE_NAME + "[" + value + "]" ;
290- }
291- };
296+ public ExpressionEvaluator get (DriverContext context ) {
297+ return new ConstantDoubleEvaluator (context , value );
292298 }
293299
294300 @ Override
295301 public String toString () {
296- return CONSTANT_DOUBLE_NAME + "[" + value + "]" ;
302+ return NAME + "[" + value + "]" ;
297303 }
298- };
304+ }
305+ }
306+
307+ public static ExpressionEvaluator .Factory DoubleFactory (double value ) {
308+ return new ConstantDoubleEvaluator .Factory (value );
299309 }
300310
301- private static final String CONSTANT_DOUBLE_NAME = "ConstantDouble" ;
311+ private record ConstantLongEvaluator ( DriverContext context , long value ) implements ExpressionEvaluator {
302312
303- public static ExpressionEvaluator .Factory LongFactory (long value ) {
304- return new ExpressionEvaluator .Factory () {
313+ private static final String NAME = "ConstantLong" ;
314+ private static final long BASE_RAM_BYTES_USED = RamUsageEstimator .shallowSizeOfInstance (ConstantIntegerEvaluator .class );
315+
316+ @ Override
317+ public Block eval (Page page ) {
318+ return context .blockFactory ().newConstantLongBlockWith (value , page .getPositionCount ());
319+ }
320+
321+ @ Override
322+ public void close () {}
323+
324+ @ Override
325+ public long baseRamBytesUsed () {
326+ return BASE_RAM_BYTES_USED ;
327+ }
328+
329+ @ Override
330+ public String toString () {
331+ return NAME + "[" + value + "]" ;
332+ }
333+
334+ record Factory (long value ) implements ExpressionEvaluator .Factory {
305335 @ Override
306- public ExpressionEvaluator get (DriverContext driverContext ) {
307- return new ExpressionEvaluator () {
308- @ Override
309- public Block eval (Page page ) {
310- return driverContext .blockFactory ().newConstantLongBlockWith (value , page .getPositionCount ());
311- }
312-
313- @ Override
314- public void close () {
315-
316- }
317-
318- @ Override
319- public String toString () {
320- return CONSTANT_LONG_NAME + "[" + value + "]" ;
321- }
322- };
336+ public ExpressionEvaluator get (DriverContext context ) {
337+ return new ConstantLongEvaluator (context , value );
323338 }
324339
325340 @ Override
326341 public String toString () {
327- return CONSTANT_LONG_NAME + "[" + value + "]" ;
342+ return NAME + "[" + value + "]" ;
328343 }
329- };
344+ }
330345 }
331346
332- private static final String CONSTANT_LONG_NAME = "ConstantLong" ;
347+ public static ExpressionEvaluator .Factory LongFactory (long value ) {
348+ return new ConstantLongEvaluator .Factory (value );
349+ }
333350
334- public static ExpressionEvaluator .Factory IntegerFactory (int value ) {
335- return new ExpressionEvaluator .Factory () {
351+ private record ConstantIntegerEvaluator (DriverContext context , int value ) implements ExpressionEvaluator {
352+
353+ private static final String NAME = "ConstantInteger" ;
354+ private static final long BASE_RAM_BYTES_USED = RamUsageEstimator .shallowSizeOfInstance (ConstantIntegerEvaluator .class );
355+
356+ @ Override
357+ public Block eval (Page page ) {
358+ return context .blockFactory ().newConstantIntBlockWith (value , page .getPositionCount ());
359+ }
360+
361+ @ Override
362+ public void close () {}
363+
364+ @ Override
365+ public long baseRamBytesUsed () {
366+ return BASE_RAM_BYTES_USED ;
367+ }
368+
369+ @ Override
370+ public String toString () {
371+ return NAME + "[" + value + "]" ;
372+ }
373+
374+ record Factory (int value ) implements ExpressionEvaluator .Factory {
336375 @ Override
337- public ExpressionEvaluator get (DriverContext driverContext ) {
338- return new ExpressionEvaluator () {
339- @ Override
340- public Block eval (Page page ) {
341- return driverContext .blockFactory ().newConstantIntBlockWith (value , page .getPositionCount ());
342- }
343-
344- @ Override
345- public void close () {
346-
347- }
348-
349- @ Override
350- public String toString () {
351- return CONSTANT_INTEGER_NAME + "[" + value + "]" ;
352- }
353- };
376+ public ExpressionEvaluator get (DriverContext context ) {
377+ return new ConstantIntegerEvaluator (context , value );
354378 }
355379
356380 @ Override
357381 public String toString () {
358- return CONSTANT_INTEGER_NAME + "[" + value + "]" ;
382+ return NAME + "[" + value + "]" ;
359383 }
360- };
384+ }
385+ }
386+
387+ public static ExpressionEvaluator .Factory IntegerFactory (int value ) {
388+ return new ConstantIntegerEvaluator .Factory (value );
361389 }
362390
363- private static final String CONSTANT_INTEGER_NAME = "ConstantInteger" ;
391+ private record ConstantBytesRefEvaluator ( DriverContext context , org . apache . lucene . util . BytesRef value ) implements ExpressionEvaluator {
364392
365- public static ExpressionEvaluator .Factory BytesRefFactory (org .apache .lucene .util .BytesRef value ) {
366- return new ExpressionEvaluator .Factory () {
393+ private static final String NAME = "ConstantBytesRef" ;
394+ private static final long BASE_RAM_BYTES_USED = RamUsageEstimator .shallowSizeOfInstance (ConstantBytesRefEvaluator .class );
395+
396+ @ Override
397+ public Block eval (Page page ) {
398+ return context .blockFactory ().newConstantBytesRefBlockWith (value , page .getPositionCount ());
399+ }
400+
401+ @ Override
402+ public void close () {}
403+
404+ @ Override
405+ public long baseRamBytesUsed () {
406+ return BASE_RAM_BYTES_USED ;
407+ }
408+
409+ @ Override
410+ public String toString () {
411+ return NAME + "[" + value .utf8ToString () + "]" ;
412+ }
413+
414+ record Factory (org .apache .lucene .util .BytesRef value ) implements ExpressionEvaluator .Factory {
367415 @ Override
368- public ExpressionEvaluator get (DriverContext driverContext ) {
369- return new ExpressionEvaluator () {
370- @ Override
371- public Block eval (Page page ) {
372- return driverContext .blockFactory ().newConstantBytesRefBlockWith (value , page .getPositionCount ());
373- }
374-
375- @ Override
376- public void close () {
377-
378- }
379-
380- @ Override
381- public String toString () {
382- return CONSTANT_BYTES_REF_NAME + "[" + value .utf8ToString () + "]" ;
383- }
384- };
416+ public ConstantBytesRefEvaluator get (DriverContext context ) {
417+ return new ConstantBytesRefEvaluator (context , value );
385418 }
386419
387420 @ Override
388421 public String toString () {
389- return CONSTANT_BYTES_REF_NAME + "[" + value .utf8ToString () + "]" ;
422+ return NAME + "[" + value .utf8ToString () + "]" ;
390423 }
391- };
424+ }
392425 }
393426
394- private static final String CONSTANT_BYTES_REF_NAME = "ConstantBytesRef" ;
427+ public static ExpressionEvaluator .Factory BytesRefFactory (org .apache .lucene .util .BytesRef value ) {
428+ return new ConstantBytesRefEvaluator .Factory (value );
429+ }
395430}
0 commit comments