B
    Ñš[Ö\  ã            "   @   sJ  d Z ddlmZ ddlmZ dZdZdZdddd	d
dddddddddddddddddddddddddddddœ!ZdZ	dddddddddddgZ
dd„ ZG dd„ deƒZG d d!„ d!eƒZG d"d#„ d#eƒZG d$d%„ d%eƒZG d&d'„ d'eƒZG d(d)„ d)eƒZG d*d+„ d+eƒZG d,d-„ d-eƒZG d.d/„ d/eƒZG d0d1„ d1eƒZG d2d3„ d3eƒZdS )4z+Various MySQL constants and character sets
é   )ÚProgrammingError)ÚMYSQL_CHARACTER_SETSiÿÿÿ i    i   NÚ z	127.0.0.1iê  TÚutf8Fé    )!ZdatabaseÚuserÚpasswordÚhostÚportZunix_socketZuse_unicodeÚcharsetÚ	collationZconverter_classZ
autocommitZ	time_zoneZsql_modeZget_warningsZraise_on_warningsZconnection_timeoutZclient_flagsÚcompressZbufferedÚrawZssl_caZssl_certZssl_keyZssl_verify_certZ
ssl_cipherÚpasswdÚdbÚconnect_timeoutZdsnZ
force_ipv6Zauth_pluginZallow_local_infileZconsume_results)Z	pool_nameZ	pool_sizeZpool_reset_sessionZfabric_hostZfabric_usernameZfabric_passwordZfabric_portZfabric_connect_attemptsZfabric_connect_delayZfabric_report_errorsZfabric_ssl_caZfabric_ssl_keyZfabric_ssl_certZfabric_userc             C   s   || @ dkrdS dS )z.Checks if the flag is set

    Returns booleanr   TF© )ÚflagÚflagsr   r   ú�C:\Users\HIRONO~1\AppData\Local\Temp\pip-install-ioykiiwb\mysql-connector-python-rf\mysql_connector_python_rf-2.2.2.data\purelib\mysql\connector\constants.pyÚflag_is_setM   s    r   c               @   sD   e Zd ZdZdZi Zdd„ Zedd„ ƒZedd„ ƒZ	ed	d
