Thomas Bartkus wrote: > [some posters having the idea that MySQLdb works without a C extension] > Okay - I neglected to look at the [site-packages] directory itself. Here I > do find [_mysql.pyd] full of binary code. A MySQLdb related file that > doesn't seem to have a corresponding file with Python source code. Mea > culpa! This is on MS Windows [C:\Python23]. > > But heck! Now I'm looking at the /usr/lib/python2.3/site-packages on a > Mandrake Linux box. No [_mysql.] pyd here! Fewer files overall and while > there are other file extensions, everything seems to have a corresponding > [.py].
MySQLdb is based on a C extension module called _mysql on all platforms. The C extension modules have the extension ".pyd" on Windows by default, and ".so" on Unix. It would in theory be possible to do without a C extension, but then you would have to implement the MySQL client-server protocol (http://dev.mysql.com/doc/internals/en/client-server-protocol.html) in Python, for example using the socket module. Implementing a pure-Python package to interface a database by implementing the client-server protocol in Python has been done already for PostgreSQL, but I don't think it has been done for MySQL, yet. -- Gerhard -- http://mail.python.org/mailman/listinfo/python-list