(self, connection, timeout, target_type=None, change_type=None, **kwargs)
| 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() |
no test coverage detected