U e\"@sJdZddlmZddlmZdZdZdZdddd d dd d ddd ddd d ddd d d dddd dddddd dd d d!ZdZ dddddddddddg Z ddZ Gddde Z Gd d!d!e ZGd"d#d#e ZGd$d%d%eZGd&d'd'e ZGd(d)d)eZGd*d+d+eZGd,d-d-e ZGd.d/d/e ZGd0d1d1e ZGd2d3d3e ZdS)4z+Various MySQL constants and character sets )ProgrammingError)MYSQL_CHARACTER_SETSi Nz 127.0.0.1i Tutf8F)!ZdatabaseuserpasswordhostportZ unix_socketZ use_unicodecharset collationZconverter_classZ autocommitZ time_zoneZsql_modeZ get_warningsZraise_on_warningsZconnection_timeoutZ client_flagscompressbufferedrawZssl_caZssl_certZssl_keyZssl_verify_certZ ssl_cipherpasswddbconnect_timeoutZdsnZ force_ipv6Z auth_pluginZallow_local_infileZconsume_results)Z pool_nameZ pool_sizeZpool_reset_sessionZ fabric_hostZfabric_usernameZfabric_passwordZ fabric_portZfabric_connect_attemptsZfabric_connect_delayZfabric_report_errorsZ fabric_ssl_caZfabric_ssl_keyZfabric_ssl_certZ fabric_usercCs||@dkrdSdS)z.Checks if the flag is set Returns booleanrTF)flagflagsrrn/opt/hc_python/lib64/python3.8/site-packages/../../../lib/python3.8/site-packages/mysql/connector/constants.py flag_is_setMs rc@sDeZdZdZdZiZddZeddZeddZ ed d Z d S) _Constantsz" Base class for constants rcCstd|jdS)NzCan not instanciate from %s) TypeError__name__clsrrr__new__]sz_Constants.__new__cCs$z|j|dWSYdSXdS)z!Get description of given constantrN)descrnamerrrget_desc`sz_Constants.get_desccCs,|jD]\}}|d|kr |Sq dS)z$Get information about given constantrN)r items)rnumr"inforrrget_infohs  z_Constants.get_infoc CsLd}zdd|jD}Wn*tk rF}z d|}W5d}~XYnX|S)z)get full information about given constantrcSs g|]\}}d||dfqS)z%s : %srr).0kvrrr usz,_Constants.get_full_info..z)No information found in constant class.%sN)r r$ Exception)rreserrrrr get_full_infops z_Constants.get_full_infoN) r __module__ __qualname____doc__prefixr r classmethodr#r'r/rrrrrVs  rc@seZdZdZeddZdS)_Flagsz,Base class for classes describing flags cCs2g}|jD]\}}||d@r||q|S)z@Get the name of all bits set Returns a list of strings.r)r r$append)rvaluer-r"r&rrr get_bit_infos   z_Flags.get_bit_infoN)rr0r1r2r4r8rrrrr5|sr5c@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9Z e!d:d;Z"e!dd?Z$e!d@dAZ%dBS)C FieldTypezMySQL Field Types Z FIELD_TYPE_rr )rDECIMAL)rTINY)r:SHORT)r;LONG)r<FLOAT)r=DOUBLE)r>NULL)r? TIMESTAMP)r@LONGLONG)rAINT24)rBDATE)rCTIME)rDDATETIME)rEYEAR)rFNEWDATE)rGVARCHAR)rHBIT)rI NEWDECIMAL)rJENUM)rKSET)rL TINY_BLOB)rM MEDIUM_BLOB)rN LONG_BLOB)rOBLOB)rP VAR_STRING)rQSTRING)rRGEOMETRY)rSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmcCs|j|j|j|jgS)z Get the list of all string types)rbrerkrlrrrrget_string_typess zFieldType.get_string_typescCs|j|j|j|jgS)z Get the list of all binary types)rgrhrirjrrrrget_binary_typess zFieldType.get_binary_typesc Cs0|j|j|j|j|j|j|j|j|j|j |j g S)z Get the list of all number types) rSrdrTrUrVrWrXr[r\rcr`rrrrget_number_typesszFieldType.get_number_typescCs |j|jgS)z#Get the list of all timestamp types)r_rZrrrrget_timestamp_typesszFieldType.get_timestamp_typesN)&rr0r1r2r3rSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmr r4rnrorprqrrrrr9s   r9c@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0Zd1S)2 FieldFlagz_MySQL Field Flags Field flags as found in MySQL sources mysql-src/include/mysql_com.h rrr:r<r@rH @rr@ )rzField can't be NULL)r:zField is part of a primary key)r<zField is part of a unique key)r@zField is part of a key)rHzField is a blob)rszField is unsigned)rtzField is zerofill)ruzField is binary )rvzfield is an enum)rwzfield is a autoincrement field)rxzField is a timestamp)ryzfield is a set)rz Field doesn't have default value)rzField is set to NOW on UPDATE)rzzField is num (for clients))r{zIntern; Part of some key)rzzIntern: Group field)r|Intern: Used by sql_yacc)r}r)r~zUsed to get fields in item tree)rzField part of partition func)rzIntern: Field used in ADD INDEX)rzIntern: Field is being renamed)NOT_NULLPRI_KEY UNIQUE_KEY MULTIPLE_KEYrjUNSIGNEDZEROFILLBINARYreAUTO_INCREMENTrZrfNO_DEFAULT_VALUE ON_UPDATE_NOWNUMPART_KEYGROUPUNIQUEBINCMPGET_FIXED_FIELDSFIELD_IN_PART_FUNCFIELD_IN_ADD_INDEXFIELD_IS_RENAMEDN)rr0r1r2_prefixrrrrrjrrrrerrZrfrrrrrrrrrrrr rrrrrrsbrrc!@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdC Z%dDS)E ServerCmdzMySQL Server Commands ZCOM_rrr:r;r<r=r>r?r@rArBrCrDrErFrGrH)rSLEEP)rQUIT)r:INIT_DB)r;QUERY)r< FIELD_LIST)r= CREATE_DB)r>DROP_DB)r?REFRESH)r@SHUTDOWN)rA STATISTICS)rB PROCESS_INFO)rCCONNECT)rD PROCESS_KILL)rEDEBUG)rFPING)rGr^)rHDELAYED_INSERT)r CHANGE_USER)r BINLOG_DUMP)r TABLE_DUMP)r CONNECT_OUT)rREGISTER_SLAVE)r STMT_PREPARE)r STMT_EXECUTE)rSTMT_SEND_LONG_DATA)r STMT_CLOSE)r STMT_RESET)r SET_OPTION)r STMT_FETCH)rDAEMON)rBINLOG_DUMP_GTID)rRESET_CONNECTION) rrrrrrrrrrrrrrrr^rrrrrrrrrrrrrrrrN)&rr0r1r2rrrrrrrrrrrrrrrrr^rrrrrrrrrrrrrrrrr rrrrr,src@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8Zeeee eeeee g Z e!d9d:Z"d;S)< ClientFlagzgMySQL Client Flags Client options as found in the MySQL sources mysql-src/include/mysql_com.h rr:r<r@rHrsrtrurvrwrxryrrrzr{r|r}r~rrr@@)rzNew more secure passwords)r:zFound instead of affected rows)r<zGet all column flags)r@zOne can specify db on connect)rHz!Don't allow database.table.column)rszCan use compression protocol)rtz ODBC client)ruzCan use LOAD DATA LOCAL)rvzIgnore spaces before '')rwzNew 4.1 protocol)rxzThis is an interactive client)ryzSwitch to SSL after handshake)rzIGNORE sigpipes)rzClient knows about transactions)rzzOld flag for 4.1 protocol)r{zNew 4.1 authentication)r|z!Enable/disable multi-stmt support)r}zEnable/disable multi-results)r~zMulti-results in PS-protocol)rz%Client supports plugin authentication)rz%Client supports connection attributes)rzAEnable authentication response packet to be larger than 255 bytes)rzADon't close the connection for a connection with expired password)rz3Capable of handling server state change information)rz!Client no longer needs EOF packet)rr)rr) LONG_PASSWD FOUND_ROWS LONG_FLAGCONNECT_WITH_DB NO_SCHEMACOMPRESSODBC LOCAL_FILES IGNORE_SPACE PROTOCOL_41 INTERACTIVESSLIGNORE_SIGPIPE TRANSACTIONSRESERVEDSECURE_CONNECTIONMULTI_STATEMENTS MULTI_RESULTSPS_MULTI_RESULTS PLUGIN_AUTH CONNECT_ARGSPLUGIN_AUTH_LENENC_CLIENT_DATACAN_HANDLE_EXPIRED_PASSWORDS SESION_TRACK DEPRECATE_EOFSSL_VERIFY_SERVER_CERTREMEMBER_OPTIONScCsd}|jD] }||O}q |S)zbGet the default client options set Returns a flag with all the default client options setr)default)rroptionrrr get_defaults  zClientFlag.get_defaultN)#rr0r1r2rrrrrrrrrrrrrrrrrrrrrrrrrrrr rr4rrrrrrus  rc @sPeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d d dddddddd ZdS) ServerFlagzeMySQL Server Flags Server flags as found in the MySQL sources mysql-src/include/mysql_com.h ZSERVER_rr:r@rHrsrtrurvrw)rzTransaction has started)r:zServer in auto_commit mode)r@zMulti query - next query exists)rHr)rsr)rtr)rur)rvzA database was dropped)rwr) ZSERVER_STATUS_IN_TRANSZSERVER_STATUS_AUTOCOMMITZSERVER_MORE_RESULTS_EXISTSZSERVER_QUERY_NO_GOOD_INDEX_USEDZSERVER_QUERY_NO_INDEX_USEDZSERVER_STATUS_CURSOR_EXISTSZSERVER_STATUS_LAST_ROW_SENTZSERVER_STATUS_DB_DROPPEDZ"SERVER_STATUS_NO_BACKSLASH_ESCAPESN)rr0r1r2rZSTATUS_IN_TRANSZSTATUS_AUTOCOMMITZMORE_RESULTS_EXISTSZQUERY_NO_GOOD_INDEX_USEDZQUERY_NO_INDEX_USEDZSTATUS_CURSOR_EXISTSZSTATUS_LAST_ROW_SENTZSTATUS_DB_DROPPEDZSTATUS_NO_BACKSLASH_ESCAPESr rrrrrs*rc@sDeZdZdZdZdZdZdZdZdZ dZ d Z d d d d ddddZ dS) RefreshOptionzaMySQL Refresh command options Options used when sending the COM_REFRESH server command. ZREFRESH_rr:r<r@rHrsrt)rzRefresh grant tables)r:zStart on new log file)r<zclose all tables)r@zFlush host cache)rHzFlush status variables)rszFlush thread cache)rtz*Reset master info and restart slave thread)GRANTLOGTABLESZHOSTSSTATUSTHREADSSLAVEN) rr0r1r2rrrrZHOSTrrrr rrrrrs"rc @sjeZdZdZdZdZdZdZdZdZ dZ d Z d Z ed fed fed fedfe dfe dfe dfe dfdZ dS) ShutdownTypezVMySQL Shutdown types Shutdown types used by the COM_SHUTDOWN server command. rrrr:r@rHrrQrRz%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_DEFAULTSHUTDOWN_WAIT_CONNECTIONSSHUTDOWN_WAIT_TRANSACTIONSSHUTDOWN_WAIT_UPDATESSHUTDOWN_WAIT_ALL_BUFFERSSHUTDOWN_WAIT_CRITICAL_BUFFERS KILL_QUERYKILL_CONNECTIONN)rr0r1r2rrrrrrrrrr rrrrrsFrc@sVeZdZdZeZdZeddZeddZ eddZ edd d Z ed d Z d S) CharacterSetaLMySQL 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. )rrErTWXcCs<z|j|ddWStk r6td|YnXdS)aRetrieves 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. rr:zCharacter set '{0}' unsupportedN)r IndexErrorrformatrZsetidrrrr'As zCharacterSet.get_infocCs$zd||WSYnXdS)zRetrieves 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'rrrrr#Rs zCharacterSet.get_desccCst|trBz|j|}|d|d|fWStd|YnXt|jD]@\}}|dkr^qL|d|krL|ddkrL|d|d|fSqLtd|dS)zRetrieves the default collation for given character set Raises ProgrammingError when character set is not supported. Returns list (collation, charset, index) rrz"Character set ID '%s' unsupported.Nr:TzCharacter set '%s' unsupported.) isinstanceintr r enumerate)rr r&cidrrrget_default_collation`s   z"CharacterSet.get_default_collationNcCs:t|trLz|j|}||d|dfWStk rJtd|YnX|dk r||dkr|||}|d|d|dfS|dkr|dk rt|jD]4\}}|dkrq||dkr||d|dfSqtd|nZt|jD]@\}}|dkrq|d|kr|d|kr||d|dfSqtd|dS)aEGet 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) rrzCharacter set ID {0} unknown.Nr:zCollation '{0}' unknown.zCharacter set '{0}' unknown.)rrr rrrrr)rr rr&rrrrget_charset_infoxs4     zCharacterSet.get_charset_infocCs6g}|jD]"}|r |d|kr ||dq t|S)z^Retrieves a list with names of all supproted character sets Returns a tuple. r)r r6tuple)rr-r&rrr get_supporteds  zCharacterSet.get_supported)NN) rr0r1r2rr Zslash_charsetsr4r'r#rrr rrrrr2s     +rc@seZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$e%d#d$Z&e%d%d&Z'e%d'd(Z(d)S)*SQLModezMySQL 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 ZMODE_ REAL_AS_FLOATPIPES_AS_CONCAT ANSI_QUOTESrNOT_USEDONLY_FULL_GROUP_BYNO_UNSIGNED_SUBTRACTIONNO_DIR_IN_CREATE POSTGRESQLORACLEMSSQLDB2MAXDBNO_KEY_OPTIONSNO_TABLE_OPTIONSNO_FIELD_OPTIONSMYSQL323MYSQL40ANSINO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESSTRICT_TRANS_TABLESSTRICT_ALL_TABLESNO_ZERO_IN_DATE NO_ZERO_DATE INVALID_DATESERROR_FOR_DIVISION_BY_ZERO TRADITIONALNO_AUTO_CREATE_USERHIGH_NOT_PRECEDENCENO_ENGINE_SUBSTITUTIONPAD_CHAR_TO_FULL_LENGTHcCstdSNNotImplementedErrorr!rrrr#szSQLMode.get_desccCstdSr*r+)rnumberrrrr'szSQLMode.get_infocCsFg}t|D](}|dstt||ds||qtt|S)zReturns 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__)varskeys startswithhasattrgetattrr6rsorted)rr-keyrrrr/s   zSQLMode.get_full_infoN))rr0r1r2rr r r rrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r4r#r'r/rrrrr sP  r )r2errorsrZcharsetsrZMAX_PACKET_LENGTHZNET_BUFFER_LENGTHZMAX_MYSQL_TABLE_COLUMNSZDEFAULT_CONFIGURATIONZ CNX_POOL_ARGSZCNX_FABRIC_ARGSrobjectrr5r9rrrrrrrrr rrrrs|  $ &c=IW!,