zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
U
¸ý°d:ã@s‚dZddlZddlmZddlmZddlmZddlmZdd    l    m
Z
Gd
d „d ej ƒZ Gd d „d eƒZ Gdd„deƒZeZdS)aq
.. dialect:: mssql+pymssql
    :name: pymssql
    :dbapi: pymssql
    :connectstring: mssql+pymssql://<username>:<password>@<freetds_name>/?charset=utf8
 
pymssql is a Python module that provides a Python DBAPI interface around
`FreeTDS <https://www.freetds.org/>`_.
 
.. versionchanged:: 2.0.5
 
    pymssql was restored to SQLAlchemy's continuous integration testing
 
 
éNé)Ú    MSDialect)ÚMSIdentifierPrepareré)Útypes)Úutil)Ú
processorsc@seZdZdd„ZdS)Ú_MSNumeric_pymssqlcCs |js tjStj |||¡SdS©N)Z    asdecimalrZto_floatÚsqltypesÚNumericÚresult_processor)ÚselfÚdialectÚtype_©rúXd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\sqlalchemy/dialects/mssql/pymssql.pyr #sz#_MSNumeric_pymssql.result_processorN)Ú__name__Ú
__module__Ú __qualname__r rrrrr    "sr    cseZdZ‡fdd„Z‡ZS)ÚMSIdentifierPreparer_pymssqlcstƒ |¡d|_dS)NF)ÚsuperÚ__init__Z_double_percents)rr©Ú    __class__rrr+s z%MSIdentifierPreparer_pymssql.__init__)rrrrÚ __classcell__rrrrr*srcs|eZdZdZdZdZdZeZe     
e j e jee je ji¡Z edd„ƒZdd„Zdd„Zd    d
„Z‡fd d „Z‡fd d„Z‡ZS)ÚMSDialect_pymssqlTÚpymssqlcCsJtdƒ}tdd„|j d¡Dƒƒ}|dkr4dd„|_|dkrFt d    ¡|S)
Nrcss|]}t|ƒVqdSr
©Úint©Ú.0ÚxrrrÚ    <genexpr>Csz1MSDialect_pymssql.import_dbapi.<locals>.<genexpr>Ú.)érrcSst|dƒr|St|ƒS)NÚdecode)ÚhasattrÚstr)r"rrrÚ<lambda>Fóz0MSDialect_pymssql.import_dbapi.<locals>.<lambda>)rzIThe pymssql dialect expects at least the 1.0 series of the pymssql DBAPI.)Ú
__import__ÚtupleÚ __version__ÚsplitÚBinaryrÚwarn)ÚclsÚmoduleZ
client_verrrrÚ import_dbapi?s
ÿzMSDialect_pymssql.import_dbapicCsD| d¡ ¡}t d|¡}|r<tdd„| dddd¡DƒƒSdSdS)    Nzselect @@versionz*Microsoft .*? - (\d+)\.(\d+)\.(\d+)\.(\d+)css|]}t|ƒVqdSr
rr rrrr#Ssz=MSDialect_pymssql._get_server_version_info.<locals>.<genexpr>rr%ré)Zexec_driver_sqlZscalarÚreÚmatchr,Úgroup)rÚ
connectionÚversÚmrrrÚ_get_server_version_infoOs
 z*MSDialect_pymssql._get_server_version_infocCsL|jdd}| |j¡| dd¡}|rDd|krDd|d|f|d<g|fS)NÚuser)ÚusernameÚportÚhostz%s:%s)Ztranslate_connect_argsÚupdateÚqueryÚpop)rÚurlÚoptsr>rrrÚcreate_connect_argsWs     z%MSDialect_pymssql.create_connect_argscCs dD]}|t|ƒkrdSqdS)N)    z$Adaptive Server connection timed outz-Net-Lib error during Connection reset by peerz message 20003z Error 10054z"Not connected to any MS SQL serverzConnection is closedz message 20006z message 20017z message 20047TF)r()rÚer8ÚcursorÚmsgrrrÚ is_disconnect_s zMSDialect_pymssql.is_disconnectcstƒ |¡dgS)NÚ
AUTOCOMMIT)rÚget_isolation_level_values)rÚdbapi_connectionrrrrKps
ÿz,MSDialect_pymssql.get_isolation_level_valuescs0|dkr| d¡n| d¡tƒ ||¡dS)NrJTF)Z
autocommitrÚset_isolation_level)rrLÚlevelrrrrMus 
z%MSDialect_pymssql.set_isolation_level)rrrZsupports_statement_cacheZsupports_native_decimalZsupports_native_uuidZdriverrÚpreparerrZ update_copyrZcolspecsr r r    ZFloatÚ classmethodr3r;rErIrKrMrrrrrr2s þ
 r)Ú__doc__r5ÚbaserrÚrr rZenginerr r    rrrrrrrÚ<module>
s     K