Hi,
Could you tell me which files have the code for primitives and operators? Thanks a lot.
Best Regards, Chenxi Li
I'm reading the paper "MonetDB/X100: Hyper-Pipelining Query Execution" and want to explore more.
2015-12-12 23:25 GMT+01:00 Chenxi Li spiritlcx@gmail.com:
Hi,
Could you tell me which files have the code for primitives and operators? Thanks a lot.
Best Regards, Chenxi Li
Hi,
On 12 Dec 2015, at 23:25, Chenxi Li spiritlcx@gmail.com wrote: Could you tell me which files have the code for primitives and operators? Thanks a lot.
You can start with the EXPLAIN output for a query, for example
EXPLAIN SELECT * FROM TABLES;
You will see the MAL plan for this query, which contains for example the line
| C_191 := algebra.subselect(X_14,C_5,2,2,true,true,true); |
This points to a MAL function, which is defined in the file algebra.mal, in particular the line
command subselect(b:bat[:oid,:any_1], s:bat[:oid,:oid], low:any_1, high:any_1, li:bit, hi:bit, anti:bit) :bat[:oid,:oid] address ALGsubselect2 …
address points to a C symbol, which is the function ALGsubselect2() in algebra.c
The same concept holds true for most functions in the MAL plan, they are defined in .mal files and point to C functions.
Hope this helps,
Hannes
participants (2)
-
Chenxi Li
-
Hannes Mühleisen