MCPcopy Index your code
hub / github.com/apache/cassandra-python-driver / refresh

Method refresh

cassandra/metadata.py:135–161  ·  view source on GitHub ↗
(self, connection, timeout, target_type=None, change_type=None, **kwargs)

Source from the content-addressed store, hash-verified

133 return "\n\n".join(ks.export_as_string() for ks in self.keyspaces.values())
134
135 def refresh(self, connection, timeout, target_type=None, change_type=None, **kwargs):
136
137 server_version = self.get_host(connection.endpoint).release_version
138 dse_version = self.get_host(connection.endpoint).dse_version
139 parser = get_schema_parser(connection, server_version, dse_version, timeout)
140
141 if not target_type:
142 self._rebuild_all(parser)
143 return
144
145 tt_lower = target_type.lower()
146 try:
147 parse_method = getattr(parser, 'get_' + tt_lower)
148 meta = parse_method(self.keyspaces, **kwargs)
149 if meta:
150 update_method = getattr(self, '_update_' + tt_lower)
151 if tt_lower == 'keyspace' and connection.protocol_version < 3:
152 # we didn't have 'type' target in legacy protocol versions, so we need to query those too
153 user_types = parser.get_types_map(self.keyspaces, **kwargs)
154 self._update_keyspace(meta, user_types)
155 else:
156 update_method(meta)
157 else:
158 drop_method = getattr(self, '_drop_' + tt_lower)
159 drop_method(**kwargs)
160 except AttributeError:
161 raise ValueError("Unknown schema target_type: '%s'" % target_type)
162
163 def _rebuild_all(self, parser):
164 current_keyspaces = set()

Callers 1

_refresh_schemaMethod · 0.80

Calls 5

get_hostMethod · 0.95
_rebuild_allMethod · 0.95
_update_keyspaceMethod · 0.95
get_schema_parserFunction · 0.85
get_types_mapMethod · 0.80

Tested by

no test coverage detected