„ ƒZ
dS )Ú
_Constantsz"
    Base class for constants
    r   c             C   s   t d| j ƒ‚d S )NzCan not instanciate from %s)Ú	TypeErrorÚ__name__)Úclsr   r   r   Ú__new__]   s    z_Constants.__new__c             C   s   y| j | d S    dS dS )z!Get description of given constantr   N)Údesc)r   Únamer   r   r   Úget_desc`   s    z_Constants.get_descc             C   s,   x&| j  ¡ D ]\}}|d |kr|S qW dS )z$Get information about given constantr   N)r   Úitems)r   Únumr   Úinfor   r   r   Úget_infoh   s    z_Constants.get_infoc          
   C   sL   d}ydd„ | j  ¡ D ƒ}W n* tk
rF } zd| }W dd}~X Y nX |S )z)get full information about given constantr   c             S   s    g | ]\}}d ||d f ‘qS )z%s : %sr   r   )Ú.0ÚkÚvr   r   r   ú
<listcomp>u   s    z,_Constants.get_full_info.<locals>.<listcomp>z)No information found in constant class.%sN)r   r   Ú	Exception)r   ÚresÚerrr   r   r   Úget_full_infop   s    z_Constants.get_full_infoN)r   Ú
__module__Ú__qualname__Ú__doc__Úprefixr   r   Úclassmethodr   r"   r*   r   r   r   r   r   V   s   r   c               @   s   e Zd ZdZedd„ ƒZdS )Ú_Flagsz,Base class for classes describing flags
    c             C   s6   g }x,| j  ¡ D ]\}}||d @ r| |¡ qW |S )z@Get the name of all bits set

        Returns a list of strings.r   )r   r   Úappend)r   Úvaluer(   r   r!   r   r   r   Úget_bit_info€   s
    z_Flags.get_bit_infoN)r   r+   r,   r-   r/   r3   r   r   r   r   r0   |   s   r0   c               @   sì   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9œZ e!d:d;„ ƒZ"e!d<d=„ ƒZ#e!d>d?„ ƒZ$e!d@dA„ ƒZ%dBS )CÚ	FieldTypezMySQL Field Types
    ZFIELD_TYPE_r   r   é   é   é   é   é   é   é   é	   é
   é   é   é   é   é   é   éö   é÷   éø   éù   éú   éû   éü   éý   éþ   éÿ   )r   ÚDECIMAL)r   ÚTINY)r5   ÚSHORT)r6   ÚLONG)r7   ÚFLOAT)r8   ÚDOUBLE)r9   ÚNULL)r:   Ú	TIMESTAMP)r;   ÚLONGLONG)r<   ÚINT24)r=   ÚDATE)r>   ÚTIME)r?   ÚDATETIME)r@   ÚYEAR)rA   ÚNEWDATE)rB   ÚVARCHAR)rC   ÚBIT)rD   Ú
NEWDECIMAL)rE   ÚENUM)rF   ÚSET)rG   Ú	TINY_BLOB)rH   ÚMEDIUM_BLOB)rI   Ú	LONG_BLOB)rJ   ÚBLOB)rK   Ú
VAR_STRING)rL   ÚSTRING)rM   ÚGEOMETRY)rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   c             C   s   | j | j| j| jgS )z Get the list of all string types)r]   r`   rf   rg   )r   r   r   r   Úget_string_typesÊ   s    zFieldType.get_string_typesc             C   s   | j | j| j| jgS )z Get the list of all binary types)rb   rc   rd   re   )r   r   r   r   Úget_binary_typesÓ   s    zFieldType.get_binary_typesc             C   s0   | j | j| j| j| j| j| j| j| j| j	| j
gS )z Get the list of all number types)rN   r_   rO   rP   rQ   rR   rS   rV   rW   r^   r[   )r   r   r   r   Úget_number_typesÛ   s    zFieldType.get_number_typesc             C   s   | j | jgS )z#Get the list of all timestamp types)rZ   rU   )r   r   r   r   Úget_timestamp_typesç   s    zFieldType.get_timestamp_typesN)&r   r+   r,   r-   r.   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   r   r/   ri   rj   rk   rl   r   r   r   r   r4   Œ   sx   	r4   c               @   s¤   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0œZd1S )2Ú	FieldFlagz_MySQL Field Flags

    Field flags as found in MySQL sources mysql-src/include/mysql_com.h
    r   r   r5   r7   r;   rC   é    é@   é€   é   i   i   i   i   i    i @  i €  i   i   i   i   i   i    )r   zField can't be NULL)r5   zField is part of a primary key)r7   zField is part of a unique key)r;   zField is part of a key)rC   zField is a blob)rn   zField is unsigned)ro   zField is zerofill)rp   zField is binary  )rq   zfield is an enum)i   zfield is a autoincrement field)i   zField is a timestamp)i   zfield is a set)i   z Field doesn't have default value)i    zField is set to NOW on UPDATE)i @  zField is num (for clients))i €  zIntern; Part of some key)i @  zIntern: Group field)i   zIntern: Used by sql_yacc)i   zIntern: Used by sql_yacc)i   zUsed to get fields in item tree)i   zField part of partition func)i   zIntern: Field used in ADD INDEX)i    zIntern: Field is being renamed)ÚNOT_NULLÚPRI_KEYÚ
