Coverage for mindsdb / api / mysql / mysql_proxy / classes / client_capabilities.py: 63%
97 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1from mindsdb.api.mysql.mysql_proxy.libs.constants.mysql import CAPABILITIES
4class ClentCapabilities():
5 _capabilities = 0
7 def __init__(self, capabilities):
8 self._capabilities = capabilities
10 def has(self, cap):
11 return cap & self._capabilities > 0
13 def to_dict(self):
14 funcs = [func for func in dir(self) if func.upper() == func]
15 res = {}
16 for f in funcs:
17 res[f] = getattr(self, f)
18 return res
20 @property
21 def LONG_PASSWORD(self):
22 return self.has(CAPABILITIES.CLIENT_LONG_PASSWORD)
24 @property
25 def FOUND_ROWS(self):
26 return self.has(CAPABILITIES.CLIENT_FOUND_ROWS)
28 @property
29 def LONG_FLAG(self):
30 return self.has(CAPABILITIES.CLIENT_LONG_FLAG)
32 @property
33 def CONNECT_WITH_DB(self):
34 return self.has(CAPABILITIES.CLIENT_CONNECT_WITH_DB)
36 @property
37 def NO_SCHEMA(self):
38 return self.has(CAPABILITIES.CLIENT_NO_SCHEMA)
40 @property
41 def COMPRESS(self):
42 return self.has(CAPABILITIES.CLIENT_COMPRESS)
44 @property
45 def ODBC(self):
46 return self.has(CAPABILITIES.CLIENT_ODBC)
48 @property
49 def LOCAL_FILES(self):
50 return self.has(CAPABILITIES.CLIENT_LOCAL_FILES)
52 @property
53 def IGNORE_SPACE(self):
54 return self.has(CAPABILITIES.CLIENT_IGNORE_SPACE)
56 @property
57 def PROTOCOL_41(self):
58 return self.has(CAPABILITIES.CLIENT_PROTOCOL_41)
60 @property
61 def INTERACTIVE(self):
62 return self.has(CAPABILITIES.CLIENT_INTERACTIVE)
64 @property
65 def SSL(self):
66 return self.has(CAPABILITIES.CLIENT_SSL)
68 @property
69 def IGNORE_SIGPIPE(self):
70 return self.has(CAPABILITIES.CLIENT_IGNORE_SIGPIPE)
72 @property
73 def TRANSACTIONS(self):
74 return self.has(CAPABILITIES.CLIENT_TRANSACTIONS)
76 @property
77 def RESERVED(self):
78 return self.has(CAPABILITIES.CLIENT_RESERVED)
80 @property
81 def RESERVED2(self):
82 return self.has(CAPABILITIES.CLIENT_RESERVED2)
84 @property
85 def MULTI_STATEMENTS(self):
86 return self.has(CAPABILITIES.CLIENT_MULTI_STATEMENTS)
88 @property
89 def MULTI_RESULTS(self):
90 return self.has(CAPABILITIES.CLIENT_MULTI_RESULTS)
92 @property
93 def PS_MULTI_RESULTS(self):
94 return self.has(CAPABILITIES.CLIENT_PS_MULTI_RESULTS)
96 @property
97 def PLUGIN_AUTH(self):
98 return self.has(CAPABILITIES.CLIENT_PLUGIN_AUTH)
100 @property
101 def CONNECT_ATTRS(self):
102 return self.has(CAPABILITIES.CLIENT_CONNECT_ATTRS)
104 @property
105 def PLUGIN_AUTH_LENENC_CLIENT_DATA(self):
106 return self.has(CAPABILITIES.CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA)
108 @property
109 def CAN_HANDLE_EXPIRED_PASSWORDS(self):
110 return self.has(CAPABILITIES.CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS)
112 @property
113 def SESSION_TRACK(self):
114 return self.has(CAPABILITIES.CLIENT_SESSION_TRACK)
116 @property
117 def DEPRECATE_EOF(self):
118 return self.has(CAPABILITIES.CLIENT_DEPRECATE_EOF)
120 @property
121 def SSL_VERIFY_SERVER_CERT(self):
122 return self.has(CAPABILITIES.CLIENT_SSL_VERIFY_SERVER_CERT)
124 @property
125 def REMEMBER_OPTIONS(self):
126 return self.has(CAPABILITIES.CLIENT_REMEMBER_OPTIONS)
128 @property
129 def SECURE_CONNECTION(self):
130 return self.has(CAPABILITIES.CLIENT_SECURE_CONNECTION)