Class: Rubeus::Jdbc::ForeignKey
- Inherits:
-
TableElement
- Object
- MetaElement
- TableElement
- Rubeus::Jdbc::ForeignKey
- Defined in:
- lib/rubeus/jdbc/foreign_key.rb
Constant Summary collapse
- ATTR_NAMES =
-
PKTABLE_CAT String => インポートされた主キーテーブルカタログ (null の可能性がある)
-
PKTABLE_SCHEM String => インポートされた主キーテーブルスキーマ (null の可能性がある)
-
PKTABLE_NAME String => インポートされた主キーテーブル名
-
PKCOLUMN_NAME String => インポートされた主キー列名
-
FKTABLE_CAT String => 外部キーテーブルカタログ (null の可能性がある)
-
FKTABLE_SCHEM String => 外部キーテーブルスキーマ (null の可能性がある)
-
FKTABLE_NAME String => 外部キーテーブル名
-
FKCOLUMN_NAME String => 外部キー列名
-
KEY_SEQ short => 外部キー中の連番
-
UPDATE_RULE short => 主キーが更新されるときに、外部キーに起こる内容は次のとおりである
* importedNoAction - 主キーがインポートされたら、更新できない * importedKeyCascade - 主キーの更新に合致するように、インポートされたキーを変更する * importedKeySetNull - インポートされたキーの主キーが更新されたら、NULL に変更する * importedKeySetDefault - インポートされたキーの主キーが更新されたら、デフォルト値に変更する * importedKeyRestrict - importedKeyNoAction と同じ (ODBC 2.x との互換性のため)
-
DELETE_RULE short => 主キーが削除されると、外部キーに起こる内容は次のとおりである
* importedKeyNoAction - 主キーがインポートされたら、削除できない * importedKeyCascade - 削除されたキーをインポートする行を、削除する * importedKeySetNull - インポートされたキーの主キーが削除されたら、NULL に変更する * importedKeyRestrict - importedKeyNoAction と同じ (ODBC 2.x との互換性のため) * importedKeySetDefault - インポートされたキーの主キーが削除されたら、デフォルト値に変更する
-
FK_NAME String => 外部キー名 (null の可能性がある)
-
PK_NAME String => 主キー名 (null の可能性がある)
-
DEFERRABILITY short => 外部キーの制限の評価はコミットまで延期できる
* importedKeyInitiallyDeferred - 定義については SQL92 を参照 * importedKeyInitiallyImmediate - 定義については SQL92 を参照 * importedKeyNotDeferrable - 定義については SQL92 を参照
see also: java.sun.com/javase/ja/6/docs/ja/api/java/sql/DatabaseMetaData.html#getExportedKeys(java.lang.String,%20java.lang.String,%20java.lang.String) java.sun.com/javase/ja/6/docs/ja/api/java/sql/DatabaseMetaData.html#getImportedKeys(java.lang.String,%20java.lang.String,%20java.lang.String)
-
[:pktable_cat, :pktable_schem, :pktable_name, # :pkcolumn_name, :fktable_cat, :fktable_schem, :fktable_name, # :fkcolumn_name, :key_seq, :update_rule, :delete_rule, :fk_name, :pk_name, :deferrability]
Instance Attribute Summary collapse
-
#fkcolumn_names ⇒ Object
Returns the value of attribute fkcolumn_names.
-
#fktable ⇒ Object
Returns the value of attribute fktable.
-
#pkcolumn_names ⇒ Object
Returns the value of attribute pkcolumn_names.
-
#pktable ⇒ Object
Returns the value of attribute pktable.
Attributes inherited from TableElement
Attributes inherited from MetaElement
#jdbc_info, #meta_data, #options
Instance Method Summary collapse
- #fkcolumns ⇒ Object
- #inspect ⇒ Object
- #length ⇒ Object (also: #size)
- #name ⇒ Object
- #pkcolumns ⇒ Object
- #pretty_print_instance_variables ⇒ Object
Methods inherited from TableElement
Methods inherited from MetaElement
Constructor Details
This class inherits a constructor from Rubeus::Jdbc::TableElement
Instance Attribute Details
#fkcolumn_names ⇒ Object
Returns the value of attribute fkcolumn_names.
41 42 43 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 41 def fkcolumn_names @fkcolumn_names end |
#fktable ⇒ Object
Returns the value of attribute fktable.
42 43 44 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 42 def fktable @fktable end |
#pkcolumn_names ⇒ Object
Returns the value of attribute pkcolumn_names.
41 42 43 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 41 def pkcolumn_names @pkcolumn_names end |
#pktable ⇒ Object
Returns the value of attribute pktable.
42 43 44 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 42 def pktable @pktable end |
Instance Method Details
#fkcolumns ⇒ Object
62 63 64 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 62 def fkcolumns @fkcolumns ||= fkcolumn_names.map{|name| fktable.columns[name]} end |
#inspect ⇒ Object
44 45 46 47 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 44 def inspect "#<#{self.class.name} #{name} #{fktable.name}(%s)=>#{pktable.name}(%s)>" % [fkcolumn_names.join(','), pkcolumn_names.join(',')] end |
#length ⇒ Object Also known as: size
57 58 59 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 57 def length pkcolumn_names.length end |
#name ⇒ Object
49 50 51 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 49 def name fk_name.send([:name_case] || :to_s) end |
#pkcolumns ⇒ Object
66 67 68 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 66 def pkcolumns @pkcolumns ||= pkcolumn_names.map{|name| pktable.columns[name]} end |
#pretty_print_instance_variables ⇒ Object
53 54 55 |
# File 'lib/rubeus/jdbc/foreign_key.rb', line 53 def pretty_print_instance_variables super - [:@fktable, :@pktable] end |