若要向 MySQL Shell 註冊使用者定義的報表,請在 JavaScript 中呼叫 shell.registerReport() 方法,或在 Python 中呼叫 shell.register_report() 方法。此方法的語法如下
shell.registerReport(name, type, report[, description])
其中
name是字串,代表報表的唯一名稱。type是字串,代表報表類型,決定輸出格式,可以是 「list」、「report」 或 「print」。report是叫用報表時要呼叫的函式。description是字典,其中包含可用於指定報表支援的選項、報表接受的其他引數,以及在 MySQL Shell 說明系統中提供的說明資訊。
name、type 和 report 參數都是必要參數。報表名稱必須符合下列要求
在您的 MySQL Shell 安裝中必須是唯一的。
必須是有效的指令碼識別碼,因此第一個字元必須是字母或底線字元,後面接著任何數量的字母、數字或底線字元。
大小寫可以混合,但轉換為小寫時,在您的 MySQL Shell 安裝中仍必須是唯一的。
報表名稱在註冊程序中,以及在使用 \show 和 \watch 命令執行報表時不區分大小寫。在 shell.reports 物件呼叫對應的 API 函式時,報表名稱會區分大小寫。在該處,您必須使用用於註冊報表的確切名稱來呼叫函式,無論您是處於 Python 模式還是 JavaScript 模式。
選用字典包含下列索引鍵,這些索引鍵都是選用的
-
brief 報表的簡短描述。
-
details 報表的詳細描述,以字串陣列形式提供。當您使用
\help命令或使用\show命令的--help選項時,會提供此描述。-
options -
報表可以接受的任何報表特定選項。陣列中的每個字典都描述一個選項,且必須包含下列索引鍵
name(字串,必要):長格式的選項名稱,必須是有效的指令碼識別碼。brief(字串,選用):選項的簡短描述。shortcut(字串,選用):選項的替代名稱,為單一英數字元。details(字串陣列,選用):選項的詳細描述。當您使用\help命令或使用\show命令的--help選項時,會提供此描述。type(字串,選用):選項的值類型。允許的值為 「string」、「bool」、「integer」 和 「float」,如果未指定type,則預設為 「string」。如果指定 「bool」,則選項會作為切換:如果未指定,則預設為false,當您使用\show或\watch命令執行報表時,預設為true(且不接受值),並且當您使用shell.reports物件執行報表時,必須具有有效值。required(布林值,選用):是否為必要選項。如果未指定required,則預設為false。如果選項類型為 「bool」,則required不能為 true。values(字串陣列,選用):允許的選項值清單。只有類型為 「string」 的選項才能有此索引鍵。如果未指定values,則選項會接受任何值。
-
argc -
指定報表預期其他引數數量的字串,可以是下列其中一項
確切的引數數量,以單一數字指定。
零個或多個引數,以星號指定。
引數數字的範圍,以兩個數字 (例如,「1-5」) 以虛線分隔來指定。
具有最小值但沒有最大值的引數數字範圍,以一個數字和一個星號 (例如,「1-*」) 以虛線分隔來指定。