UNIQUE_KEYÚMULTIPLE_KEYre   ÚUNSIGNEDÚZEROFILLÚBINARYr`   ÚAUTO_INCREMENTrU   ra   ÚNO_DEFAULT_VALUEÚON_UPDATE_NOWÚNUMÚPART_KEYÚGROUPÚUNIQUEÚBINCMPÚGET_FIXED_FIELDSÚFIELD_IN_PART_FUNCÚFIELD_IN_ADD_INDEXÚFIELD_IS_RENAMEDN)r   r+   r,   r-   Ú_prefixrr   rs   rt   ru   re   rv   rw   rx   r`   ry   rU   ra   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r   r   r   r   r   rm   ï   s`   rm   c            !   @   sÚ   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCœ Z%dDS )EÚ	ServerCmdzMySQL Server Commands
    ZCOM_r   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é   )r   ÚSLEEP)r   ÚQUIT)r5   ÚINIT_DB)r6   ÚQUERY)r7   Ú
FIELD_LIST)r8   Ú	CREATE_DB)r9   ÚDROP_DB)r:   ÚREFRESH)r;   ÚSHUTDOWN)r<   Ú
STATISTICS)r=   ÚPROCESS_INFO)r>   ÚCONNECT)r?   ÚPROCESS_KILL)r@   ÚDEBUG)rA   ÚPING)rB   rY   )rC   ÚDELAYED_INSERT)r‡   ÚCHANGE_USER)rˆ   ÚBINLOG_DUMP)r‰   Ú
TABLE_DUMP)rŠ   ÚCONNECT_OUT)r‹   ÚREGISTER_SLAVE)rŒ   ÚSTMT_PREPARE)r�   ÚSTMT_EXECUTE)rŽ   ÚSTMT_SEND_LONG_DATA)r�   Ú
STMT_CLOSE)r�   Ú
STMT_RESET)r‘   Ú
SET_OPTION)r’   Ú
STMT_FETCH)r“   ÚDAEMON)r”   ÚBINLOG_DUMP_GTID)r•   ÚRESET_CONNECTION) r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   rY   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   N)&r   r+   r,   r-   r…   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   r¤   rY   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   r³   r´   r   r   r   r   r   r†   ,  s„   r†   c               @   sÚ   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8œZeeeeeeeeeg	Z e!d9d:„ ƒZ"d;S )<Ú
ClientFlagzgMySQL Client Flags

    Client options as found in the MySQL sources mysql-src/include/mysql_com.h
    r   r5   r7   r;   rC   rn   ro   rp   rq   i   i   i   i   i    i @  i €  i   i   i   i   i   i    i  @ i  € i   i   @l        )r   zNew more secure passwords)r5   zFound instead of affected rows)r7   zGet all column flags)r;   zOne can specify db on connect)rC   z!Don't allow database.table.column)rn   zCan use compression protocol)ro   zODBC client)rp   zCan use LOAD DATA LOCAL)rq   zIgnore spaces before '')i   zNew 4.1 protocol)i   zThis is an interactive client)i   zSwitch to SSL after handshake)i   zIGNORE sigpipes)i    zClient knows about transactions)i @  zOld flag for 4.1 protocol)i €  zNew 4.1 authentication)i   z!Enable/disable multi-stmt support)i   zEnable/disable multi-results)i   zMulti-results in PS-protocol)i   z%Client supports plugin authentication)i   z%Client supports connection attributes)i    zAEnable authentication response packet to be larger than 255 bytes)i  @ zADon't close the connection for a connection with expired password)i  € z3Capable of handling server state change information)i   z!Client no longer needs EOF packet)i   @r   )l        r   )ÚLONG_PASSWDÚ
FOUND_ROWSÚ	LONG_FLAGÚCONNECT_WITH_DBÚ	NO_SCHEMAÚCOMPRESSÚODBCÚLOCAL_FILESÚIGNORE_SPACEÚPROTOCOL_41ÚINTERACTIVEÚSSLÚIGNORE_SIGPIPEÚTRANSACTIONSÚRESERVEDÚSECURE_CONNECTIONÚMULTI_STATEMENTSÚMULTI_RESULTSÚPS_MULTI_RESULTSÚPLUGIN_AUTHÚCONNECT_ARGSÚPLUGIN_AUTH_LENENC_CLIENT_DATAÚCAN_HANDLE_EXPIRED_PASSWORDSÚSESION_TRACKÚDEPRECATE_EOFÚSSL_VERIFY_SERVER_CERTÚREMEMBER_OPTIONSc             C   s    d}x| j D ]}||O }qW |S )zbGet the default client options set

        Returns a flag with all the default client options setr   )Údefault)r   r   Úoptionr   r   r   Úget_defaultÁ  s    zClientFlag.get_defaultN)#r   r+   r,   r-   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   r   rÑ   r/   rÓ   r   r   r   r   rµ   u  s‚   rµ   c            
   @   sP   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZddddddddddœ	ZdS )Ú
ServerFlagzeMySQL Server Flags

    Server flags as found in the MySQL sources mysql-src/include/mysql_com.h
    ZSERVER_r   r5   r;   rC   rn   ro   rp   rq   i   )r   zTransaction has started)r5   zServer in auto_commit mode)r;   zMulti query - next query exists)rC   r   )rn   r   )ro   r   )rp   r   )rq   zA database was dropped)i   r   )	ZSERVER_STATUS_IN_TRANSZSERVER_STATUS_AUTOCOMMITZSERVER_MORE_RESULTS_EXISTSZSERVER_QUERY_NO_GOOD_INDEX_USEDZSERVER_QUERY_NO_INDEX_USEDZSERVER_STATUS_CURSOR_EXISTSZSERVER_STATUS_LAST_ROW_SENTZSERVER_STATUS_DB_DROPPEDZ"SERVER_STATUS_NO_BACKSLASH_ESCAPESN)r   r+   r,   r-   r…   ZSTATUS_IN_TRANSZSTATUS_AUTOCOMMITZMORE_RESULTS_EXISTSZQUERY_NO_GOOD_INDEX_USEDZQUERY_NO_INDEX_USEDZSTATUS_CURSOR_EXISTSZSTATUS_LAST_ROW_SENTZSTATUS_DB_DROPPEDZSTATUS_NO_BACKSLASH_ESCAPESr   r   r   r   r   rÔ   Ì  s(   rÔ   c               @   sD   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
dddddddœZdS )ÚRefreshOptionzaMySQL Refresh command options

    Options used when sending the COM_REFRESH server command.
    ZREFRESH_r   r5   r7   r;   rC   rn   ro   )r   zRefresh grant tables)r5   zStart on new log file)r7   zclose all tables)r;   zFlush host cache)rC   zFlush status variables)rn   zFlush thread cache)ro   z*Reset master info and restart slave thread)ÚGRANTÚLOGÚTABLESZHOSTSÚSTATUSÚTHREADSÚSLAVEN)r   r+   r,   r-   r…   rÖ   r×   rØ   ZHOSTrÙ   rÚ   rÛ   r   r   r   r   r   rÕ   í  s    rÕ   c            	   @   sj   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zedfedfedfedfe	dfe
dfedfedfdœZdS )ÚShutdownTypezVMySQL Shutdown types

    Shutdown types used by the COM_SHUTDOWN server command.
    r   r   r   r5   r;   rC   r‡   rL   rM   z%defaults to SHUTDOWN_WAIT_ALL_BUFFERSz'wait for existing connections to finishz!wait for existing trans to finishz#wait for existing updates to finishz-flush InnoDB and other storage engine buffersz@don't flush InnoDB buffers, flush other storage engines' buffersz(no description))ÚSHUTDOWN_DEFAULTÚSHUTDOWN_WAIT_CONNECTIONSÚSHUTDOWN_WAIT_TRANSACTIONSÚSHUTDOWN_WAIT_UPDATESÚSHUTDOWN_WAIT_ALL_BUFFERSÚSHUTDOWN_WAIT_CRITICAL_BUFFERSÚ
KILL_QUERYÚKILL_CONNECTIONN)r   r+   r,   r-   r…   rÝ   rÞ   rß   rà   rá   râ   rã   rä   r   r   r   r   r   rÜ     s4   rÜ   c               @   sV   e Zd ZdZeZdZedd„ ƒZedd„ ƒZ	edd„ ƒZ
edd
d„ƒZedd„ ƒZd	S )ÚCharacterSetaL  MySQL supported character sets and collations

    List of character sets with their collations supported by MySQL. This
    maps to the character set we get from the server within the handshake
    packet.

    The list is hardcode so we avoid a database query when getting the
    name of the used character set or collation.
    )r   r@   r’   éT   éW   éX   c             C   s:   y| j | dd… S  tk
r4   td |¡ƒ‚Y nX dS )a  Retrieves character set information as tuple using an ID

        Retrieves character set and collation information based on the
        given MySQL ID.

        Raises ProgrammingError when character set is not supported.

        Returns a tuple.
        r   r5   zCharacter set '{0}' unsupportedN)r   Ú
IndexErrorr   Úformat)r   Úsetidr   r   r   r"   A  s
    zCharacterSet.get_infoc             C   s"   yd|   |¡ S    ‚ Y nX dS )z¼Retrieves character set information as string using an ID

        Retrieves character set and collation information based on the
        given MySQL ID.

        Returns a tuple.
        z%s/%sN)r"   )r   rë   r   r   r   r   R  s    	zCharacterSet.get_descc             C   sœ   t |tƒr@y| j| }|d |d |fS    td| ƒ Y nX xJt| jƒD ]<\}}|dkr^qL|d |krL|d dkrL|d |d |fS qLW td| ƒ‚dS )z¸Retrieves the default collation for given character set

        Raises ProgrammingError when character set is not supported.

        Returns list (collation, charset, index)
        r   r   z"Character set ID '%s' unsupported.Nr5   TzCharacter set '%s' unsupported.)Ú
isinstanceÚintr   r   Ú	enumerate)r   r   r!   Úcidr   r   r   Úget_default_collation`  s    

