hbck原始碼系列 四 表的完整性檢查和修復

2021-09-27 08:26:42 字數 1233 閱讀 5615

一,完整性檢查

1檢查表在hdfs的完整性

二.checkregionchain方法

完整性檢查,主要檢查工作在checkregionchain方法,該方法主要兩個作用:

1.根據檢查條件,檢查異常

2.根據檢查條件,修復異常

檢查條件和異常都指什麼?

2.1  異常

@override

public void handleregionstartkeynotempty(hbckinfo hi) throws ioexception

@override

public void handleregionendkeynotempty(byte curendkey) throws ioexception

@override

public void handledegenerateregion(hbckinfo hi) throws ioexception

@override

public void handleduplicatestartkeys(hbckinfo r1, hbckinfo r2) throws ioexception

@override

public void handlesplit(hbckinfo r1, hbckinfo r2) throws ioexception

@override

public void handleoverlapinregionchain(hbckinfo hi1, hbckinfo hi2) throws ioexception

@override

public void handleholeinregionchain(byte holestart, byte holestop) throws ioexception

};2.2檢查條件

之前說過錶的完整性檢查主要是檢查表的hole、overlap和orphan等情況,檢查條件是判斷上述異常的依據,在原始碼中的判斷依據是什麼,這裡根據不同的情況,描述不同的檢查條件,詳見各個章節。

SQL 表的完整性

建立 主外來鍵,約束。刪除主表的時候,同時刪除子表 更新主表的時候更新子表 create table 表名 sno int identity 1,1 sname nvarchar 20 設定主鍵 primary key sno 新增主鍵 alter table 表名 add constraint p...

資料表的完整性

每個表中有乙個必須要指定的字段,主要依賴主鍵約束 針對表中的某個字段進行特殊化限制,主要依賴剩餘的約束 表與表之間的一種特殊化關聯限制,主要依靠外來鍵約束 什麼是約束 使用約束 鍵的作用來維護資料表的完整性 約束有哪些 自增約束 非空約束 檢查約束 預設約束 唯一約束 主鍵約束 外來鍵約束 一般在設...

資料表的完整性,維護資料的完整性(約束),標識列

維護資料表的完整性 標識列1.實體完整性 每個表中有乙個必須要指定的字段,主要依賴主鍵約束 2.區域完整性 針對表中的某個字段進行特殊化限制,主要依賴剩餘的約束 3.參照完整性 表與表之間的一種特殊化關聯限制,主要依靠外來鍵約束 什麼是約束 使用約束 鍵的作用來維護資料表的完整性 約束有哪些 自增約...