Class: ActiveRecord::ConnectionAdapters::IBM_DB2_LUW_COBRA
- Inherits:
-
IBM_DB2_LUW
- Object
- IBM_DataServer
- IBM_DB2
- IBM_DB2_LUW
- ActiveRecord::ConnectionAdapters::IBM_DB2_LUW_COBRA
- Defined in:
- lib/active_record/connection_adapters/ibm_db_adapter.rb
Overview
class IBM_DB2_LUW
Instance Method Summary collapse
-
#limit_not_supported_types ⇒ Object
Cobra supports parameterised timestamp, hence overriding following method to allow timestamp datatype to be parameterised.
-
#rename_column(table_name, column_name, new_column_name) ⇒ Object
Alter table column for renaming a column This feature is supported for against DB2 V97 and above only.
Methods inherited from IBM_DB2_LUW
Methods inherited from IBM_DB2
#change_column, #change_column_default, #change_column_null, #extract_new_default_value, #get_datetime_mapping, #get_double_mapping, #get_time_mapping, #initialize, #last_generated_id, #primary_key_definition, #set_binary_default, #set_binary_value, #set_case, #set_text_default
Methods inherited from IBM_DataServer
#change_column_default, #change_column_null, #check_reserved_words, #create_index_after_table, #execute, #get_datetime_mapping, #get_double_mapping, #get_time_mapping, #initialize, #last_generated_id, #prepare, #remove_column, #reorg_table, #select, #select_rows, #set_binary_default, #set_binary_value, #set_case, #set_schema, #set_text_default, #setup_for_lob_table
Constructor Details
This class inherits a constructor from ActiveRecord::ConnectionAdapters::IBM_DB2
Instance Method Details
#limit_not_supported_types ⇒ Object
Cobra supports parameterised timestamp, hence overriding following method to allow timestamp datatype to be parameterised
3302 3303 3304 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3302 def limit_not_supported_types [:integer, :double, :date, :time, :xml, :bigint] end |
#rename_column(table_name, column_name, new_column_name) ⇒ Object
Alter table column for renaming a column This feature is supported for against DB2 V97 and above only
3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3308 def rename_column(table_name, column_name, new_column_name) _table_name = table_name.to_s _column_name = column_name.to_s _new_column_name = new_column_name.to_s nil_condition = _table_name.nil? || _column_name.nil? || _new_column_name.nil? empty_condition = _table_name.empty? || _column_name.empty? || _new_column_name.empty? unless nil_condition if nil_condition || empty_condition raise ArgumentError,"One of the arguments passed to rename_column is empty or nil" end begin rename_column_sql = "ALTER TABLE #{_table_name} RENAME COLUMN #{_column_name} \ TO #{_new_column_name}" unless stmt = execute(rename_column_sql) error_msg = IBM_DB.getErrormsg(@adapter.connection, IBM_DB::DB_CONN ) if error_msg && !error_msg.empty? raise "Rename column failed : #{error_msg}" else raise StandardError.new('An unexpected error occurred during renaming the column') end end reorg_table(_table_name) ensure IBM_DB.free_stmt(stmt) if stmt end #End of begin end |