z"CharacterSet.get_default_collationNc             C   s8  t |tƒrJy| j| }||d |d fS  tk
rH   td |¡ƒ Y nX |dk	rz|dkrz|  |¡}|d |d |d fS |dkrÚ|dk	rÚx>t| jƒD ]0\}}|dkr¨q–||d kr–||d |d fS q–W td |¡ƒ‚nZxJt| jƒD ]<\}}|dkrøqæ|d |kræ|d |kræ||d |d fS qæW td |¡ƒ‚dS )aE  Get character set information using charset name and/or collation

        Retrieves character set and collation information given character
        set name and/or a collation name.
        If charset is an integer, it will look up the character set based
        on the MySQL's ID.
        For example:
            get_charset_info('utf8',None)
            get_charset_info(collation='utf8_general_ci')
            get_charset_info(47)

        Raises ProgrammingError when character set is not supported.

        Returns a tuple with (id, characterset name, collation)
        r   r   zCharacter set ID {0} unknown.Nr5   zCollation '{0}' unknown.zCharacter set '{0}' unknown.)rì   rí   r   ré   r   rê   rð   rî   )r   r   r   r!   rï   r   r   r   Úget_charset_infox  s0    


zCharacterSet.get_charset_infoc             C   s:   g }x,| j D ]"}|r|d |kr| |d ¡ qW t|ƒS )z^Retrieves a list with names of all supproted character sets

        Returns a tuple.
        r   )r   r1   Útuple)r   r(   r!   r   r   r   Úget_supported¤  s
    zCharacterSet.get_supported)NN)r   r+   r,   r-   r   r   Zslash_charsetsr/   r"   r   rð   rñ   ró   r   r   r   r   rå   2  s   	+rå   c               @   s¸   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$e%d#d$„ ƒZ&e%d%d&„ ƒZ'e%d'd(„ ƒZ(d)S )*ÚSQLModezúMySQL SQL Modes

    The numeric values of SQL Modes are not interesting, only the names
    are used when setting the SQL_MODE system variable using the MySQL
    SET command.

    See http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html
    ZMODE_ÚREAL_AS_FLOATÚPIPES_AS_CONCATÚANSI_QUOTESr¾   ÚNOT_USEDÚONLY_FULL_GROUP_BYÚNO_UNSIGNED_SUBTRACTIONÚNO_DIR_IN_CREATEÚ
