private ConstraintInfo(IDataReader drConstraint, FirebirdProcessor processor) { Name = drConstraint["rdb$constraint_name"].ToString().Trim(); IsPrimaryKey = drConstraint["rdb$constraint_type"].ToString().Trim() == "PRIMARY KEY"; IsNotNull = drConstraint["rdb$constraint_type"].ToString().Trim() == "NOT NULL"; IsForeignKey = drConstraint["rdb$constraint_type"].ToString().Trim() == "FOREIGN KEY"; IsUnique = drConstraint["rdb$constraint_type"].ToString().Trim() == "UNIQUE"; IndexName = drConstraint["rdb$index_name"].ToString().Trim(); if (IsForeignKey) { using (IDataReader dsForeign = processor.Read(colQuery, AdoHelper.FormatValue(Name))) { dsForeign.Read(); ForeignIndex = IndexInfo.Read(processor, dsForeign["rdb$const_name_uq"].ToString().Trim()); UpdateRule = GetForeignRule(dsForeign["rdb$update_rule"]); DeleteRule = GetForeignRule(dsForeign["rdb$delete_rule"]); } } }
protected string FormatCascade(string onWhat, Rule rule) { string action = "NO ACTION"; switch (rule) { case Rule.None: return(""); case Rule.Cascade: action = "CASCADE"; break; case Rule.SetNull: action = "SET NULL"; break; case Rule.SetDefault: action = "SET DEFAULT"; break; } return(string.Format(" ON {0} {1}", onWhat, action)); }
public IAlterColumnOptionSyntax OnDeleteOrUpdate(Rule rule) { OnDelete(rule); OnUpdate(rule); return(this); }
public IAlterColumnOptionOrForeignKeyCascadeSyntax OnUpdate(Rule rule) { CurrentForeignKey.OnUpdate = rule; return(this); }
public void OnDeleteOrUpdate(Rule rule) { Expression.ForeignKey.OnDelete = rule; Expression.ForeignKey.OnUpdate = rule; }
public ICreateForeignKeyCascadeSyntax OnUpdate(Rule rule) { Expression.ForeignKey.OnUpdate = rule; return(this); }
public ICreateColumnOptionOrForeignKeyCascadeSyntax OnDelete(Rule rule) { CurrentForeignKey.OnDelete = rule; return(this); }
public ICreateTableColumnOptionOrWithColumnSyntax OnDeleteOrUpdate(Rule rule) { OnDelete(rule); OnUpdate(rule); return(this); }
public ICreateTableColumnOptionOrForeignKeyCascadeOrWithColumnSyntax OnUpdate(Rule rule) { CurrentForeignKey.OnUpdate = rule; return(this); }
public IAlterTableColumnOptionOrAddColumnOrAlterColumnOrForeignKeyCascadeSyntax OnDelete(Rule rule) { CurrentForeignKey.OnDelete = rule; return(this); }