Interaction of operators in the kernel.
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
Hi Wenjian, you might want to consider studying the logical (relational) and physical (MAL) plans, or debug your SQL queries; for details see https://www.monetdb.org/Documentation/Manuals/SQLreference/Runtime You might also want to consider using the MAL debugger directly; cf., https://www.monetdb.org/Documentation/Manuals/MonetDB/debugger Also, a combination of mserver5's --trace and --gdk_debug=2097152 ("ALGOMASK") might be useful. Best, Stefan ----- On Jul 8, 2015, at 11:42 AM, Xu,Wenjian zeroxwj@gmail.com wrote:
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
_______________________________________________ developers-list mailing list developers-list@monetdb.org https://www.monetdb.org/mailman/listinfo/developers-list
-- | Stefan.Manegold@CWI.nl | DB Architectures (DA) | | www.CWI.nl/~manegold/ | Science Park 123 (L321) | | +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |
participants (2)
-
Stefan Manegold
-
Xu,Wenjian