Hi, Sriram! First: please don't forget to cc: the list maria-developers@lists.launchpad.net Thank you. On Mar 18, sriram patil wrote:
Hi Sergei,
I was going through the source code and was able to figure out the flow of query execution and major functions through which a query goes before execution.
The query execution majorly dwells in the "sql" directory of the source code. So, I think I will have to make changes in the following files throughout the project,
- sql_parse.cc (do_command, dispatch_command, mysql_execute_command)
Yes. And also sql_yacc.yy - to extend the parser. And the implementation of these commands, for example, sql_acl.cc for CREATE/DROP USER, sql_trigger.cc for CREATE/DROP TRIGGER, etc.
- sql_prepare.cc (Prepared_statement::execute_loop, Prepared_statement::execute)
No, hopefully, this will work automatically.
What I am not sure about is will I have to create a handler for some of these commands?
You are not creating new commands
And will lower level storage engine code changes required?
I don't think so.
I am interested to work on "CREATE OR REPLACE, CREATE IF NOT EXISTS, and DROP IF EXISTS" project as part of GSOC 2014. I want to apply my subject knowledge at a bigger level which will also give me an idea about the practical issues while implementing the features.
Regards, Sergei