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
3356 3357 3358 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3356 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
3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3362 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 |