Class: ActiveRecord::ConnectionAdapters::IBM_DataServer
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::IBM_DataServer
- Defined in:
- lib/active_record/connection_adapters/ibm_db_adapter.rb
Overview
This class contains common code across DB’s (DB2 LUW, zOS, i5 and IDS)
Instance Method Summary collapse
- #change_column_default(table_name, column_name, default) ⇒ Object
- #check_reserved_words(col_name) ⇒ Object
- #create_index_after_table(table_name) ⇒ Object
- #execute(sql, name = nil) ⇒ Object
- #get_datetime_mapping ⇒ Object
- #get_time_mapping ⇒ Object
-
#initialize(adapter) ⇒ IBM_DataServer
constructor
A new instance of IBM_DataServer.
- #last_generated_id(stmt) ⇒ Object
- #query_offset_limit(sql, offset, limit) ⇒ Object
-
#remove_column(table_name, column_name) ⇒ Object
This is supported by the DB2 for Linux, UNIX, Windows data servers and by the DB2 for i5 data servers.
- #reorg_table(table_name) ⇒ Object
- #select_all(sql, name, stmt, results) ⇒ Object
- #set_binary_default(value) ⇒ Object
- #set_binary_value ⇒ Object
- #set_case(value) ⇒ Object
- #set_schema(schema) ⇒ Object
- #set_text_default ⇒ Object
- #setup_for_lob_table ⇒ Object
Constructor Details
#initialize(adapter) ⇒ IBM_DataServer
Returns a new instance of IBM_DataServer.
966 967 968 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 966 def initialize(adapter) @adapter = adapter end |
Instance Method Details
#change_column_default(table_name, column_name, default) ⇒ Object
1044 1045 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1044 def change_column_default(table_name, column_name, default) end |
#check_reserved_words(col_name) ⇒ Object
982 983 984 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 982 def check_reserved_words(col_name) col_name end |
#create_index_after_table(table_name) ⇒ Object
973 974 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 973 def create_index_after_table (table_name) end |
#execute(sql, name = nil) ⇒ Object
1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1014 def execute(sql, name = nil) begin if stmt = IBM_DB::exec(@adapter.connection, sql) stmt # Return the statement object else raise StatementInvalid, IBM_DB::stmt_errormsg end rescue StandardError error_msg = IBM_DB::conn_errormsg ? IBM_DB::conn_errormsg : IBM_DB::stmt_errormsg if error_msg && !error_msg.empty? raise "Failed to execute statement due to error: #{error_msg}" else raise end end end |
#get_datetime_mapping ⇒ Object
1038 1039 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1038 def get_datetime_mapping end |
#get_time_mapping ⇒ Object
1041 1042 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1041 def get_time_mapping end |
#last_generated_id(stmt) ⇒ Object
970 971 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 970 def last_generated_id(stmt) end |
#query_offset_limit(sql, offset, limit) ⇒ Object
1035 1036 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1035 def query_offset_limit(sql, offset, limit) end |
#remove_column(table_name, column_name) ⇒ Object
This is supported by the DB2 for Linux, UNIX, Windows data servers and by the DB2 for i5 data servers
988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 988 def remove_column(table_name, column_name) begin @adapter.execute "ALTER TABLE #{table_name} DROP #{column_name}" reorg_table(table_name) rescue StandardError => exec_err # Provide details on the current XML columns support if exec_err..include?('SQLCODE=-1242') && exec_err..include?('42997') raise StatementInvalid, "A column that is part of a table containing an XML column cannot be dropped. \ To remove the column, the table must be dropped and recreated without the #{column_name} column: #{exec_err}" else raise end end end |
#reorg_table(table_name) ⇒ Object
979 980 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 979 def reorg_table(table_name) end |
#select_all(sql, name, stmt, results) ⇒ Object
1004 1005 1006 1007 1008 1009 1010 1011 1012 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1004 def select_all(sql, name, stmt, results) # Fetches all the results available. IBM_DB::fetch_assoc(stmt) returns # an hash for each single record. # The loop stops when there aren't any more valid records to fetch while single_hash = IBM_DB::fetch_assoc(stmt) # Add the record to the +results+ array results << single_hash end end |
#set_binary_default(value) ⇒ Object
1047 1048 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1047 def set_binary_default(value) end |
#set_binary_value ⇒ Object
1050 1051 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1050 def set_binary_value end |
#set_case(value) ⇒ Object
1056 1057 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1056 def set_case(value) end |
#set_schema(schema) ⇒ Object
1031 1032 1033 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1031 def set_schema(schema) @adapter.execute("SET SCHEMA #{schema}") end |
#set_text_default ⇒ Object
1053 1054 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 1053 def set_text_default end |
#setup_for_lob_table ⇒ Object
976 977 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 976 def setup_for_lob_table () end |