class Sequel::Trilogy::Database

Constants

LOCAL_TIME_QUERY_FLAGS
QUERY_FLAGS

Public Instance Methods

connect(server) click to toggle source

Connect to the database. See Trilogy documentation for options.

   # File lib/sequel/adapters/trilogy.rb
17 def connect(server)
18   opts = server_opts(server)
19   opts[:username] ||= opts.delete(:user)
20   opts[:found_rows] = true
21   conn = ::Trilogy.new(opts)
22   mysql_connection_setting_sqls.each{|sql| log_connection_yield(sql, conn){conn.query(sql)}}
23   conn
24 end
disconnect_connection(c) click to toggle source
   # File lib/sequel/adapters/trilogy.rb
26 def disconnect_connection(c)
27   c.discard!
28 rescue ::Trilogy::Error
29   nil
30 end
execute(sql, opts) { |r| ... } click to toggle source

Execute the given SQL on the given connection and yield the result.

   # File lib/sequel/adapters/trilogy.rb
33 def execute(sql, opts)
34   r = synchronize(opts[:server]) do |conn|
35     log_connection_yield((log_sql = opts[:log_sql]) ? sql + log_sql : sql, conn) do
36       conn.query_with_flags(sql, timezone.nil? || timezone == :local ? LOCAL_TIME_QUERY_FLAGS : QUERY_FLAGS)
37     end
38   end
39   yield r
40 rescue ::Trilogy::Error => e
41   raise_error(e)
42 end
execute_dui(sql, opts=OPTS) click to toggle source
   # File lib/sequel/adapters/trilogy.rb
44 def execute_dui(sql, opts=OPTS)
45   execute(sql, opts, &:affected_rows)
46 end
execute_insert(sql, opts=OPTS) click to toggle source
   # File lib/sequel/adapters/trilogy.rb
48 def execute_insert(sql, opts=OPTS)
49   execute(sql, opts, &:last_insert_id)
50 end
freeze() click to toggle source
Calls superclass method Sequel::MySQL::DatabaseMethods#freeze
   # File lib/sequel/adapters/trilogy.rb
52 def freeze
53   server_version
54   super
55 end
server_version(_server=nil) click to toggle source

Return the version of the MySQL server to which we are connecting.

   # File lib/sequel/adapters/trilogy.rb
58 def server_version(_server=nil)
59   @server_version ||= super()
60 end

Private Instance Methods

connection_execute_method() click to toggle source
   # File lib/sequel/adapters/trilogy.rb
73 def connection_execute_method
74   :query
75 end
database_error_classes() click to toggle source
   # File lib/sequel/adapters/trilogy.rb
77 def database_error_classes
78   [::Trilogy::Error]
79 end
database_specific_error_class(exception, opts) click to toggle source
   # File lib/sequel/adapters/trilogy.rb
64 def database_specific_error_class(exception, opts)
65   case exception.message
66   when /1205 - Lock wait timeout exceeded; try restarting transaction\z/
67     DatabaseLockTimeout
68   else
69     super
70   end
71 end
dataset_class_default() click to toggle source
   # File lib/sequel/adapters/trilogy.rb
81 def dataset_class_default
82   Dataset
83 end
schema_column_type(db_type) click to toggle source

Convert tinyint(1) type to boolean if convert_tinyint_to_bool is true

   # File lib/sequel/adapters/trilogy.rb
86 def schema_column_type(db_type)
87   db_type =~ /\Atinyint\(1\)/ ? :boolean : super
88 end