§ w<ˆj/ ãód—dZddlZddlZddlmZddlmZddlmZd„Z Gd „d e¦«Z e Z dS) a} .. dialect:: mysql+gaerdbms :name: Google Cloud SQL :dbapi: rdbms :connectstring: mysql+gaerdbms:///?instance= :url: https://developers.google.com/appengine/docs/python/cloud-sql/developers-guide This dialect is based primarily on the :mod:`.mysql.mysqldb` dialect with minimal changes. .. deprecated:: 1.0 This dialect is **no longer necessary** for Google Cloud SQL; the MySQLdb dialect can be used directly. Cloud SQL now recommends creating connections via the mysql dialect using the URL format ``mysql+mysqldb://root@/?unix_socket=/cloudsql/:`` Pooling ------- Google App Engine connections appear to be randomly recycled, so the dialect does not pool connections. The :class:`.NullPool` implementation is installed within the :class:`_engine.Engine` by default. éN)Úwarn_deprecatedé)ÚMySQLDialect_mysqldbé©ÚNullPoolcóh—tj dd¦« d¦«S)NÚSERVER_SOFTWAREÚz Development/)ÚosÚenvironÚgetÚ startswith©óúv/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyÚ_is_dev_environmentr+s'€Ý Œ:�>Š>Ð+¨RÑ 0Ô 0× ;Ò ;¸NÑ KÔ KÐKrcóF—eZdZed„¦«Zed„¦«Zd„Zd„ZdS)ÚMySQLDialect_gaerdbmscó¬—td¦«ddlm}t¦«rddlm}|S|j d¦«rddlm}|Sddlm }|S)Nz»Google Cloud SQL now recommends creating connections via the MySQLdb dialect directly, using the URL format mysql+mysqldb://root@/?unix_socket=/cloudsql/:r)Úapiproxy_stub_map)Ú rdbms_mysqldbÚrdbms)Úrdbms_apiproxy)Úrdbms_googleapi) rÚgoogle.appengine.apirrrÚapiproxyÚGetStubÚ!google.storage.speckle.python.apirr)Úclsrrrrs rÚdbapizMySQLDialect_gaerdbms.dbapi0sž€õ ð )ñ ô ð ð ;Ð:Ð:Ð:Ð:Ð:å Ñ Ô ð #Ø :Ð :Ð :Ð :Ð :Ð :à Ð Ø Ô '× /Ò /°Ñ 8Ô 8ð #Ø HÐ HÐ HÐ HÐ HÐ Hà!Ð !à IÐ IÐ IÐ IÐ IÐ Ià"Ð "rcó—tS)Nr)r Úurls rÚget_pool_classz$MySQLDialect_gaerdbms.get_pool_classOs €õˆrcóx—| ¦«}t¦«sd|d<|jd|d<g|fS)Nr ÚdsnÚinstance)Útranslate_connect_argsrÚquery)Úselfr#Úoptss rÚcreate_connect_argsz)MySQLDialect_gaerdbms.create_connect_argsTsF€Ø×)Ò)Ñ+Ô+ˆÝ"Ñ$Ô$ð 5ðˆD�‰KØ"œy¨Ô4ˆD�Ñ Ø�4ˆxˆrcóì—tjd¦« t|¦«¦«}|r*| d¦«p| d¦«nd}|rt |¦«SdS)Nz^(\d+)L?:|^\((\d+)L?,ré)ÚreÚcompileÚmatchÚstrÚgroupÚint)r*Ú exceptionr1Úcodes rÚ_extract_error_codez)MySQLDialect_gaerdbms._extract_error_code]sl€Ý” Ð3Ñ4Ô4×:Ò:½3¸y¹>¼>ÑJÔJˆð49ÐBˆu�{Š{˜1‰~Œ~Ð/ §¢¨Q¡¤ø¸dˆØ ð Ý�t‘9”9Ð ð ð rN)Ú__name__Ú __module__Ú __qualname__Ú classmethodr!r$r,r7rrrrr/sf€€€€€Øð#ð#ñ„[ð#ð<ððñ„[ðððððððððrr) Ú__doc__r r/Úsqlalchemy.utilrÚmysqldbrÚpoolrrrÚdialectrrrúrAs¢ðððð8 € € € Ø € € € à+Ð+Ð+Ð+Ð+Ð+Ø)Ð)Ð)Ð)Ð)Ð)ØÐÐÐÐÐðLðLðLð4ð4ð4ð4ð4Ð0ñ4ô4ð4ðn €€€r