WL#4266: External Language Plugin: Python

Affects: Server-9.x   —   Status: Un-Assigned   —   Priority: Medium

I am hesitant about Python. On the one hand I hear some  
people who are skeptical about Python's long-term prospects  
(I believe for example that Brian is skeptical). On the other  
hand I find quotes in the MySQL mail archive from Monty where  
he says that Python is what we should start with, viz.:  
Monty note: We should provide an external language interface  
and ourselves writes hooks for Python, as an example of how  
to do this. If we make the interface good enough,  we will  
get others that will help us provide interfaces to other languages.  
If we don't do a 'proof of concept' ourselves, it's not likely that  
we will get outside help in doing this. In this case there are two  
# Having the external language be linked to the MySQL server and  
  executed in the same program space. This is a bit insecure as it  
  makes it easer to crash the server but gives more speed.  
# Start an external process and communicate with the language  
  through sockets/shared memory.  
Our first priority is to define and implement the external language hooks.  
To ease integration, the external language hooks in the server should  
also provide the API functions of the MySQL client library. Maybe  
code from libmysqld can be used for this, since the basic principle  
is the same (third-party code, directly linked with the server, needs  
to call the server).  
The PostgreSQL implementation is PL/Python,