Commit a094df7
committed
Fix query engine edge cases, NT scaling regressions, and add JIT warmup
Edge cases fixed:
- E1: Multi-column dict-encoded join key unification (silent wrong results)
- E2: HAVING alias fallback uses last-index-of to handle underscored names
- E3: OR/IN predicates only materialize referenced columns, not all
Code quality (O1-O10):
- Extract shared column helpers into query/columns.clj (DRY)
- Extract partition-sizes/boundaries helpers in window.clj
- Extract date-trunc/date-add helpers in expression.clj
- Remove dead bindings, stale comments, NTILE dead code
- Add ColumnOpsVar.java for JIT-isolated VARIANCE/CORR group-by
NT scaling fixes:
- Window functions respect PARALLEL_THRESHOLD with avgPartSize<8 guard
- LIKE broadcast loop made sequential (FJP overhead dominated)
- Expression pre-computation moved inside group-by fallback path
- Benchmark WIN/DS execution order swapped for fair JIT warmup
JIT warmup for production safety:
- q/jit-warmup! exercises all 11 Java code paths with tiny data (0.2s)
- Called on server startup and before benchmark tiers
- Prevents deoptimization cliffs from mixed analytical workloads1 parent 9a369df commit a094df7
File tree
14 files changed
+921
-637
lines changed- bench
- src-java/stratum/internal
- src/stratum
- query
- test/stratum
14 files changed
+921
-637
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2344 | 2344 | | |
2345 | 2345 | | |
2346 | 2346 | | |
2347 | | - | |
2348 | 2347 | | |
| 2348 | + | |
2349 | 2349 | | |
2350 | 2350 | | |
2351 | 2351 | | |
| |||
2367 | 2367 | | |
2368 | 2368 | | |
2369 | 2369 | | |
2370 | | - | |
2371 | 2370 | | |
| 2371 | + | |
2372 | 2372 | | |
2373 | 2373 | | |
2374 | 2374 | | |
| |||
2390 | 2390 | | |
2391 | 2391 | | |
2392 | 2392 | | |
2393 | | - | |
2394 | 2393 | | |
| 2394 | + | |
2395 | 2395 | | |
2396 | 2396 | | |
2397 | 2397 | | |
| |||
2493 | 2493 | | |
2494 | 2494 | | |
2495 | 2495 | | |
2496 | | - | |
2497 | 2496 | | |
| 2497 | + | |
2498 | 2498 | | |
2499 | 2499 | | |
2500 | 2500 | | |
| |||
2622 | 2622 | | |
2623 | 2623 | | |
2624 | 2624 | | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
2625 | 2631 | | |
2626 | 2632 | | |
2627 | 2633 | | |
2628 | 2634 | | |
2629 | 2635 | | |
2630 | 2636 | | |
2631 | 2637 | | |
2632 | | - | |
| 2638 | + | |
2633 | 2639 | | |
2634 | 2640 | | |
2635 | 2641 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1048 | 1048 | | |
1049 | 1049 | | |
1050 | 1050 | | |
1051 | | - | |
| 1051 | + | |
1052 | 1052 | | |
1053 | 1053 | | |
1054 | 1054 | | |
| |||
1315 | 1315 | | |
1316 | 1316 | | |
1317 | 1317 | | |
1318 | | - | |
| 1318 | + | |
1319 | 1319 | | |
1320 | 1320 | | |
1321 | 1321 | | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
1322 | 1329 | | |
1323 | 1330 | | |
1324 | 1331 | | |
| |||
1381 | 1388 | | |
1382 | 1389 | | |
1383 | 1390 | | |
1384 | | - | |
| 1391 | + | |
1385 | 1392 | | |
1386 | 1393 | | |
1387 | 1394 | | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
1388 | 1398 | | |
1389 | 1399 | | |
1390 | 1400 | | |
| |||
1459 | 1469 | | |
1460 | 1470 | | |
1461 | 1471 | | |
1462 | | - | |
| 1472 | + | |
1463 | 1473 | | |
1464 | 1474 | | |
1465 | 1475 | | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
1466 | 1479 | | |
1467 | 1480 | | |
1468 | 1481 | | |
| |||
0 commit comments