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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Ë
’^i$.ãóÀ—ddlmZddlmZmZddlmZddlZddlZdZ    dZ
dZ dZ d    Z d
Zd „ZGd „d «ZGd„de«ZGd„d«ZGd„d«ZGd„d«Zy)é)ÚMBLENGTH)Ú
FIELD_TYPEÚ SERVER_STATUS)ÚerréNFéûéüéýéþc    ó`‡—d„Š    tdt|««tdd«D]F}tj|«}td||j
j |jfz«ŒHtd«tdtt|«d«d    «Dcgc]
}|||d    z‘Œ }}|D]S}td
jd „|D««d d    t|«z
zzd zdjˆfd„|D««z«ŒUtd«t«y#t$rYŒ¬wxYwcc}w)Ncó4—d|cxkrdkr t|«Syy)Né éú.)Úchr)Údatas õcH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\pymysql/protocol.pyÚ    printablezdump_packet.<locals>.printables!€Ø Ô ˜Ò ܐt“9Ð ð áózpacket length:rézcall[%d]: %s (line %d)zB------------------------------------------------------------------rééú c3ó$K—|]}|d›–—Œ
y­w)Ú02XN©)Ú.0Úxs  rú    <genexpr>zdump_packet.<locals>.<genexpr>&sèø€Ò+ A˜˜#w“ZÑ+ùs‚z   z  Úc3ó.•K—|] }‰|«–—Œy­w©Nr)rrrs  €rrzdump_packet.<locals>.<genexpr>)søèø€Ò. q‘i —lÑ.ùsƒ) ÚprintÚlenÚrangeÚsysÚ    _getframeÚf_codeÚco_nameÚf_linenoÚ
ValueErrorÚminÚjoin)rÚiÚfÚ    dump_dataÚdrs     @rÚ dump_packetr2s$ø€òð
 Ü Ð¤ D£    Ô*ܐq˜!“ò    PˆAÜ— ‘ ˜aÓ ˆAÜ Ð*¨a°·±×1AÑ1AÀ1Ç:Á:Ð-NÑNÕ Oð    Pô    ˆhŒô,1°´C¼¸D»    À3Ó4GÈÓ+LÖM aa˜!˜b™&Ò!ÐM€IÐMØ ò
ˆÜ Ø H‰HÑ+¨Ô+Ó +ؐrœC ›F‘{Ñ#ñ $àñ ðg‰gÓ.¨AÔ.Ó.ñ /õ    
ð
ô
ˆ(„OÜ    …Gøô ò Ù ð üâMs†A5DÂD+Ä    D(Ä'D(có´—eZdZdZdZd„Zd„Zd„Zd„Zd„Z    dd„Z
dd    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy) Ú MysqlPacketzrRepresentation of a MySQL response packet.
 
    Provides an interface for reading/parsing the packet results.
    ©Ú    _positionÚ_datacó —d|_||_y)Nrr5©ÚselfrÚencodings   rÚ__init__zMysqlPacket.__init__7s€ØˆŒØˆ
rcó—|jSr"©r7©r:s rÚ get_all_datazMysqlPacket.get_all_data;s €Øz‰zÐrc
óX—|j|j|j|z}t|«|k7r`d|›dt|«›d|j›dt|j«›}trt    |«|j «t |«‚|xj|z c_|S)zCRead the first 'size' bytes in packet and advance cursor past them.z-Result length not requested length:
Expected=z
.  Actual=z .  Position: z.  Data Length: )r7r6r$ÚDEBUGr#ÚdumpÚAssertionError)r:ÚsizeÚresultÚerrors    rÚreadzMysqlPacket.read>s€à—‘˜DŸN™N¨d¯n©n¸tÑ.CÐEˆÜ ˆv‹;˜$Ò ðØ ˜6 ¬C°«K¨=¸ ÀdÇnÁnÐEUÐUeÔfiÐjn×jtÑjtÓfuÐevðxð õܐe” Ø—    ‘    ” Ü  Ó'Ð 'Ø Š˜$э؈ rcóF—|j|jd}d|_|S)z`Read all remaining data in the packet.
 
        (Subsequent read() will return errors.)
        N©r7r6©r:rFs  rÚread_allzMysqlPacket.read_allMs%€ð
