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)


3133
3134
3135
3136
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3133

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



3099
3100
3101
3102
3103
3104
3105
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3099

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



3107
3108
3109
3110
3111
3112
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3107

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



3114
3115
3116
3117
3118
3119
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3114

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)


3129
3130
3131
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3129

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.


3125
3126
3127
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3125

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