# File lib/jdbc_adapter/jdbc_informix.rb, line 43 def self.adapter_matcher(name, *) name =~ /informix/ ? self : false end
# File lib/jdbc_adapter/jdbc_informix.rb, line 91 def add_limit_offset!(sql, options) if options[:limit] limit = "FIRST #{options[:limit]}" # SKIP available only in IDS >= 10 offset = (@@db_major_version >= 10 && options[:offset]? "SKIP #{options[:offset]}" : "") sql.sub!(/^select /, "SELECT #{offset} #{limit} ") end sql end
# File lib/jdbc_adapter/jdbc_informix.rb, line 122 def create_table(name, options = {}) super(name, options) execute("CREATE SEQUENCE #{name}_seq") end
# File lib/jdbc_adapter/jdbc_informix.rb, line 87 def default_sequence_name(table, column) "#{table}_seq" end
# File lib/jdbc_adapter/jdbc_informix.rb, line 132 def drop_table(name) super(name) execute("DROP SEQUENCE #{name}_seq") end
# File lib/jdbc_adapter/jdbc_informix.rb, line 64 def modify_types(tp) tp[:primary_key] = "SERIAL PRIMARY KEY" tp[:string] = { :name => "VARCHAR", :limit => 255 } tp[:integer] = { :name => "INTEGER" } tp[:float] = { :name => "FLOAT" } tp[:decimal] = { :name => "DECIMAL" } tp[:datetime] = { :name => "DATETIME YEAR TO FRACTION(5)" } tp[:timestamp] = { :name => "DATETIME YEAR TO FRACTION(5)" } tp[:time] = { :name => "DATETIME HOUR TO FRACTION(5)" } tp[:date] = { :name => "DATE" } tp[:binary] = { :name => "BYTE" } tp[:boolean] = { :name => "BOOLEAN" } tp end
# File lib/jdbc_adapter/jdbc_informix.rb, line 102 def next_sequence_value(sequence_name) select_one("SELECT #{sequence_name}.nextval id FROM systables WHERE tabid=1")['id'] end
# File lib/jdbc_adapter/jdbc_informix.rb, line 79 def prefetch_primary_key?(table_name = nil) true end
# File lib/jdbc_adapter/jdbc_informix.rb, line 111 def quote(value, column = nil) if column && [:binary, :text].include?(column.type) # LOBs are updated separately by an after_save trigger. "NULL" elsif column && column.type == :date "'#{value.mon}/#{value.day}/#{value.year}'" else super end end
TODO: Add some smart quoting for newlines in string and text fields.
# File lib/jdbc_adapter/jdbc_informix.rb, line 107 def quote_string(string) string.gsub(/\'/, "''") end
# File lib/jdbc_adapter/jdbc_informix.rb, line 137 def remove_index(table_name, options = {}) @connection.execute_update("DROP INDEX #{index_name(table_name, options)}") end
Generated with the Darkfish Rdoc Generator 2.