GBase XDM(單機/分片叢集)資料庫修改記錄

sss_jeep發表於2021-07-20

GBase XDM(單機/分片叢集)資料庫修改記錄


ldap_modify()和 ldap_modify_s()函式用來修改已存在的資料庫記錄。

 typedef struct ldapmod {

 int mod_op;

 char *mod_type;

 union {

 char **modv_strvals;

 struct berval **modv_bvals;

 } mod_vals;

 } LDAPMod;

 #define mod_values mod_vals.modv_strvals

 #define mod_bvalues mod_vals.modv_bvals

int ldap_modify( LDAP *ld, char *dn, LDAPMod *mods[] ); 

int ldap_modify_s( LDAP *ld, char *dn, LDAPMod *mods[] ); 

引數解釋:

ld:連線控制程式碼

dn:要修改的記錄名

mods:設定修改記錄的空結尾的陣列。此引數在 LDAPMod 結構中有如下

意義:

mod_op :執行的修改操作。為 LDAP_MOD_ADD ,

LDAP_MOD_DELETE,LDAP_MOD_REPLACE 之一。此欄位也指

明 在 mod_vals 聯 合 中 的 值 的 類 型 。 此 字 段 同

LDAP_MOD_BVALUES 進行或操作,以形成 mod_bvalues 形式。

另外,mod_values 形式也被使用。

mod_type:要修改的型別

mod_vals:此值(如果有的話)將 add,delete,replace。

僅變數 mod_values 或 mod_bvalues 之一可以使用,選擇此

值同 mod_op 和 LDAP_MOD_BVALUES 常量進行或操作。

mod_values 為以 NULL 結尾的 NULL 結尾的字串陣列,

mod_bvalues 為 NULL 結尾的 berval 結構陣列,可以用來

傳送影像一類的二進位制值。

對於 LDAP_MOD_DELETE 修改操作,給定的值是要從記錄中被刪除的部

分,如果沒有保留值刪除屬性。如果記錄屬性被刪除,mod_vals 欄位應設

為 NULL。

ldap_modify_s()根據修改操作結果返回 LDAP 錯誤碼。此程式碼由

ldap_perror()及相關函式解釋。

ldap_modify()返回請求初始化訊息 ID,或出錯時返回-1。操作結果由

ldap_result()獲得。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7806734/viewspace-2782305/,如需轉載,請註明出處,否則將追究法律責任。

相關文章