# 账本数据库的函数
- get_dn_hist_relhash(text, text) 描述：返回指定防篡改用户表的表级数据hash值。该函数仅供分布式节点间或通过EXECUTE DIRECT ON调用，所有用户直接调用均提示权限不足。
  参数类型：text
  返回值类型：hash16
  

- ledger_hist_check(text, text) 描述：校验指定防篡改用户表的表级数据hash值与其对应历史表hash一致性。
  参数类型：text
  返回值类型：Boolean
  示例：
  ```
  --创建schema。
  gaussdb=# CREATE SCHEMA ledgernsp WITH BLOCKCHAIN;
  --创建表。
  gaussdb=# CREATE TABLE ledgernsp.tab(a int, b text);
  --插入数据。
  gaussdb=# INSERT INTO ledgernsp.tab values(generate_series(1, 10000), 'test');
  gaussdb=# SELECT ledger_hist_check('ledgernsp','tab');
   ledger_hist_check
  -------------------
   t
  (1 row)
  ```
  

- ledger_hist_repair(text, text) 描述：修复指定防篡改用户表对应的历史表hash值，使之与用户表hash一致，返回hash差值。
  参数类型：text
  返回值类型：hash16
  示例：
  ```
  gaussdb=# SELECT ledger_hist_repair('ledgernsp','tab');
   ledger_hist_repair
  --------------------
   0000000000000000
  (1 row)
  ```
  

- ledger_hist_archive(text, text) 描述：归档指定防篡改用户表对应的历史表至审计日志目录中hist_back文件夹下。如果用户历史表名称中带有'/'符号，归档所生成的文件名中将会把'/'替换为'_'。
  参数类型：text
  返回值类型：Boolean
  示例：
  ```
  gaussdb=# EXECUTE DIRECT ON (datanode1) 'select pg_catalog.ledger_hist_archive(''ledgernsp'', ''tab'');';
   ledger_hist_archive
  ---------------------
   t
  (1 row)
  ```
  

- ledger_gchain_check(text, text) 描述：校验指定防篡改用户表对应的历史表hash与全局历史表对应的relhash一致性。
  参数类型：text
  返回值类型：Boolean
  示例：
  ```
  gaussdb=# SELECT ledger_gchain_check('ledgernsp','tab'); 
   ledger_gchain_check
  ---------------------
   t
  (1 row)
  ```
  

- ledger_gchain_repair(text, text) 描述：修复指定防篡改用户表在全局历史表中的relhash，使之与其历史表hash一致，返回指定表的hash总和。
  参数类型：text
  返回值类型：hash16
  示例：
  ```
  gaussdb=# SELECT ledger_gchain_repair('ledgernsp','tab'); 
   ledger_gchain_repair
  ----------------------
   da30c1260af5be50
  (1 row)
  ```
  

- ledger_gchain_archive(void) 描述：归档全局历史表至审计日志目录中hist_back文件夹下。
  参数类型：void
  返回值类型：Boolean
  示例：
  ```
  gaussdb=# SELECT ledger_gchain_archive(); 
   ledger_gchain_archive
  -----------------------
   t
  (1 row)
  --清理环境
  gaussdb=# DROP TABLE ledgernsp.tab;
  gaussdb=# DROP SCHEMA ledgernsp;
  ```
  

- hash16in(cstring) 描述：将输入16进制字符串转化成内部hash16形式。
  参数类型：cstring
  返回值类型：hash16
  

- hash16out(hash16) 描述：将内部hash16类型的数据转码转化为16进制cstring类型。
  参数类型：hash16
  返回值类型：cstring
  

- hash32in(cstring) 描述：将输入的16进制字符串(32个字符)转化成内部类型hash32形式。
  参数类型：cstring
  返回值类型：hash32
  

- hash32out(hash32) 描述：将内部hash32类型的数据转码转化为16进制cstring类型。
  参数类型：hash32
  返回值类型：cstring
  
 