—‘˜DŸN™NÐ,Ð-ˆØˆŒØˆ rcóŒ—|j|z}|dks|t|j«kDrtd|›d|›«‚||_y)z1Advance the cursor in data buffer 'length' bytes.rzInvalid advance amount (z) for cursor.  Position=N)r6r$r7Ú    Exception)r:ÚlengthÚ new_positions   rÚadvancezMysqlPacket.advanceVsN€à—~‘~¨Ñ.ˆ Ø ˜!Ò ˜|¬c°$·*±*«oÒ=ÜØ*¨6¨(Ð2JÈ<È.ÐYóð ð&ˆrcóh—|dks|t|j«kDrtd|z«‚||_y)z9Set the position of the data buffer cursor to 'position'.rz)Invalid position to rewind cursor to: %s.N)r$r7rNr6)r:Úpositions  rÚrewindzMysqlPacket.rewind_s0€à aŠ<˜8¤c¨$¯*©*£oÒ5ÜÐGÈ(ÑRÓSÐ SØ!ˆrcó&—|j|||zS)a>Get 'length' bytes starting at 'position'.
 
        Position is start of payload (first four packet header bytes are not
        included) starting at index '0'.
 
        No error checking is done.  If requesting outside end of buffer
        an empty string (or string shorter than 'length') may be returned!
        r>)r:rSrOs   rÚ    get_byteszMysqlPacket.get_byteses€ðz‰z˜( h°Ñ&7Ð9Ð9rcób—|j|j}|xjdz c_|S©NrrJrKs  rÚ
read_uint8zMysqlPacket.read_uint8ps'€Ø—‘˜DŸN™NÑ+ˆØ Š˜!э؈ rcóŒ—tjd|j|j«d}|xjdz c_|S)Nz<Hré©ÚstructÚ unpack_fromr7r6rKs  rÚ read_uint16zMysqlPacket.read_uint16uó6€Ü×#Ñ# D¨$¯*©*°d·n±nÓEÀaÑHˆØ Š˜!э؈ rcó˜—tjd|j|j«\}}|xjdz c_||dzzS)Nz<HBérr\)r:ÚlowÚhighs   rÚ read_uint24zMysqlPacket.read_uint24zs?€Ü×&Ñ& u¨d¯j©j¸$¿.¹.ÓI‰    ˆˆTØ Š˜!эؐd˜b‘jÑ!Ð!rcóŒ—tjd|j|j«d}|xjdz c_|S)Nz<Irér\rKs  rÚ read_uint32zMysqlPacket.read_uint32r`rcóŒ—tjd|j|j«d}|xjdz c_|S)Nz<Qrér\rKs  rÚ read_uint64zMysqlPacket.read_uint64„r`rcó¤—|jjd|j«}|dkry|j|j|}|dz|_|S)Nórr)r7Úfindr6)r:Úend_posrFs   rÚ read_stringzMysqlPacket.read_string‰sH€Ø—*‘*—/‘/ %¨¯©Ó8ˆØ QŠ;ØØ—‘˜DŸN™N¨WÐ5ˆØ  1™ˆŒØˆ rcóä—|j«}|tk(ry|tkr|S|tk(r|j    «S|t
k(r|j «S|tk(r|j«Sy)z´Read a 'Length Coded Binary' number from the data buffer.
 
        Length coded numbers can be anywhere from 1 to 9 bytes depending
        on the value of the first byte.
        N)    rYÚ NULL_COLUMNÚUNSIGNED_CHAR_COLUMNÚUNSIGNED_SHORT_COLUMNr_ÚUNSIGNED_INT24_COLUMNreÚUNSIGNED_INT64_COLUMNrk)r:Úcs  rÚread_length_encoded_integerz'MysqlPacket.read_length_encoded_integer‘sv€ð O‰OÓ ˆØ ” Ò ØØ Ô#Ò #؈HØ Ô'Ò 'Ø×#Ñ#Ó%Ð %Ø Ô'Ò 'Ø×#Ñ#Ó%Ð %Ø Ô'Ò 'Ø×#Ñ#Ó%Ð %ð(rcóJ—|j«}|€y|j|«S)aRead a 'Length Coded String' from the data buffer.
 
        A 'Length Coded String' consists first of a length coded
        (unsigned, positive) integer represented in 1-9 bytes followed by
        that many bytes of binary data.  (For example "cat" would be "3cat".)
        N)rxrH)r:rOs  rÚread_length_coded_stringz$MysqlPacket.read_length_coded_string£s)€ð×1Ñ1Ó3ˆØ ˆ>ØØy‰y˜Ó Ð rcóº—tj|«}|j|j|j«}|xj|j
