為了幫助開(kāi)發(fā)人員更迅速地識(shí)別錯(cuò)誤類型、定位和處理問(wèn)題,我們整理了 DolphinDB Server 中的異常以及關(guān)鍵錯(cuò)誤信息,總結(jié)出了一份 DolphinDB 數(shù)據(jù)庫(kù)錯(cuò)誤代碼列表。當(dāng)發(fā)生報(bào)錯(cuò)時(shí),參考錯(cuò)誤代碼列表,就可以了解當(dāng)前問(wèn)題產(chǎn)生的原因。
錯(cuò)誤代碼一覽
目前,我們已為大家整理了上百個(gè)錯(cuò)誤代碼以及對(duì)應(yīng)的錯(cuò)誤原因。錯(cuò)誤代碼會(huì)隨著每一次版本發(fā)布而更新,收藏官網(wǎng)文檔,方便查看更新內(nèi)容。
S00001:發(fā)布、訂閱或取消訂閱流數(shù)據(jù)表前,未進(jìn)行相關(guān)配置
S00002:當(dāng)前分區(qū)分布式鎖已被占用
S00003:一個(gè)表的一個(gè) SYMBOL 字段的不同取值超過(guò)了2^21(2.097.152)個(gè)
S00004:Server 創(chuàng)建套接字失敗
……
S01001:分區(qū)方式為 VALUE 的分區(qū)列數(shù)據(jù)中含有空值
S01002:使用 addRangePartitions 添加新分區(qū)時(shí),newRanges 字段的范圍可能與數(shù)據(jù)庫(kù)中已有的分區(qū)范圍重疊
S01003:當(dāng)前分區(qū)為構(gòu)建狀態(tài),不可刪除
S01004:新增 chunk 時(shí),選擇有同樣分區(qū)的其他 chunk 所在的節(jié)點(diǎn)數(shù)少于副本數(shù)
……
S02000:unpivot 函數(shù)的 valueColNames 參數(shù)中各列的數(shù)據(jù)類型未保持一致
S02001:SQL 語(yǔ)句的 select 子句(以及 group by 子句,如果有)存在列名重復(fù)的列
S02002:saveText 函數(shù)的第一個(gè)參數(shù)是 SQL 元代碼,執(zhí)行時(shí)對(duì)應(yīng)的 SQL 語(yǔ)句無(wú)法拆分成多個(gè)子查詢
S02003:inputTables 的參數(shù)形式不合規(guī)
……
S03000:無(wú)法用 undef 函數(shù)取消一個(gè)流表變量的定義
S03001:創(chuàng)建流引擎時(shí)重名
S03002:使用 subscribeTable 函數(shù)進(jìn)行訂閱時(shí),訂閱主題 topic 重復(fù)
S03003:嘗試用 dropStreamTable 函數(shù)或者 drop 語(yǔ)句取消一個(gè)流表變量的定義時(shí)失敗
……
S04001:設(shè)置權(quán)限 grant 的對(duì)象如果是庫(kù)或者表時(shí)不存在
S04002:當(dāng)使用 VIEW_EXEC 對(duì)某個(gè)用戶設(shè)置某個(gè)函數(shù)視圖的執(zhí)行權(quán)限時(shí),該函數(shù)視圖不存在
S04003:當(dāng)對(duì)某用戶設(shè)置 DB_OWNER 權(quán)限時(shí),對(duì)應(yīng)的權(quán)限字符串格式非法
S04004:設(shè)置權(quán)限時(shí)的用戶為非 admin 用戶,且設(shè)置了不包含某些列表的權(quán)限
……
S05000:參與求逆的矩陣是奇異的(或稱為非可逆的)
S05001:使用下標(biāo)訪問(wèn)集合,或者使用 for 遍歷集合
S05003:DECIMAL 內(nèi)部的整型參與運(yùn)算時(shí),結(jié)果超出可表示范圍
S05004:數(shù)據(jù)寫(xiě)入列時(shí),數(shù)據(jù)類型不兼容
……
S06000:SQL update 語(yǔ)句不符合語(yǔ)法規(guī)范
S06001:當(dāng)調(diào)用包含多個(gè)參數(shù)的函數(shù)時(shí),傳參時(shí)如果一個(gè)參數(shù)指定了 keyword,其后的參數(shù)未指定 keyword
S06002:函數(shù)定義中使用了 share 語(yǔ)句
S06003:在命名函數(shù)定義里再嵌套定義命名函數(shù)
……
解讀錯(cuò)誤代碼
DolphinDB 數(shù)據(jù)庫(kù)錯(cuò)誤代碼由三部分構(gòu)成:S + <與系統(tǒng)模塊相關(guān)的錯(cuò)誤類別碼> + <類別下編碼>
以 S01005 為例:
S:代表 Server
01:代表錯(cuò)誤發(fā)生在存儲(chǔ)模塊下
005:代表存儲(chǔ)錯(cuò)誤類別下屬的 005 錯(cuò)誤
目前,DolphinDB 數(shù)據(jù)庫(kù)錯(cuò)誤代碼列表涵蓋了如下七種類別:
除了提供列表方便自查,我們還總結(jié)了與錯(cuò)誤代碼同時(shí)出現(xiàn)的報(bào)錯(cuò)信息,以及對(duì)應(yīng)的解決方法。由于篇幅有限,請(qǐng)前往 DolphinDB 官網(wǎng)文檔,查看錯(cuò)誤代碼的完整手冊(cè)~
相關(guān)稿件