LUA Support For MySQL Command Line

Contents

[edit] Adding Lua support to MySQL command line client

This is part of the Summer of Code 2008 project proposals.

[edit] Notes by KishoreKumar Bairi

[edit] 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.


[edit] 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.

[edit] How it works?

[edit] How this can be done?


[edit] Notes by Giuseppe Maxia

To add Lua power to the MySQL client, you need first to set the goals and design the interface. I am brainstorming here:

[edit] Goals

[edit] Interface ideas

The above features can be transparent, and be detected by a query parser (e.g. a syntax for loops can just look like SQL) or they can require special keywords (e.g. to execute a Lua script).

If you want to implement Lua scripts, it would be a good idea to implement some objects that can be exposed to the scripts with specific function hooks (like MySQL Proxy does).

Retrieved from "http://forge.mysql.com/wiki/LUA_Support_For_MySQL_Command_Line"

This page has been accessed 2,884 times. This page was last modified 10:14, 18 March 2008.

Find

Browse
MySQLForge
Main Page
Current events
Recent changes
Random page
Help
Edit
Edit this page
Editing help
This page
Discuss this page
Post a comment
Printable version
Context
Page history
What links here
Related changes
My pages
Special pages
New pages
File list
Statistics
Bug reports
More...