%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/
Upload File :
Create Path :
Current File : //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyo

�
��4]c@s�dZddlZddlmZddlmZddlmZddlmZddlmZd	d
lm	Z	d	dlm
Z
defd
��YZdefd��YZdefd��YZ
defd��YZeZdS(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 <http://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.


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(tMySQLExecutionContext(tMySQLIdentifierPreparer(tTEXTi(tsql(tutiltMySQLExecutionContext_mysqldbcBseZed��ZRS(cCs$t|d�r|jS|jjSdS(Nt	_rowcount(thasattrRtcursortrowcount(tself((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR>s(t__name__t
__module__tpropertyR(((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR=stMySQLCompiler_mysqldbcBseZRS((R
R(((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyRFstMySQLIdentifierPreparer_mysqldbcBseZRS((R
R(((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyRJstMySQLDialect_mysqldbcBs�eZdZeZeZeZeZdZe	Z
eZe
Zed�Zd�Zejjd��Zed��Zd�Zdd�Zd�Zd	�Zd
�Zd�Zedd
dddg�Z d�Z!RS(tmysqldbtformatcKsbtt|�j|�||_|jdk	rUt|jd�rU|j|jj�nd|_	dS(Nt__version__i(iii(
tsuperRt__init__tserver_side_cursorstdbapitNoneR	t_parse_dbapi_versionRt_mysql_dbapi_version(RRtkwargs((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR[s	6cCsCtjd|�}|r;td�|jddd�D��SdSdS(Ns(\d+)\.(\d+)(?:\.(\d+))?css'|]}|dk	rt|�VqdS(N(Rtint(t.0tx((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pys	<genexpr>gsiiii(iii(tretmatchttupletgroup(Rtversiontm((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyRds#cCsBy#td�j}|j|_tSWnttfk
r=tSXdS(NsMySQLdb.cursors(t
__import__tcursorstSSCursort	_sscursortTruetImportErrortAttributeErrortFalse(RR(((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pytsupports_server_side_cursorskscCs
td�S(NtMySQLdb(R'(tcls((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyRtscCsQy|jt�Wn5|jjk
rH}|j||d�rBtS�nXtSdS(N(tpingR.RtErrort
is_disconnectRR+(Rtdbapi_connectionterr((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pytdo_pingxscCs.|j||�}|dk	r*||_ndS(N(texecutemanyRR(RR
t	statementt
parameterstcontextR((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pytdo_executemany�scCs�|jd	ko=|jd|jjd�|jjd�f�}|r|tjtjtjd�tdd��d�g}ng}t	t
|�j||�S(
Nis:show collation where %s = 'utf8mb4' and %s = 'utf8mb4_bin'tCharsett	Collations'test collated returns'tcharsettutf8mb4tutf8mb4_bin(i(tserver_version_infotscalartidentifier_preparertquoteRtcollatetcasttliteral_columnRRRt_check_unicode_returns(Rt
connectionthas_utf8mb4_bintadditional_tests((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyRI�s	cCs�|jdddddd�}|j|j�tj|dt�tj|dt�tj|d	t�tj|d
t�tj|dt�tj|dt�tj|d
t�tj|dt�i}dddddg}xM|D]E}||kr�||||d<tj||dt�||=q�q�W|rD||d<n|jdd�}|j	dk	r�y-t|j	jd�j
j}||jO}Wn ttfk
r�t|_nX||d<ng|gS(Ntdatabasetdbtusernametusertpasswordtpasswdtcompresstconnect_timeouttread_timeoutt
write_timeouttclient_flagtlocal_infiletuse_unicodeR?tssl_catssl_keytssl_certt
ssl_capatht
ssl_cipheritsslis.constants.CLIENT(ttranslate_connect_argstupdatetqueryRtcoerce_kw_typetboolRtstrtgetRRR'R
t	constantstCLIENTt
FOUND_ROWSR-R,R.tsupports_sane_rowcount(RturltoptsR_tkeystkeyRWtCLIENT_FLAGS((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pytcreate_connect_args�s<	



cCs|jdS(Ni(targs(Rt	exception((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyt_extract_error_code�scCs=y|jj}Wntk
r1tjd�dSX|�SdS(s:Sniff out the character set in use for connection results.s�No 'character_set_name' can be detected with this MySQL-Python version; please upgrade to a recent version of MySQL-Python.  Assuming latin1.tlatin1N(RJtcharacter_set_nameR-Rtwarn(RRJt	cset_name((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyt_detect_charset�s
tSERIALIZABLEsREAD UNCOMMITTEDsREAD COMMITTEDsREPEATABLE READt
AUTOCOMMITcCsF|dkr|jt�n&|jt�tt|�j||�dS(NRz(t
autocommitR+R.RRt_set_isolation_level(RRJtlevel((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyR|�s

N("R
RtdriverR+tsupports_unicode_statementsRjtsupports_sane_multi_rowcounttsupports_native_decimaltdefault_paramstyleRtexecution_ctx_clsRtstatement_compilerRtpreparerR.RRRtlanghelperstmemoized_propertyR/tclassmethodRR7RR<RIRpRsRxtsett_isolation_lookupR|(((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyRNs4						-		(t__doc__R!tbaseRRRRRtRRRRRRtdialect(((sT/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyt<module>0s	�

Zerion Mini Shell 1.0