Nas partes anteriores:
Nesta parte, falaremos sobre como criar uma lista de objetos que são exibidos na árvore de navegação.
Como padrão, selecionamos 4 tipos de objetos básicos
- Mesas
- Representação
- Funções
- Procedimentos.
Além disso, cada banco de dados tem seus próprios objetos para armazenar entidades - por exemplo:
- MS SQL - armazena dados em sys.schemas, onde são separados por tipo (tipo = 'V' - Visualização, tipo = 'U' - tabelas)
- Oracle - tudo é muito simples aqui - existem objetos user_views e user_tables que armazenam uma descrição das configurações de usuário correspondentes
- Vertica - v_catalog.views e v_catalog.tables
- PostegreSQL - pg_catalog.pg_views e pg_catalog.pg_tables
- MySQL - information_schema.views e information_schema.tables
- DB2 - todos os dados são armazenados em SYSIBM.tables, em que table_type = 'VIEW' são visualizações e table_type = 'BASE TABLE' são tabelas.
- Todos os objetos do ClickHouse estão em system.tables, a divisão em tabelas e visualizações ocorre no campo engine = 'View'
Este manifold é gerenciado pela classe in2SqlLibrary, na qual acontece:
- determinar o tipo de conexão ODBC, com base no nome do arquivo do driver (getDBType)
- distribuição de tabelas (getSqlTables) e visualizações (getSqlViews) de acordo com os tipos correspondentes.
Para agilizar o carregamento do plugin do excel (addin), esses dados são acessados no momento da expansão do branch do artefato correspondente (falarei sobre isso em outro artigo).