Class: ActiveRecord::ConnectionAdapters::OracleConstraint

Inherits:
AbstractTableConstraint show all
Defined in:
lib/connection_adapters/oracle_adapter.rb

Constant Summary collapse

PRIMARY_KEY_TYPE =
"P"
FOREIGN_KEY_TYPE =
"R"
UNIQUE_KEY_TYPE =
"U"
CHECK_CONSTRAINT_TYPE =
"C"

Instance Attribute Summary

Attributes inherited from AbstractTableConstraint

#column_name, #constraint_name, #constraint_type, #member_of_composite, #referenced_column_name, #referenced_table_name, #table_name, #table_schema

Instance Method Summary collapse

Methods inherited from AbstractTableConstraint

#raise_subclass_responsibility_error, #unique_key?

Constructor Details

#initialize(constraint_name, constraint_type, table_name, column_name, referenced_constraint_name, referenced_table_name, referenced_column_name, delete_rule) ⇒ OracleConstraint

Returns a new instance of OracleConstraint.



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/connection_adapters/oracle_adapter.rb', line 43

def initialize(constraint_name, constraint_type, table_name, column_name, 
  referenced_constraint_name, referenced_table_name, referenced_column_name, delete_rule)
  @constraint_name = constraint_name
  @table_schema = table_schema
  @table_name = table_name
  @constraint_type = constraint_type
  @column_name = Set.new [column_name]
  @referenced_table_name = referenced_table_name
  @referenced_column_name = referenced_column_name
  @delete_rule = delete_rule
end

Instance Method Details

#component_of_unique_key?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/connection_adapters/oracle_adapter.rb', line 71

def component_of_unique_key?
  constraint_type == UNIQUE_KEY_TYPE
end

#foreign_key?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/connection_adapters/oracle_adapter.rb', line 67

def foreign_key?
  constraint_type == FOREIGN_KEY_TYPE
end

#is_foreign_constraint?(table_name) ⇒ Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/connection_adapters/oracle_adapter.rb', line 55

def is_foreign_constraint?(table_name)
  @table_name.upcase != table_name.upcase
end

#is_member_of_composite?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/connection_adapters/oracle_adapter.rb', line 59

def is_member_of_composite?
  @column_name.size > 1
end

#primary_key?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/connection_adapters/oracle_adapter.rb', line 63

def primary_key?
  constraint_type == PRIMARY_KEY_TYPE
end