POSTGRESQLÚORACLEÚMSSQLÚDB2ÚMAXDBÚNO_KEY_OPTIONSÚNO_TABLE_OPTIONSÚNO_FIELD_OPTIONSÚMYSQL323ÚMYSQL40ÚANSIÚNO_AUTO_VALUE_ON_ZEROÚNO_BACKSLASH_ESCAPESÚSTRICT_TRANS_TABLESÚSTRICT_ALL_TABLESÚNO_ZERO_IN_DATEÚNO_ZERO_DATEÚINVALID_DATESÚERROR_FOR_DIVISION_BY_ZEROÚTRADITIONALÚNO_AUTO_CREATE_USERÚHIGH_NOT_PRECEDENCEÚNO_ENGINE_SUBSTITUTIONÚPAD_CHAR_TO_FULL_LENGTHc             C   s   t ‚d S )N)ÚNotImplementedError)r   r   r   r   r   r   Ü  s    zSQLMode.get_descc             C   s   t ‚d S )N)r  )r   Únumberr   r   r   r"   à  s    zSQLMode.get_infoc             C   sJ   g }x8t | ƒ ¡ D ](}| d¡stt| |ƒdƒs| |¡ qW tt|ƒƒS )zËReturns a sequence of all available SQL Modes

        This class method returns a tuple containing all SQL Mode names. The
        names will be alphabetically sorted.

        Returns a tuple.
        Ú_Ú__call__)ÚvarsÚkeysÚ
startswithÚhasattrÚgetattrr1   rò   Úsorted)r   r(   Úkeyr   r   r   r*   ä  s    	
zSQLMode.get_full_infoN))r   r+   r,   r-   r…   rõ   rö   r÷   r¾   rø   rù   rú   rû   rü   rý   rþ   rÿ   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r/   r   r"   r*   r   r   r   r   rô   ±  sJ   rô   )r-   Úerrorsr   Zcharsetsr   ZMAX_PACKET_LENGTHZNET_BUFFER_LENGTHZMAX_MYSQL_TABLE_COLUMNSZDEFAULT_CONFIGURATIONZCNX_POOL_ARGSZCNX_FABRIC_ARGSr   Úobjectr   r0   r4   rm   r†   rµ   rÔ   rÕ   rÜ   rå   rô   r   r   r   r   Ú<module>   sp   	&c=IW!,