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) |