From: KishoreKumar Bairi Date: March 18 2008 9:54am Subject: Adding Lua support to the mysql command-line client List-Archive: http://lists.mysql.com/soc/57 Message-Id: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_10532_6223533.1205834044062" ------=_Part_10532_6223533.1205834044062 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi.. I am happy that this year also mysql is participating in SOC. I am interested in mysql development as part of SOC. From the project Ideas page I found, *Adding Lua support to the mysql command-line client *interesting. I want to know more about this project. and here is what I understood. Please correct me If I am wrong and add if I'm missing something. - *Purpose of the project:* This gives more flexibility to the user by providing him a feature to execute a program(written by him in lua) I feel this feature serves the same purpose as Shell Scripting in Unix or m-file programs in matlab. SQL file is also an executable script, but it is just a QUERY language and its not like a full fledged programming lanugage and so there comes the need for proper programming environment and this project is going to provide it. since we are adding support of a programming language. It enables user to build applications using this programming language and hence it leads to the personalization of mysql interface. - *Why only LUA*? : LUA is proven to be fast,portable,small yet powerful and most importantly * Embeddable*. It is easy to extend Lua with libraries written in other languages. It is also easy to extend programs written in other languages with Lua. - *How it works?* - user issues the command for lua script execution. - lua interpreter will be invoked.(which is *lua.c* file as mentioned in documentation of lua) - while executing the script it builds the mysql command. - and now we call the same functions of mysql library which are called when that built command was directly given on command line client. - So, ultimately here we are doing the same thing but prepending the process with an additional step. - (*This is just my understanding. **Please correct me if am wrong. **)* - *How this can be done?* - firstly I should add a feature to command line client to invoke interpreter when proper command for execution of lua script is given. - next step is regarding Lua library and interpretation. The library is available from Lua and Interpreter is also written by them - It depends on us if we are willing to use their Interpreter of write our own from scratch(I feel its useless to reinvent the wheel). - In the interpreter we have to add functionality to hand over the control to an intermediate(new) program(to be written). - this new program maps the command command handed by interpreter to the mysql functionality which is supposed to be executed. - (*am I right?)* * * - *Qualifications:* - programming skills: c++,lua - Idea of compilers.(how they work?) - knowledge mysql command line client source. 1. Am I right? If not please correct me. and guide me to know it better. 2. Kindly give me some keywords or reference which would help me in knowing this better. ------=_Part_10532_6223533.1205834044062--