oracle does not provide the information_schema table To question internal state like postgres or mysql
@see DataMapper::Constraints::Adapters::DataObjectsAdapter
@api private
# File lib/data_mapper/constraints/adapters/oracle_adapter.rb, line 16 16: def constraint_exists?(storage_name, constraint_name) 17: statement = DataMapper::Ext::String.compress_lines( SELECT COUNT(*) FROM USER_CONSTRAINTS WHERE table_name = ? AND constraint_name = ?) 18: 19: select(statement, oracle_upcase(storage_name)[0, self.class::IDENTIFIER_MAX_LENGTH].gsub('"', '_'), oracle_upcase(constraint_name)[0, self.class::IDENTIFIER_MAX_LENGTH].gsub('"', '_')).first > 0 20: 21: end
@see DataMapper::Constraints::Adapters::DataObjectsAdapter#create_constraints_statement
@api private
TODO: is it desirable to always set `INITIALLY DEFERRED DEFERRABLE`?
# File lib/data_mapper/constraints/adapters/oracle_adapter.rb, line 34 34: def create_constraints_statement(constraint_name, constraint_type, source_storage_name, source_keys, target_storage_name, target_keys) 35: DataMapper::Ext::String.compress_lines( ALTER TABLE #{quote_name(source_storage_name)} ADD CONSTRAINT #{quote_name(constraint_name)} FOREIGN KEY (#{source_keys.join(', ')}) REFERENCES #{quote_name(target_storage_name)} (#{target_keys.join(', ')}) #{"ON DELETE " + constraint_type if constraint_type && constraint_type != "NO ACTION"} INITIALLY DEFERRED DEFERRABLE) 36: end
@api private
# File lib/data_mapper/constraints/adapters/oracle_adapter.rb, line 46 46: def destroy_constraints_statement(storage_name, constraint_name) 47: DataMapper::Ext::String.compress_lines( ALTER TABLE #{quote_name(storage_name)} DROP CONSTRAINT #{quote_name(constraint_name)} CASCADE) 48: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.