z c_|Sr")r]ÚStructr^r7r6rE)r:ÚfmtÚsrFs    rÚ read_structzMysqlPacket.read_struct¯s?€Ü M‰M˜#Ó ˆØ—‘˜tŸz™z¨4¯>©>Ó:ˆØ Š˜!Ÿ&™&Ñ Øˆ rcóZ—|jddk(xrt|j«dk\S)Nrr©r7r$r?s rÚ is_ok_packetzMysqlPacket.is_ok_packetµs'€àz‰z˜!‰} Ñ!Ò:¤c¨$¯*©*£o¸Ñ&:Ð:rcóZ—|jddk(xrt|j«dkS)Nrr é    rr?s rÚ is_eof_packetzMysqlPacket.is_eof_packet¹s)€ðz‰z˜!‰} Ñ$Ò<¬¨T¯Z©Z«¸1Ñ)<Ð<rcó&—|jddk(S)Nrr r>r?s rÚis_auth_switch_requestz"MysqlPacket.is_auth_switch_request¿s€àz‰z˜!‰} Ñ$Ð$rcó&—|jddk(S)Nrrr>r?s rÚis_extra_auth_datazMysqlPacket.is_extra_auth_dataÃs€àz‰z˜!‰} Ñ!Ð!rcó@—|jd}d|cxkxrdkScS)Nrréúr>)r:Ú field_counts  rÚis_resultset_packetzMysqlPacket.is_resultset_packetÇs%€Ø—j‘j ‘mˆ ؐKÖ& 3Ñ&Ð&Ñ&Ð&rcó&—|jddk(S)Nrrr>r?s rÚis_load_local_packetz MysqlPacket.is_load_local_packetËó€Øz‰z˜!‰} Ñ$Ð$rcó&—|jddk(S)Nréÿr>r?s rÚis_error_packetzMysqlPacket.is_error_packetÎrrcóF—|j«r|j«yyr")r“Úraise_for_errorr?s rÚ check_errorzMysqlPacket.check_errorÑs€Ø × Ñ Ô !Ø ×  Ñ  Õ "ð "rcóȗ|j«|jd«|j«}tr t    d|«t j |j«y)Nrzerrno =)rTrQr_rBr#rÚraise_mysql_exceptionr7)r:Úerrnos  rr•zMysqlPacket.raise_for_errorÕsC€Ø  ‰ Œ Ø  ‰ QŒØ× Ñ Ó"ˆÝ Ü )˜UÔ #Ü ×!Ñ! $§*¡*Õ-rcó.—t|j«yr")r2r7r?s rrCzMysqlPacket.dumpÝs€ÜD—J‘JÕrN)r)r)Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú    __slots__r<r@rHrLrQrTrVrYr_rerhrkrprxrzrr‚r…r‡r‰rrr“r–r•rCrrrr4r4/s„ñð
'€Iòòò òò&ó"ó     :òò
ò
"ò
ò
ò
ò&ò$
!òò ;ò=ò %ò"ò'ò%ò%ò#ò.ó rr4có.—eZdZdZd„Zd„Zd„Zd„Zd„Zy)ÚFieldDescriptorPacketzçA MysqlPacket that represents a specific column's metadata in the result.
 
    Parsing is automatically done and the results are exported via public
    attributes on the class such as: db, table_name, name, length, type_code.
    cóT—tj|||«|j|«yr")r4r<Ú_parse_field_descriptorr9s   rr<zFieldDescriptorPacket.__init__ès"€Ü×јT 4¨Ô2Ø ×$Ñ$ XÕ.rcóØ—|j«|_|j«|_|j«j|«|_|j«j|«|_|j«j|«|_|j«j|«|_|jd«\|_    |_
|_ |_ |_ y)z…Parse the 'Field Descriptor' (Metadata) packet.
 
        This is compatible with MySQL 4.1+ (not compatible with MySQL 4.0).
        z    <xHIBHBxxN)rzÚcatalogÚdbÚdecodeÚ
table_nameÚ    org_tableÚnameÚorg_namerÚ    charsetnrrOÚ    type_codeÚflagsÚscale)r:r;s  rr£z-FieldDescriptorPacket._parse_field_descriptorìs¾€ð
×4Ñ4Ó6ˆŒ Ø×/Ñ/Ó1ˆŒØ×7Ñ7Ó9×@Ñ@ÀÓJˆŒØ×6Ñ6Ó8×?Ñ?ÀÓIˆŒØ×1Ñ1Ó3×:Ñ:¸8ÓDˆŒ    Ø×5Ñ5Ó7×>Ñ>¸xÓHˆŒ ð × Ñ ˜[Ó )ñ     
Ø ŒNØ ŒKØ ŒNØ ŒJØ Jrcó¨—|j|jd|j«|j«|j|jdzdk(fS)zBProvides a 7-item tuple compatible with the Python PEP249 DB Spec.Nr[r)rªr­Úget_column_lengthr¯r®r?s rÚ descriptionz!FieldDescriptorPacket.descriptionsN€ð I‰IØ N‰NØ Ø × "Ñ "Ó $Ø × "Ñ "Ó $Ø J‰JØ J‰J˜‰N˜aÑ ð
ð    
rcó²—|jtjk(r/tj|j
d«}|j |zS|j SrX)r­rÚ
VAR_STRINGrÚgetr¬rO)r:Úmblens  rr±z'FieldDescriptorPacket.get_column_length sA€Ø >‰>œZ×2Ñ2Ò 2Ü—L‘L §¡°Ó3ˆEØ—;‘; %Ñ'Ð '؏{‰{Ðrcó¦—dj|j|j|j|j|j
|j «S)Nz&{} {!r}.{!r}.{!r}, type={}, flags={:x})ÚformatÚ    __class__r¦r¨rªr­r®r?s rÚ__str__zFieldDescriptorPacket.__str__s?€Ø7×>Ñ>Ø N‰NØ G‰GØ O‰OØ I‰IØ N‰NØ J‰Jó 
ð    
rN)    r›rœrržr<r£r²r±rºrrrr¡r¡ás „ñò /ò*ò*
 
