Slash commands
Use slash commands específicos do IBM i para reutilizar prompts predefinidos que automatizam tarefas repetitivas.
O IBM Bob Premium Package for i estende os slash commands nativos do Bob com um conjunto de slash commands específicos para IBM i. Para uma introdução geral sobre como os slash commands funcionam e quais são os nativos, consulte Slash Commands.
Digite / no chat para ver todos os comandos disponíveis, incluindo os específicos do IBM i descritos aqui.
/erd
O comando /erd instrui o Bob a gerar um Diagrama de Relacionamento de Entidades (ERD) no estilo Mermaid para um conjunto de tabelas de banco de dados no IBM i conectado.
| Propriedade | Valor |
|---|---|
| Comando | /erd |
| Dica de argumento | [schema.table ou library/file] |
| Disponível em | IBM i Developer, IBM i Database |
| Requer | Conexão IBM i ativa |
O que faz
O Bob segue estes passos:
Determinar o escopo a partir do argumento fornecido ou perguntar qual schema/biblioteca analisar caso nenhum argumento seja informado.
Consultar QSYS2.SYSTABLES, QSYS2.SYSCOLUMNS, QSYS2.SYSCST e QSYS2.SYSREFCST para reunir a estrutura e os relacionamentos das tabelas.
Construir e renderizar um Diagrama de Relacionamento de Entidades (ERD) no estilo Mermaid com tipos de dados Db2 for i precisos, marcadores de coluna (PK, FK, UQ) e notações de cardinalidade.
Exemplo de uso
/erd
/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER/review_SQL
O comando /review_SQL instrui o Bob a realizar uma revisão abrangente de uma instrução SQL usando uma coleção de boas práticas. Pode aceitar uma instrução SQL autônoma ou fazer referência a código-fonte que contenha uma ou mais instruções SQL.
| Propriedade | Valor |
|---|---|
| Comando | /review_SQL |
| Dica de argumento | [SQL statement or source code path] |
| Disponível em | IBM i Database |
| Requer | Conexão IBM i ativa |
O que faz
O Bob segue estes passos:
Analisar a instrução SQL a partir do argumento fornecido ou solicitá-la caso nenhum argumento seja informado.
Avaliar a instrução com base em uma checklist de revisão abrangente:
- Correção e simplificação: Problemas de correção, predicados redundantes, construções frágeis, subconsultas aninhadas, expressões repetidas e joins desnecessários
- Legibilidade e manutenibilidade: Formatação, aliases e comentários em lógica complexa
- Qualificação e nomenclatura: Nomes de correlação de tabela e identificadores comuns versus delimitados
- Boas práticas: Uso de funções nativas, CTEs e marcadores de parâmetro
- Segurança: Riscos de SQL injection, privilégio excessivo, permissões de linha e máscaras de coluna
- Desempenho a partir do texto SQL: Predicados não-sargable, funções escalares desnecessárias em predicados e casts evitáveis
- Orientação específica por tipo de instrução: Especificidades para DDL, DML, SQL embarcado e SQL dinâmico
- Orientação de diagnóstico e verificação: Ponteiros para Visual Explain, plan cache e dicas de índice
- Lógica reutilizável: Candidatos a UDFs, stored procedures e SQL
INCLUDE - Isolamento de transação: Cláusulas
WITHexplícitas e consistência do nível de isolamento
Retornar os resultados estruturados como:
- Resumo: Avaliação geral resumida
- Descobertas confirmadas: Lista numerada de problemas, cada um com categoria, explicação e melhoria sugerida
- Recomendações condicionais: Lista numerada de sugestões que dependem de metadados, carga de trabalho ou evidências em tempo de execução
- SQL revisado: Uma instrução SQL revisada apenas quando a semântica pode ser preservada com confiança; caso contrário, uma reescrita ilustrativa com explicação do que permanece condicional
- Explicação das alterações: Descrição concisa de cada alteração sugerida
Exemplo de uso
/review
/review_SQL SELECT * FROM ORDERS WHERE CUSTID = '12345'
/review_SQL mylib/mysrc(mycode)
/review_SQL /home/scottf/RPGsrc/toystore.rpglesrc