Primitive Overview 1. Stream-based Interface 2. Implementing Scan 3. Implementing Hash 4. Implementing Filter 5. Implementing Evaluation 6. Implementing Bloom Filter 7. Implementing Join 8. Implementing Group-by Aggregation 9. Implementing Hash Partition 10. Implementing Sort 11. Glue Logic Primitive APIs in ``xf::database`` aggregate bitonicSort bfGen bfGenStream bfCheck combineCol splitCol compoundSort directGroupAggregate duplicateCol dynamicEval dynamicEvalV2 dynamicFilter groupAggregate hashAntiJoin hashGroupAggregate hashJoinMPU hashJoinV3 hashBuildProbeV3 hashJoinV4 hashBuildProbeV4 hashLookup3 hashMultiJoin hashMultiJoinBuildProbe hashMurmur3 hashMurmur3Hive hashPartition hashSemiJoin insertSort mergeJoin mergeLeftJoin mergeSort nestedLoopJoin scanCmpStrCol scanCol staticEval Primitive Design Internals Internals of Dynamic-Filter Internals of Dynamic-Evaluation Internals of Lookup3 and Murmur3 Hash Internals of Bloom-Filter Internals of Group-Aggregate (Using Sorted Rows) Internals of Direct-Group-Aggregate Internals of Hash-Group-Aggregate (Generic Version) Internals of Hash-Join (Multi-Process-Unit Version) Internals of Hash-Join-v3 and Hash-Build-Probe-v3 Internals of Hash-Join-v4 and Hash-Build-Probe-v4 Internals of Hash-Semi-Join (Multi-Process-Unit Version) Internals of Hash-Anti-Join Internals of Hash-Multi-Join Internals of Hash-Partition Internals of Merge-Join and Merge-Left-Join Internals of Nested-Loop-Join Internals of Combine-Split-Unit Internals of Bitonic Sort Internals of Insert Sort Internals of Merge Sort Internals of Scan Query-Specific Acceleration Demo TPC-H Query 5 Simplified TPC-H Query 5 TPC-H Query 6 Modified