òó 
rr¡có—eZdZdZd„Zd„Zy)ÚOKPacketWrapperzÉ
    OK Packet Wrapper. It uses an existing packet object, and wraps
    around it, exposing useful variables while still providing access
    to the original packet objects variables and methods.
    cóþ—|j«s.tdt|jj«zdz«‚||_|j
j d«|j
j«|_|j
j«|_    |jd«\|_ |_ |j
j«|_|jtj z|_y)NzCannot create z  object from invalid packet typerz<HH)r‚r+Ústrr¹r›ÚpacketrQrxÚ affected_rowsÚ    insert_idrÚ server_statusÚ warning_countrLÚmessagerÚSERVER_MORE_RESULTS_EXISTSÚhas_next©r:Ú from_packets  rr<zOKPacketWrapper.__init__%sȀØ×'Ñ'Ô)ÜØ Üd—n‘n×-Ñ-Ó.ñ/à4ñ5óð ð "ˆŒ Ø  ‰ ×јAÔà!Ÿ[™[×DÑDÓFˆÔØŸ™×@Ñ@ÓBˆŒØ15×1AÑ1AÀ%Ó1HÑ.ˆÔ˜DÔ.Ø—{‘{×+Ñ+Ó-ˆŒ Ø×*Ñ*¬]×-UÑ-UÑUˆ rcó.—t|j|«Sr"©Úgetattrr¿©r:Úkeys  rÚ __getattr__zOKPacketWrapper.__getattr__6ó€Üt—{‘{ CÓ(Ð(rN©r›rœrržr<rÎrrrr¼r¼s„ñò Vó")rr¼có—eZdZdZd„Zd„Zy)ÚEOFPacketWrapperzÊ
    EOF Packet Wrapper. It uses an existing packet object, and wraps
    around it, exposing useful variables while still providing access
    to the original packet objects variables and methods.
    có0—|j«std|j›d«‚||_|jj    d«\|_|_trtd|j «|j tjz|_ y)NúCannot create 'ú!' object from invalid packet typez<xhhzserver_status=) r…r+r¹r¿rrÃrÂrBr#rrÅrÆrÇs  rr<zEOFPacketWrapper.__init__As€Ø×(Ñ(Ô*ÜØ! $§.¡.Ð!1Ð1RÐSóð ð"ˆŒ Ø15·±×1HÑ1HÈÓ1PÑ.ˆÔ˜DÔ.Ý Ü Ð" D×$6Ñ$6Ô 7Ø×*Ñ*¬]×-UÑ-UÑUˆ rcó.—t|j|«Sr"rÊrÌs  rrÎzEOFPacketWrapper.__getattr__MrÏrNrÐrrrrÒrÒ:s„ñò
Vó)rrÒcó—eZdZdZd„Zd„Zy)ÚLoadLocalPacketWrapperzÑ
    Load Local Packet Wrapper. It uses an existing packet object, and wraps
    around it, exposing useful variables while still providing access
    to the original packet objects variables and methods.
    cóâ—|j«std|j›d«‚||_|jj    «dd|_t rtd|j
«yy)NrÔrÕrz    filename=)rr+r¹r¿r@ÚfilenamerBr#rÇs  rr<zLoadLocalPacketWrapper.__init__Xsg€Ø×/Ñ/Ô1ÜØ! $§.¡.Ð!1Ð1RÐSóð ð"ˆŒ ØŸ ™ ×0Ñ0Ó2°1°2Ð6ˆŒ Ý Ü +˜tŸ}™}Õ -ð rcó.—t|j|«Sr"rÊrÌs  rrÎz"LoadLocalPacketWrapper.__getattr__crÏrNrÐrrrrØrØQs„ñò     .ó)rrØ)ÚcharsetrÚ    constantsrrr rr]r&rBrrrsrtrurvr2r4r¡r¼rÒrØrrrú<module>rÞswðõß0Ýã Û
ð    €à€ ØÐØÐØÐØÐò ÷4o ño ôd:
˜Kô:
÷z)ñ)÷8)ñ)÷.)ò)r