Hi,

My objective is to investigate that, given an SPJ query, how are BATs *physically* processed (changed) among relational algebra operators (e.g., select, join). I do not care about how query is translated into execution plan in MAL, what I care is the interaction of operators in the kernel (aka., gdk) .

My current plan is to add some debug information in those operators (e.g., functions in src/gdk_join.c, src/gdk_select.c) and re-compile the system. Then, I will pose an SPJ query (through console) and check the system log to see how those operators are invoked in sequence.

But this method seems inefficient and I would like to ask if there are any alternatives, for example, is it possible to debug the system *step-by-step* given an input query (or its logical query plan).

Thank you very much for any kind help.

Best regards,
Wenjian