<s> """<STR_LIT>""" <EOL> from mysql . connector . errors import ProgrammingError <EOL> MAX_PACKET_LENGTH = <NUM_LIT> <EOL> NET_BUFFER_LENGTH = <NUM_LIT> <EOL> RESULT_WITHOUT_ROWS = <NUM_LIT:0> <EOL> RESULT_WITH_ROWS = <NUM_LIT:1> <EOL> def flag_is_set ( flag , flags ) : <EOL> """<STR_LIT>""" <EOL> if ( flags & flag ) > <NUM_LIT:0> : <EOL> return True <EOL> return False <EOL> class _constants ( object ) : <EOL> prefix = '<STR_LIT>' <EOL> desc = { } <EOL> def __new__ ( cls ) : <EOL> raise TypeError , "<STR_LIT>" % cls . __name__ <EOL> @ classmethod <EOL> def get_desc ( cls , name ) : <EOL> try : <EOL> return cls . desc [ name ] [ <NUM_LIT:1> ] <EOL> except : <EOL> return None <EOL> @ classmethod <EOL> def get_info ( cls , n ) : <EOL> for name , info in cls . desc . items ( ) : <EOL> if info [ <NUM_LIT:0> ] == n : <EOL> return name <EOL> return None <EOL> @ classmethod <EOL> def get_full_info ( cls ) : <EOL> res = ( ) <EOL> try : <EOL> res = [ "<STR_LIT>" % ( k , v [ <NUM_LIT:1> ] ) for k , v in cls . desc . items ( ) ] <EOL> except StandardError , e : <EOL> res = ( '<STR_LIT>' % e ) <EOL> return res <EOL> class _constantflags ( _constants ) : <EOL> @ classmethod <EOL> def get_bit_info ( cls , v ) : <EOL> """<STR_LIT>""" <EOL> res = [ ] <EOL> for name , d in cls . desc . items ( ) : <EOL> if v & d [ <NUM_LIT:0> ] : <EOL> res . append ( name ) <EOL> return res <EOL> class FieldType ( _constants ) : <EOL> prefix = '<STR_LIT>' <EOL> DECIMAL = <NUM_LIT> <EOL> TINY = <NUM_LIT> <EOL> SHORT = <NUM_LIT> <EOL> LONG = <NUM_LIT> <EOL> FLOAT = <NUM_LIT> <EOL> DOUBLE = <NUM_LIT> <EOL> NULL = <NUM_LIT> <EOL> TIMESTAMP = <NUM_LIT> <EOL> LONGLONG = <NUM_LIT> <EOL> INT24 = <NUM_LIT> <EOL> DATE = <NUM_LIT> <EOL> TIME = <NUM_LIT> <EOL> DATETIME = <NUM_LIT> <EOL> YEAR = <NUM_LIT> <EOL> NEWDATE = <NUM_LIT> <EOL> VARCHAR = <NUM_LIT> <EOL> BIT = <NUM_LIT> <EOL> NEWDECIMAL = <NUM_LIT> <EOL> ENUM = <NUM_LIT> <EOL> SET = <NUM_LIT> <EOL> TINY_BLOB = <NUM_LIT> <EOL> MEDIUM_BLOB = <NUM_LIT> <EOL> LONG_BLOB = <NUM_LIT> <EOL> BLOB = <NUM_LIT> <EOL> VAR_STRING = <NUM_LIT> <EOL> STRING = <NUM_LIT> <EOL> GEOMETRY = <NUM_LIT> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> } <EOL> @ classmethod <EOL> def get_string_types ( cls ) : <EOL> return [ <EOL> cls . VARCHAR , <EOL> cls . ENUM , <EOL> cls . VAR_STRING , cls . STRING , <EOL> ] <EOL> @ classmethod <EOL> def get_binary_types ( cls ) : <EOL> return [ <EOL> cls . TINY_BLOB , cls . MEDIUM_BLOB , <EOL> cls . LONG_BLOB , cls . BLOB , <EOL> ] <EOL> @ classmethod <EOL> def get_number_types ( cls ) : <EOL> return [ <EOL> cls . DECIMAL , cls . NEWDECIMAL , <EOL> cls . TINY , cls . SHORT , cls . LONG , <EOL> cls . FLOAT , cls . DOUBLE , <EOL> cls . LONGLONG , cls . INT24 , <EOL> cls . BIT , <EOL> cls . YEAR , <EOL> ] <EOL> @ classmethod <EOL> def get_timestamp_types ( cls ) : <EOL> return [ <EOL> cls . DATETIME , cls . TIMESTAMP , <EOL> ] <EOL> class FieldFlag ( _constantflags ) : <EOL> """<STR_LIT>""" <EOL> _prefix = '<STR_LIT>' <EOL> NOT_NULL = <NUM_LIT:1> << <NUM_LIT:0> <EOL> PRI_KEY = <NUM_LIT:1> << <NUM_LIT:1> <EOL> UNIQUE_KEY = <NUM_LIT:1> << <NUM_LIT:2> <EOL> MULTIPLE_KEY = <NUM_LIT:1> << <NUM_LIT:3> <EOL> BLOB = <NUM_LIT:1> << <NUM_LIT:4> <EOL> UNSIGNED = <NUM_LIT:1> << <NUM_LIT:5> <EOL> ZEROFILL = <NUM_LIT:1> << <NUM_LIT:6> <EOL> BINARY = <NUM_LIT:1> << <NUM_LIT:7> <EOL> ENUM = <NUM_LIT:1> << <NUM_LIT:8> <EOL> AUTO_INCREMENT = <NUM_LIT:1> << <NUM_LIT:9> <EOL> TIMESTAMP = <NUM_LIT:1> << <NUM_LIT:10> <EOL> SET = <NUM_LIT:1> << <NUM_LIT:11> <EOL> NO_DEFAULT_VALUE = <NUM_LIT:1> << <NUM_LIT:12> <EOL> ON_UPDATE_NOW = <NUM_LIT:1> << <NUM_LIT> <EOL> NUM = <NUM_LIT:1> << <NUM_LIT> <EOL> PART_KEY = <NUM_LIT:1> << <NUM_LIT:15> <EOL> GROUP = <NUM_LIT:1> << <NUM_LIT> <EOL> UNIQUE = <NUM_LIT:1> << <NUM_LIT:16> <EOL> BINCMP = <NUM_LIT:1> << <NUM_LIT> <EOL> GET_FIXED_FIELDS = <NUM_LIT:1> << <NUM_LIT> <EOL> FIELD_IN_PART_FUNC = <NUM_LIT:1> << <NUM_LIT> <EOL> FIELD_IN_ADD_INDEX = <NUM_LIT:1> << <NUM_LIT:20> <EOL> FIELD_IS_RENAMED = <NUM_LIT:1> << <NUM_LIT> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:0> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:1> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:2> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:3> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:4> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:5> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:6> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:7> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:8> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:9> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:10> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:11> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:12> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:15> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:16> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:20> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , "<STR_LIT>" ) , <EOL> } <EOL> class ServerCmd ( _constants ) : <EOL> _prefix = '<STR_LIT>' <EOL> SLEEP = <NUM_LIT:0> <EOL> QUIT = <NUM_LIT:1> <EOL> INIT_DB = <NUM_LIT:2> <EOL> QUERY = <NUM_LIT:3> <EOL> FIELD_LIST = <NUM_LIT:4> <EOL> CREATE_DB = <NUM_LIT:5> <EOL> DROP_DB = <NUM_LIT:6> <EOL> REFRESH = <NUM_LIT:7> <EOL> SHUTDOWN = <NUM_LIT:8> <EOL> STATISTICS = <NUM_LIT:9> <EOL> PROCESS_INFO = <NUM_LIT:10> <EOL> CONNECT = <NUM_LIT:11> <EOL> PROCESS_KILL = <NUM_LIT:12> <EOL> DEBUG = <NUM_LIT> <EOL> PING = <NUM_LIT> <EOL> TIME = <NUM_LIT:15> <EOL> DELAYED_INSERT = <NUM_LIT:16> <EOL> CHANGE_USER = <NUM_LIT> <EOL> BINLOG_DUMP = <NUM_LIT> <EOL> TABLE_DUMP = <NUM_LIT> <EOL> CONNECT_OUT = <NUM_LIT:20> <EOL> REGISTER_SLAVE = <NUM_LIT> <EOL> STMT_PREPARE = <NUM_LIT> <EOL> STMT_EXECUTE = <NUM_LIT> <EOL> STMT_SEND_LONG_DATA = <NUM_LIT> <EOL> STMT_CLOSE = <NUM_LIT> <EOL> STMT_RESET = <NUM_LIT> <EOL> SET_OPTION = <NUM_LIT> <EOL> STMT_FETCH = <NUM_LIT> <EOL> DAEMON = <NUM_LIT> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT:0> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:2> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:3> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:5> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:6> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:7> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:8> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:9> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:10> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:11> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:12> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:15> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:16> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:20> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> } <EOL> class ClientFlag ( _constantflags ) : <EOL> """<STR_LIT>""" <EOL> LONG_PASSWD = <NUM_LIT:1> << <NUM_LIT:0> <EOL> FOUND_ROWS = <NUM_LIT:1> << <NUM_LIT:1> <EOL> LONG_FLAG = <NUM_LIT:1> << <NUM_LIT:2> <EOL> CONNECT_WITH_DB = <NUM_LIT:1> << <NUM_LIT:3> <EOL> NO_SCHEMA = <NUM_LIT:1> << <NUM_LIT:4> <EOL> COMPRESS = <NUM_LIT:1> << <NUM_LIT:5> <EOL> ODBC = <NUM_LIT:1> << <NUM_LIT:6> <EOL> LOCAL_FILES = <NUM_LIT:1> << <NUM_LIT:7> <EOL> IGNORE_SPACE = <NUM_LIT:1> << <NUM_LIT:8> <EOL> PROTOCOL_41 = <NUM_LIT:1> << <NUM_LIT:9> <EOL> INTERACTIVE = <NUM_LIT:1> << <NUM_LIT:10> <EOL> SSL = <NUM_LIT:1> << <NUM_LIT:11> <EOL> IGNORE_SIGPIPE = <NUM_LIT:1> << <NUM_LIT:12> <EOL> TRANSACTIONS = <NUM_LIT:1> << <NUM_LIT> <EOL> RESERVED = <NUM_LIT:1> << <NUM_LIT> <EOL> SECURE_CONNECTION = <NUM_LIT:1> << <NUM_LIT:15> <EOL> MULTI_STATEMENTS = <NUM_LIT:1> << <NUM_LIT:16> <EOL> MULTI_RESULTS = <NUM_LIT:1> << <NUM_LIT> <EOL> SSL_VERIFY_SERVER_CERT = <NUM_LIT:1> << <NUM_LIT:30> <EOL> REMEMBER_OPTIONS = <NUM_LIT:1> << <NUM_LIT> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:0> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:2> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:3> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:4> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:5> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:6> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:7> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:8> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:9> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:10> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:11> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:12> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:15> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:16> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:30> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT> , '<STR_LIT>' ) , <EOL> } <EOL> default = [ <EOL> LONG_PASSWD , <EOL> LONG_FLAG , <EOL> CONNECT_WITH_DB , <EOL> PROTOCOL_41 , <EOL> TRANSACTIONS , <EOL> SECURE_CONNECTION , <EOL> MULTI_STATEMENTS , <EOL> MULTI_RESULTS , <EOL> ] <EOL> @ classmethod <EOL> def get_default ( cls ) : <EOL> flags = <NUM_LIT:0> <EOL> for f in cls . default : <EOL> flags |= f <EOL> return flags <EOL> class ServerFlag ( _constantflags ) : <EOL> """<STR_LIT>""" <EOL> _prefix = '<STR_LIT>' <EOL> STATUS_IN_TRANS = <NUM_LIT:1> << <NUM_LIT:0> <EOL> STATUS_AUTOCOMMIT = <NUM_LIT:1> << <NUM_LIT:1> <EOL> MORE_RESULTS_EXISTS = <NUM_LIT:1> << <NUM_LIT:3> <EOL> QUERY_NO_GOOD_INDEX_USED = <NUM_LIT:1> << <NUM_LIT:4> <EOL> QUERY_NO_INDEX_USED = <NUM_LIT:1> << <NUM_LIT:5> <EOL> STATUS_CURSOR_EXISTS = <NUM_LIT:1> << <NUM_LIT:6> <EOL> STATUS_LAST_ROW_SENT = <NUM_LIT:1> << <NUM_LIT:7> <EOL> STATUS_DB_DROPPED = <NUM_LIT:1> << <NUM_LIT:8> <EOL> STATUS_NO_BACKSLASH_ESCAPES = <NUM_LIT:1> << <NUM_LIT:9> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:0> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:3> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:5> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:6> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:7> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:8> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:9> , '<STR_LIT>' ) , <EOL> } <EOL> class RefreshOption ( _constants ) : <EOL> """<STR_LIT>""" <EOL> _prefix = '<STR_LIT>' <EOL> GRANT = <NUM_LIT:1> << <NUM_LIT:0> <EOL> LOG = <NUM_LIT:1> << <NUM_LIT:1> <EOL> TABLES = <NUM_LIT:1> << <NUM_LIT:2> <EOL> HOST = <NUM_LIT:1> << <NUM_LIT:3> <EOL> STATUS = <NUM_LIT:1> << <NUM_LIT:4> <EOL> THREADS = <NUM_LIT:1> << <NUM_LIT:5> <EOL> SLAVE = <NUM_LIT:1> << <NUM_LIT:6> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:0> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:1> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:2> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:3> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:4> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:5> , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> << <NUM_LIT:6> , '<STR_LIT>' ) , <EOL> } <EOL> class ShutdownType ( _constants ) : <EOL> """<STR_LIT>""" <EOL> _prefix = '<STR_LIT>' <EOL> SHUTDOWN_DEFAULT = <NUM_LIT:0> <EOL> SHUTDOWN_WAIT_CONNECTIONS = <NUM_LIT:1> <EOL> SHUTDOWN_WAIT_TRANSACTIONS = <NUM_LIT:2> <EOL> SHUTDOWN_WAIT_UPDATES = <NUM_LIT:8> <EOL> SHUTDOWN_WAIT_ALL_BUFFERS = <NUM_LIT:10> <EOL> SHUTDOWN_WAIT_CRITICAL_BUFFERS = <NUM_LIT:11> <EOL> KILL_QUERY = <NUM_LIT> <EOL> KILL_CONNECTION = <NUM_LIT:255> <EOL> desc = { <EOL> '<STR_LIT>' : ( <NUM_LIT:0> , <EOL> "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:1> , <EOL> "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:2> , <EOL> "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:8> , <EOL> "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:10> , <EOL> "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:11> , <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT> , "<STR_LIT>" ) , <EOL> '<STR_LIT>' : ( <NUM_LIT:255> , "<STR_LIT>" ) , <EOL> } <EOL> class CharacterSet ( _constants ) : <EOL> """<STR_LIT>""" <EOL> desc = [ <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT:ascii>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> None , <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> None , <EOL> None , <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> None , <EOL> None , <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:ascii>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , True ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT>" , "<STR_LIT>" , False ) , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> None , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ( "<STR_LIT:utf8>" , "<STR_LIT>" , False ) , <EOL> ] <EOL> @ classmethod <EOL> def get_info ( cls , setid ) : <EOL> """<STR_LIT>""" <EOL> try : <EOL> r = cls . desc [ setid ] <EOL> if r is None : <EOL> raise <EOL> return r [ <NUM_LIT:0> : <NUM_LIT:2> ] <EOL> except : <EOL> raise ProgrammingError ( "<STR_LIT>" % ( setid ) ) <EOL> @ classmethod <EOL> def get_desc ( cls , setid ) : <EOL> """<STR_LIT>""" <EOL> try : <EOL> return "<STR_LIT>" % cls . get_info ( setid ) <EOL> except : <EOL> raise <EOL> @ classmethod <EOL> def get_default_collation ( cls , charset ) : <EOL> """<STR_LIT>""" <EOL> if isinstance ( charset , int ) : <EOL> try : <EOL> c = cls . desc [ charset ] <EOL> return c [ <NUM_LIT:1> ] , c [ <NUM_LIT:0> ] , charset <EOL> except : <EOL> ProgrammingError ( "<STR_LIT>" % ( <EOL> charset ) ) <EOL> for cid , c in enumerate ( cls . desc ) : <EOL> if c is None : <EOL> continue <EOL> if c [ <NUM_LIT:0> ] == charset and c [ <NUM_LIT:2> ] is True : <EOL> return c [ <NUM_LIT:1> ] , c [ <NUM_LIT:0> ] , cid <EOL> raise ProgrammingError ( "<STR_LIT>" % ( charset ) ) <EOL> @ classmethod <EOL> def get_charset_info ( cls , charset = None , collation = None ) : <EOL> """<STR_LIT>""" <EOL> idx = None <EOL> if isinstance ( charset , int ) : <EOL> try : <EOL> info = cls . desc [ charset ] <EOL> return ( charset , info [ <NUM_LIT:0> ] , info [ <NUM_LIT:1> ] ) <EOL> except IndexError : <EOL> ProgrammingError ( "<STR_LIT>" % ( charset ) ) <EOL> if charset is not None and collation is None : <EOL> info = cls . get_default_collation ( charset ) <EOL> return ( info [ <NUM_LIT:2> ] , info [ <NUM_LIT:1> ] , info [ <NUM_LIT:0> ] ) <EOL> elif charset is None and collation is not None : <EOL> for cid , info in enumerate ( cls . desc ) : <EOL> if info is None : <EOL> continue <EOL> if collation == info [ <NUM_LIT:1> ] : <EOL> return ( cid , info [ <NUM_LIT:0> ] , info [ <NUM_LIT:1> ] ) <EOL> raise ProgrammingError ( "<STR_LIT>" % ( collation ) ) <EOL> else : <EOL> for cid , info in enumerate ( cls . desc ) : <EOL> if info is None : <EOL> continue <EOL> if info [ <NUM_LIT:0> ] == charset and info [ <NUM_LIT:1> ] == collation : <EOL> return ( cid , info [ <NUM_LIT:0> ] , info [ <NUM_LIT:1> ] ) <EOL> raise ProgrammingError ( "<STR_LIT>" % ( charset ) ) <EOL> @ classmethod <EOL> def get_supported ( cls ) : <EOL> """<STR_LIT>""" <EOL> res = [ ] <EOL> for info in cls . desc : <EOL> if info and info [ <NUM_LIT:0> ] not in res : <EOL> res . append ( info [ <NUM_LIT:0> ] ) <EOL> return tuple ( res ) <EOL> class SQLMode ( _constants ) : <EOL> """<STR_LIT>""" <EOL> _prefix = '<STR_LIT>' <EOL> REAL_AS_FLOAT = '<STR_LIT>' <EOL> PIPES_AS_CONCAT = '<STR_LIT>' <EOL> ANSI_QUOTES = '<STR_LIT>' <EOL> IGNORE_SPACE = '<STR_LIT>' <EOL> NOT_USED = '<STR_LIT>' <EOL> ONLY_FULL_GROUP_BY = '<STR_LIT>' <EOL> NO_UNSIGNED_SUBTRACTION = '<STR_LIT>' <EOL> NO_DIR_IN_CREATE = '<STR_LIT>' <EOL> POSTGRESQL = '<STR_LIT>' <EOL> ORACLE = '<STR_LIT>' <EOL> MSSQL = '<STR_LIT>' <EOL> DB2 = '<STR_LIT>' <EOL> MAXDB = '<STR_LIT>' <EOL> NO_KEY_OPTIONS = '<STR_LIT>' <EOL> NO_TABLE_OPTIONS = '<STR_LIT>' <EOL> NO_FIELD_OPTIONS = '<STR_LIT>' <EOL> MYSQL323 = '<STR_LIT>' <EOL> MYSQL40 = '<STR_LIT>' <EOL> ANSI = '<STR_LIT>' <EOL> NO_AUTO_VALUE_ON_ZERO = '<STR_LIT>' <EOL> NO_BACKSLASH_ESCAPES = '<STR_LIT>' <EOL> STRICT_TRANS_TABLES = '<STR_LIT>' <EOL> STRICT_ALL_TABLES = '<STR_LIT>' <EOL> NO_ZERO_IN_DATE = '<STR_LIT>' <EOL> NO_ZERO_DATE = '<STR_LIT>' <EOL> INVALID_DATES = '<STR_LIT>' <EOL> ERROR_FOR_DIVISION_BY_ZERO = '<STR_LIT>' <EOL> TRADITIONAL = '<STR_LIT>' <EOL> NO_AUTO_CREATE_USER = '<STR_LIT>' <EOL> HIGH_NOT_PRECEDENCE = '<STR_LIT>' <EOL> NO_ENGINE_SUBSTITUTION = '<STR_LIT>' <EOL> PAD_CHAR_TO_FULL_LENGTH = '<STR_LIT>' <EOL> @ classmethod <EOL> def get_desc ( cls , name ) : <EOL> raise NotImplementedError <EOL> @ classmethod <EOL> def get_info ( cls , number ) : <EOL> raise NotImplementedError <EOL> @ classmethod <EOL> def get_full_info ( cls ) : <EOL> """<STR_LIT>""" <EOL> res = [ ] <EOL> for key in vars ( cls ) . keys ( ) : <EOL> if not key . startswith ( '<STR_LIT:_>' ) and not callable ( getattr ( cls , key ) ) : <EOL> res . append ( key ) <EOL> return tuple ( sorted ( res ) ) </s>
