Class: ActiveRecord::ConnectionAdapters::IBM_DB2_ZOS_8

Inherits:
IBM_DB2_ZOS show all
Includes:
HostedDataServer
Defined in:
lib/active_record/connection_adapters/ibm_db_adapter.rb

Overview

class IBM_DB2_ZOS

Constant Summary

Constants included from HostedDataServer

HostedDataServer::RESERVED_WORDS

Instance Method Summary collapse

Methods included from HostedDataServer

#check_reserved_words

Methods inherited from IBM_DB2_ZOS

#change_column_null, #create_index_after_table, #remove_column, #set_binary_default

Methods inherited from IBM_DB2

#change_column, #change_column_null, #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_null, #check_reserved_words, #create_index_after_table, #execute, #get_datetime_mapping, #get_double_mapping, #get_time_mapping, #initialize, #last_generated_id, #limit_not_supported_types, #prepare, #remove_column, #reorg_table, #select, #select_rows, #set_binary_default, #set_binary_value, #set_case, #set_schema, #set_text_default

Constructor Details

This class inherits a constructor from ActiveRecord::ConnectionAdapters::IBM_DB2

Instance Method Details

#change_column_default(table_name, column_name, default) ⇒ Object

Raises:

  • (NotImplementedError)


2745
2746
2747
2748
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 2745

def change_column_default(table_name, column_name, default)
  raise NotImplementedError,
  "DB2 for zOS data server version 8 does not support changing the column default"
end

#get_limit_offset_clauses(limit, offset) ⇒ Object



2711
2712
2713
2714
2715
2716
2717
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 2711

def get_limit_offset_clauses(limit, offset)
  retHash = {"startSegment" => "", "endSegment" => ""}
  if (!limit.nil?)
     retHash["endSegment"] = " FETCH FIRST #{limit} ROWS ONLY"
  end
  return retHash
end

#query_offset_limit(sql, offset, limit) ⇒ Object



2719
2720
2721
2722
2723
2724
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 2719

def query_offset_limit(sql, offset, limit)
  if (!limit.nil?)
     sql << " FETCH FIRST #{limit} ROWS ONLY"
  end
  return sql
end

#query_offset_limit!(sql, offset, limit, options) ⇒ Object



2726
2727
2728
2729
2730
2731
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 2726

def query_offset_limit!(sql, offset, limit, options)
  if (!limit.nil?)
     sql << " FETCH FIRST #{limit} ROWS ONLY"
  end
  options[:paramArray] = []
end

#rename_column(table_name, column_name, new_column_name) ⇒ Object

Raises:

  • (NotImplementedError)


2741
2742
2743
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 2741

def rename_column(table_name, column_name, new_column_name)
  raise NotImplementedError, "rename_column is not implemented for DB2 on zOS 8"
end

#setup_for_lob_tableObject

This call is needed on DB2 z/OS v8 for the creation of tables with LOBs. When issued, this call does the following:

DB2 creates LOB table spaces, auxiliary tables, and indexes on auxiliary
tables for LOB columns.


2737
2738
2739
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 2737

def setup_for_lob_table()
  execute "SET CURRENT RULES = 'STD'"
end