File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyc
�
���ec @ s� d Z d d l Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d
l m Z d d l m
Z
d e f d
� � YZ d e f d � � YZ d e f d � � YZ
e
Z d S( s�
.. dialect:: mysql+mysqldb
:name: mysqlclient (maintained fork of MySQL-Python)
:dbapi: mysqldb
:connectstring: mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>
:url: https://pypi.org/project/mysqlclient/
Driver Status
-------------
The mysqlclient DBAPI is a maintained fork of the
`MySQL-Python <https://sourceforge.net/projects/mysql-python>`_ DBAPI
that is no longer maintained. `mysqlclient`_ supports Python 2 and Python 3
and is very stable.
.. _mysqlclient: https://github.com/PyMySQL/mysqlclient-python
.. _mysqldb_unicode:
Unicode
-------
Please see :ref:`mysql_unicode` for current recommendations on unicode
handling.
.. _mysqldb_ssl:
SSL Connections
----------------
The mysqlclient and PyMySQL DBAPIs accept an additional dictionary under the
key "ssl", which may be specified using the
:paramref:`_sa.create_engine.connect_args` dictionary::
engine = create_engine(
"mysql+mysqldb://scott:tiger@192.168.0.134/test",
connect_args={
"ssl": {
"ca": "/home/gord/client-ssl/ca.pem",
"cert": "/home/gord/client-ssl/client-cert.pem",
"key": "/home/gord/client-ssl/client-key.pem"
}
}
)
For convenience, the following keys may also be specified inline within the URL
where they will be interpreted into the "ssl" dictionary automatically:
"ssl_ca", "ssl_cert", "ssl_key", "ssl_capath", "ssl_cipher",
"ssl_check_hostname". An example is as follows::
connection_uri = (
"mysql+mysqldb://scott:tiger@192.168.0.134/test"
"?ssl_ca=/home/gord/client-ssl/ca.pem"
"&ssl_cert=/home/gord/client-ssl/client-cert.pem"
"&ssl_key=/home/gord/client-ssl/client-key.pem"
)
.. seealso::
:ref:`pymysql_ssl` in the PyMySQL dialect
Using MySQLdb with Google Cloud SQL
-----------------------------------
Google Cloud SQL now recommends use of the MySQLdb dialect. Connect
using a URL like the following::
mysql+mysqldb://root@/<dbname>?unix_socket=/cloudsql/<projectid>:<instancename>
Server Side Cursors
-------------------
The mysqldb dialect supports server-side cursors. See :ref:`mysql_ss_cursors`.
i����Ni ( t
MySQLCompiler( t MySQLDialect( t MySQLExecutionContext( t MySQLIdentifierPreparer( t TEXTi ( t sql( t utilt MySQLExecutionContext_mysqldbc B s e Z e d � � Z RS( c C s$ t | d � r | j S| j j Sd S( Nt _rowcount( t hasattrR t cursort rowcount( t self( ( sR /opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR b s ( t __name__t
__module__t propertyR ( ( ( sR /opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR a s t MySQLCompiler_mysqldbc B s e Z RS( ( R
R ( ( ( sR /opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR j s t MySQLDialect_mysqldbc B s� e Z d Z e Z e Z e Z e Z e Z d Z e
Z e Z
e Z d � Z d � Z e j j d � � Z e d � � Z d � Z d � Z d � Z d d � Z d
� Z d d � Z d � Z d
� Z d � Z! e"