§ w<ˆj8!ãóÚ—dZddlZddlmZddlmZddlmZddlmZddlmZd d lm Z d d lm Z Gd „d e¦«Z Gd„de¦«Z Gd„de¦«Z Gd„de¦«ZeZdS)a .. dialect:: mysql+mysqldb :name: mysqlclient (maintained fork of MySQL-Python) :dbapi: mysqldb :connectstring: mysql+mysqldb://:@[:]/ :url: https://pypi.org/project/mysqlclient/ Driver Status ------------- The mysqlclient DBAPI is a maintained fork of the `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@/?unix_socket=/cloudsql/: Server Side Cursors ------------------- The mysqldb dialect supports server-side cursors. See :ref:`mysql_ss_cursors`. éNé)Ú MySQLCompiler)Ú MySQLDialect)ÚMySQLExecutionContext)ÚMySQLIdentifierPreparer)ÚTEXTé)Úsql)Úutilcó$—eZdZed„¦«ZdS)ÚMySQLExecutionContext_mysqldbcóH—t|d¦«r|jS|jjS)NÚ _rowcount)ÚhasattrrÚcursorÚrowcount)Úselfs úu/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/sqlalchemy/dialects/mysql/mysqldb.pyrz&MySQLExecutionContext_mysqldb.rowcount>s'€å �4˜Ñ %Ô %ð (Ø”>Ð !à”;Ô'Ð 'óN)Ú__name__Ú __module__Ú __qualname__Úpropertyr©rrr r =s-€€€€€Ø ð(ð(ñ„Xð(ð(ð(rr có—eZdZdS)ÚMySQLCompiler_mysqldbN©rrrrrrrrFó€€€€€Ø€Drrcó—eZdZdS)ÚMySQLIdentifierPreparer_mysqldbNrrrrr r Jrrr có䇗eZdZdZdZdZdZdZdZe Z e Z e Zdˆfd„ Zd„Zejjd„¦«Zed„¦«Zˆfd „Zd „Zdd „Zˆfd „Zdd„Zd„Zd„Zegd¢¦«Zˆfd„Z ˆxZ!S)ÚMySQLDialect_mysqldbÚmysqldbTÚformatFc óÚ•—tt|¦«jdi|¤Ž||_|j�4t |jd¦«r| |jj¦«nd|_dS)NÚ __version__©rrrr) Úsuperr"Ú__init__Úserver_side_cursorsÚdbapirÚ_parse_dbapi_versionr&Ú_mysql_dbapi_version)rr*ÚkwargsÚ __class__s €rr)zMySQLDialect_mysqldb.__init__[svø€Ø2�Õ" DÑ)Ô)Ô2Ð<Ð<°VÐ<Ð<Ð<Ø#6ˆÔ ðŒzÐ%­'°$´*¸mÑ*LÔ*LÐ%ð × %Ò % d¤jÔ&<Ñ =Ô =Ð =àð Ô!Ð!Ð!rcó�—tjd|¦«}|r.td„| ddd¦«D¦«¦«SdS)Nz(\d+)\.(\d+)(?:\.(\d+))?c3ó8K—|]}|®t|¦«V—ŒdS©N)Úint)Ú.0Úxs rú z.gs(èè€ÐKÐK A¸Q¸]�˜Q™œ¸]¸]¸]¸]ÐKÐKrrér r')ÚreÚmatchÚtupleÚgroup)rÚversionÚms rr,z)MySQLDialect_mysqldb._parse_dbapi_versiondsN€Ý ŒHÐ0°'Ñ :Ô :ˆØ ð ÝÐKÐK¨¯ª°°A°qÑ)9Ô)9ÐKÑKÔKÑKÔKÐ Kà�9rcóx— td¦«j}|j|_dS#tt f$rYdSwxYw)NzMySQLdb.cursorsTF)Ú __import__ÚcursorsÚSSCursorÚ _sscursorÚ ImportErrorÚAttributeError)rr@s rÚsupports_server_side_cursorsz1MySQLDialect_mysqldb.supports_server_side_cursorsksN€ð Ý Ð!2Ñ3Ô3Ô;ˆGØ$Ô-ˆDŒNØ�4øÝ�^Ð,ð ð ð Ø�5�5ð øøøs ‚ $¤9¸9có —td¦«S)NÚMySQLdb)r?)Úclss rr+zMySQLDialect_mysqldb.dbapits€å˜)Ñ$Ô$Ð$rcób•‡—tt|¦« ¦«Šˆfd„}|S)NcóÒ•—‰� ‰|¦«| ¦«}|�B| ¦«}| d|z¦«| ¦«dSdS)Nz SET NAMES %s)Úcharacter_set_namerÚexecuteÚclose)ÚconnÚ charset_namerÚsuper_s €rÚ on_connectz3MySQLDialect_mysqldb.on_connect..on_connect{sjø€ØÐ!Ø��t‘ ” � à×2Ò2Ñ4Ô4ˆLàÐ'ØŸš™œ�Ø—’˜~° Ñ<Ñ=Ô=Ð=Ø— ’ ‘”���ð(Ð'r)r(r"rQ)rrQrPr/s @€rrQzMySQLDialect_mysqldb.on_connectxsAøø€ÝÕ+¨TÑ2Ô2×=Ò=Ñ?Ô?ˆð ð ð ð ð ðÐrcóœ— | d¦«dS#|jj$r#}| ||d¦«rYd}~dS‚d}~wwxYw)NFT)Úpingr+ÚErrorÚ is_disconnect)rÚdbapi_connectionÚerrs rÚdo_pingzMySQLDialect_mysqldb.do_pingˆss€ð Ø × !Ò ! %Ñ (Ô (Ð (ð�4øð ŒzÔð ð ð Ø×!Ò! #Ð'7¸Ñ>Ô>ð Ø�u�u�u�u�uàøøøøð  øøøs‚™A ¨AÁAÁA NcóH—| ||¦«}|� ||_dSdSr2)Ú executemanyr)rrÚ statementÚ parametersÚcontextrs rÚdo_executemanyz#MySQLDialect_mysqldb.do_executemany“s3€Ø×%Ò% i°Ñ<Ô<ˆØ Ð Ø (ˆGÔ Ð Ð ð Ð rcó •—|jdkoK| d|j d¦«›d|j d¦«›d�¦«}|rJt jt jt jd¦«td¬ ¦«¦«d ¦«g}ng}tt|¦«  ||¦«S) N)ézshow collation where ÚCharsetz = 'utf8mb4' and Ú Collationz = 'utf8mb4_bin'z'test collated returns'Úutf8mb4)ÚcharsetÚ utf8mb4_bin) Úserver_version_infoÚscalarÚidentifier_preparerÚquoter ÚcollateÚcastÚliteral_columnrr(r"Ú_check_unicode_returns)rÚ connectionÚhas_utf8mb4_binÚadditional_testsr/s €rrmz+MySQLDialect_mysqldb._check_unicode_returns˜söø€ð Ô2ð6 ò ð à×ÒÐðÔ(×.Ò.¨yÑ9Ô9Ð9Ð9ØÔ(×.Ò.¨{Ñ;Ô;Ð;Ð;ð ñ ô ð ð ð "å” Ý”HÝÔ*Ð+DÑEÔEÝ YÐ/Ñ/Ô/ñôð"ñ ôð Ð Ð ð "Ð ÝÕ)¨4Ñ0Ô0×GÒGØ Ð(ñ ô ð rcó²—|€tddd¬¦«}|jdi|¤Ž}| |j¦«t j|dt ¦«t j|dt¦«t j|dt¦«t j|dt¦«t j|d t¦«t j|d t¦«t j|d t ¦«t j|d t¦«i}gd ¢}|D]?}||vr9||||dd…<t j||dd…t¦«||=Œ@|r||d<|  d d¦«}|j �U t|j j dz¦«j j}||jz}n#t t"f$r d|_YnwxYw||d <g|gS)NÚdbÚuserÚpasswd)ÚdatabaseÚusernameÚpasswordÚcompressÚconnect_timeoutÚ read_timeoutÚ write_timeoutÚ client_flagÚ local_infileÚ use_unicoderd)Ússl_caÚssl_keyÚssl_certÚ ssl_capathÚ ssl_cipheréÚsslrz.constants.CLIENTFr)ÚdictÚtranslate_connect_argsÚupdateÚqueryr Úcoerce_kw_typeÚboolr3ÚstrÚgetr+r?rÚ constantsÚCLIENTÚ FOUND_ROWSrDrCÚsupports_sane_rowcount) rÚurlÚ_translate_argsÚoptsr…ÚkeysÚkeyr|Ú CLIENT_FLAGSs rÚcreate_connect_argsz(MySQLDialect_mysqldb.create_connect_args¶s €Ø Ð "Ý"ب¸ðñôˆOð*ˆsÔ)Ð<Ð<¨OÐ<Ð<ˆØ � Š �C”IÑÔÐå Ô˜D *­dÑ3Ô3Ð3Ý Ô˜DÐ"3µSÑ9Ô9Ð9Ý Ô˜D .µ#Ñ6Ô6Ð6Ý Ô˜D /µ3Ñ7Ô7Ð7Ý Ô˜D -µÑ5Ô5Ð5Ý Ô˜D .µ#Ñ6Ô6Ð6õ Ô˜D -µÑ6Ô6Ð6Ý Ô˜D )­SÑ1Ô1Ð1ð ˆØLÐLÐLˆØð ð ˆCØ�dˆ{ˆ{Ø# Cœy��C˜˜˜”G‘ ÝÔ# C¨¨Q¨R¨R¬µ#Ñ6Ô6Ð6ؘ�IøØ ð ØˆD�‰Kð—h’h˜}¨aÑ0Ô0ˆ Ø Œ:Ð !ð 4Ý)Ø”JÔ'Ð*=Ñ=ñ ô äœFðð˜|Ô6Ñ6� � øÝ"¥KÐ0ð 4ð 4ð 4Ø.3�Ô+Ð+Ð+ð 4øøøà"-ˆD�Ñ Ø�DˆzÐsÆ0F2Æ2G Ç G có—|jdS)Nr)Úargs)rÚ exceptions rÚ_extract_error_codez(MySQLDialect_mysqldb._extract_error_codeæs€ØŒ~˜aÔ Ð rcóz— |jj}|¦«S#t$rtjd¦«YdSwxYw)z:Sniff out the character set in use for connection results.z�No 'character_set_name' can be detected with this MySQL-Python version; please upgrade to a recent version of MySQL-Python. Assuming latin1.Úlatin1)rnrKrDr Úwarn)rrnÚ cset_names rÚ_detect_charsetz$MySQLDialect_mysqldb._detect_charsetésa€ð ð#Ô-Ô@ˆIð�9‘;”;Ð øõð ð ð Ý ŒIð#ñ ô ð ð �8�8ð øøøs ‚ ˜:¹:)Ú SERIALIZABLEzREAD UNCOMMITTEDzREAD COMMITTEDzREPEATABLE READÚ AUTOCOMMITc󾕗|dkr| d¦«dS| d¦«tt|¦« ||¦«dS)Nr£TF)Ú autocommitr(r"Ú_set_isolation_level)rrnÚlevelr/s €rr¦z)MySQLDialect_mysqldb._set_isolation_levelsnø€Ø �LÒ Ð Ø × !Ò ! $Ñ 'Ô 'Ð 'Ð 'Ð 'à × !Ò ! %Ñ (Ô (Ð (Ý Õ&¨Ñ -Ô -× BÒ BؘEñ ô ð ð ð r)Fr2)"rrrÚdriverÚsupports_unicode_statementsr‘Úsupports_sane_multi_rowcountÚsupports_native_decimalÚdefault_paramstyler Úexecution_ctx_clsrÚstatement_compilerr Úpreparerr)r,r Ú langhelpersÚmemoized_propertyrEÚ classmethodr+rQrXr^rmr˜rœr¡ÚsetÚ_isolation_lookupr¦Ú __classcell__)r/s@rr"r"Ns�ø€€€€€Ø €FØ"&ÐØ!ÐØ#'Ð à"Ðà!ÐØ5ÐØ.ÐØ.€Hð ð ð ð ð ð ðððð ÔÔ'ððñ(Ô'ððð%ð%ñ„[ð%ðððððð ð ð ð)ð)ð)ð)ð  ð ð ð ð ð<.ð.ð.ð.ð`!ð!ð!ðððð$˜ð ð ð ñôÐðððððððððrr")Ú__doc__r8ÚbaserrrrrÚr r r rr r"ÚdialectrrrúrºsWðð(ð(ðT € € € àÐÐÐÐÐØÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'Ø)Ð)Ð)Ð)Ð)Ð)ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐð(ð(ð(ð(ð(Ð$9ñ(ô(ð(ð ð ð ð ð ˜Mñ ô ð ð ð ð ð ð Ð&=ñ ô ð ð~ð~ð~ð~ð~˜<ñ~ô~ð~ðB €€€r