Sha256: 30bf391198026fec5d27d7d1811161938fe5e57233308065bf05befba2d7cef4
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
require 'informix' module Sequel module Informix class Database < Sequel::Database set_adapter_scheme :informix def connect(server) opts = server_opts(server) ::Informix.connect(opts[:database], opts[:user], opts[:password]) end def dataset(opts = nil) Sequel::Informix::Dataset.new(self, opts) end # Returns number of rows affected def execute_dui(sql, opts={}) log_info(sql) synchronize(opts[:server]){|c| c.immediate(sql)} end alias_method :do, :execute_dui def execute(sql, opts={}) log_info(sql) synchronize(opts[:server]){|c| yield c.cursor(sql)} end alias_method :query, :execute private def disconnect_connection(c) c.close end end class Dataset < Sequel::Dataset include UnsupportedIntersectExcept SELECT_CLAUSE_ORDER = %w'limit distinct columns from join where having group union order'.freeze def literal(v) case v when Time literal(v.iso8601) when Date, DateTime literal(v.to_s) else super end end def fetch_rows(sql, &block) execute(sql) do |cursor| begin cursor.open.each_hash(&block) ensure cursor.drop end end self end private def select_clause_order SELECT_CLAUSE_ORDER end def select_limit_sql(sql, opts) sql << " SKIP #{opts[:offset]}" if opts[:offset] sql << " FIRST #{opts[:limit]}" if opts[:limit] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sequel-2.8.0 | lib/sequel_core/adapters/informix.rb |