スラッシュコマンド
IBM i 固有の slash command を使用して、繰り返し行うタスクを自動化する事前定義 prompt を再利用します。
IBM Bob Premium Package for i は、Bob に組み込まれている slash command を拡張し、IBM i 専用の slash command セットを提供します。slash command の仕組みや組み込み command の種類については、Slash Commands を参照してください。
チャットで / を入力すると、ここで説明する IBM i 固有のものを含め、利用可能なすべての command を確認できます。
/erd
/erd command は、接続中の IBM i 上にあるデータベース table 群に対して、Mermaid スタイルの Entity Relationship Diagram (ERD) を生成するよう Bob に指示します。
| Property | Value |
|---|---|
| Command | /erd |
| Argument hint | [schema.table or library/file] |
| Available in | IBM i Developer, IBM i Database |
| Requires | Active IBM i connection |
できること
Bob は次の手順で処理します。
指定された引数から対象範囲を決定します。引数がない場合は、どの schema または library を分析するかを確認します。
QSYS2.SYSTABLES、QSYS2.SYSCOLUMNS、QSYS2.SYSCST、QSYS2.SYSREFCST を照会して、table 構造と関係を収集します。
正確な Db2 for i data type、column marker(PK、FK、UQ)、cardinality notation を含む Mermaid スタイルの Entity Relationship Diagram (ERD) を作成して描画します。
使用例
/erd
/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER/review_SQL
/review_SQL command は、ベストプラクティスの集合を用いて SQL ステートメントを包括的にレビューするよう Bob に指示します。単独の SQL ステートメントを受け取ることも、1 つ以上の SQL ステートメントを含むソースコードを参照することもできます。
| Property | Value |
|---|---|
| Command | /review_SQL |
| Argument hint | [SQL statement or source code path] |
| Available in | IBM i Database |
| Requires | Active IBM i connection |
できること
Bob は次の手順で処理します。
指定された引数から SQL ステートメントを解析します。引数がない場合は、対象の SQL ステートメントの入力を求めます。
包括的な review checklist に照らしてステートメントを評価します。
- Correctness and simplification: 正確性の懸念、冗長な predicate、壊れやすい構文、入れ子の subquery、繰り返し表現、不必要な join
- Readability and supportability: formatting、alias、複雑なロジックへの comment
- Qualification and naming: table correlation name、および通常の identifier と delimited identifier の使い分け
- Best practices: built-in function、CTE、parameter marker の使用
- Security: SQL injection リスク、過剰な権限、row permission、column mask
- Performance from SQL text: 非 sargable predicate、predicate 内の不要な scalar function、回避可能な cast
- Statement-type-specific guidance: DDL、DML、embedded SQL、dynamic SQL ごとの観点
- Diagnostic and verification guidance: Visual Explain、plan cache、index advice の確認ポイント
- Reusable logic: UDF、stored procedure、SQL
INCLUDE候補 - Transaction isolation: 明示的な
WITHclause と isolation level の一貫性
結果を次の構成で返します。
- Summary: 全体評価の要約
- Confirmed Findings: 問題点をカテゴリ、説明、改善提案付きで番号付きリストにしたもの
- Conditional Recommendations: metadata、workload、runtime evidence に依存する提案の番号付きリスト
- Revised SQL: 意味を保てると十分に判断できる場合のみ修正版の SQL ステートメント。そうでない場合は、条件付きの点を説明付きで示した参考 rewrite
- Explanation of Changes: 各提案変更の簡潔な説明
使用例
/review
/review_SQL SELECT * FROM ORDERS WHERE CUSTID = '12345'
/review_SQL mylib/mysrc(mycode)
/review_SQL /home/scottf/RPGsrc/toystore.rpglesrc