MCPcopy Create free account
hub / github.com/dbcli/mssql-cli / get_completer

Method get_completer

tests/metadata.py:199–246  ·  view source on GitHub ↗
(self, settings=None, casing=None)

Source from the content-addressed store, hash-verified

197
198
199 def get_completer(self, settings=None, casing=None): # pylint: disable=too-many-locals
200 metadata = self.metadata
201 comp = MssqlCompleter(smart_completion=True, settings=settings)
202
203 schemas, tables, tbl_cols, views, view_cols = [], [], [], [], []
204
205 for sch, tbls in metadata['tables'].items():
206 schemas.append(sch)
207
208 for tbl, cols in tbls.items():
209 tables.append((sch, tbl))
210 # Let all columns be text columns
211 tbl_cols.extend([self._make_col(sch, tbl, col)
212 for col in cols])
213
214 for sch, tbls in metadata.get('views', {}).items():
215 for tbl, cols in tbls.items():
216 views.append((sch, tbl))
217 # Let all columns be text columns
218 view_cols.extend([self._make_col(sch, tbl, col)
219 for col in cols])
220
221 functions = [
222 FunctionMetadata(sch, *func_meta, arg_defaults=None)
223 for sch, funcs in metadata['functions'].items()
224 for func_meta in funcs]
225
226 datatypes = [
227 (sch, typ)
228 for sch, datatypes in metadata['datatypes'].items()
229 for typ in datatypes]
230
231 foreignkeys = [
232 ForeignKey(*fk) for fks in metadata['foreignkeys'].values()
233 for fk in fks]
234
235 comp.extend_schemas(schemas)
236 comp.extend_relations(tables, kind='tables')
237 comp.extend_relations(views, kind='views')
238 comp.extend_columns(tbl_cols, kind='tables')
239 comp.extend_columns(view_cols, kind='views')
240 comp.extend_functions(functions)
241 comp.extend_datatypes(datatypes)
242 comp.extend_foreignkeys(foreignkeys)
243 comp.set_search_path(['public'])
244 comp.extend_casing(casing or [])
245
246 return comp

Callers 2

completerMethod · 0.95

Calls 12

_make_colMethod · 0.95
extend_schemasMethod · 0.95
extend_relationsMethod · 0.95
extend_columnsMethod · 0.95
extend_functionsMethod · 0.95
extend_datatypesMethod · 0.95
extend_foreignkeysMethod · 0.95
set_search_pathMethod · 0.95
extend_casingMethod · 0.95
MssqlCompleterClass · 0.90
FunctionMetadataClass · 0.90
getMethod · 0.80

Tested by 1