class Sequel::Trilogy::Database
Constants
- LOCAL_TIME_QUERY_FLAGS
- QUERY_FLAGS
Public Instance Methods
Source
# 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
Connect to the database. See Trilogy
documentation for options.
Source
# File lib/sequel/adapters/trilogy.rb 26 def disconnect_connection(c) 27 c.discard! 28 rescue ::Trilogy::Error 29 nil 30 end
Source
# 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 the given SQL
on the given connection and yield the result.
Source
# File lib/sequel/adapters/trilogy.rb 44 def execute_dui(sql, opts=OPTS) 45 execute(sql, opts, &:affected_rows) 46 end
Source
# File lib/sequel/adapters/trilogy.rb 48 def execute_insert(sql, opts=OPTS) 49 execute(sql, opts, &:last_insert_id) 50 end
Source
# File lib/sequel/adapters/trilogy.rb 52 def freeze 53 server_version 54 super 55 end
Calls superclass method
Sequel::MySQL::DatabaseMethods#freeze
Source
# File lib/sequel/adapters/trilogy.rb 58 def server_version(_server=nil) 59 @server_version ||= super() 60 end
Return the version of the MySQL
server to which we are connecting.
Calls superclass method
Sequel::MySQL::DatabaseMethods#server_version
Private Instance Methods
Source
# File lib/sequel/adapters/trilogy.rb 72 def connection_execute_method 73 :query 74 end
Source
# File lib/sequel/adapters/trilogy.rb 76 def database_error_classes 77 [::Trilogy::Error] 78 end
Source
# File lib/sequel/adapters/trilogy.rb 64 def database_specific_error_class(exception, opts) 65 if exception.error_code == 1205 66 DatabaseLockTimeout 67 else 68 super 69 end 70 end
Calls superclass method
Sequel::Database#database_specific_error_class
Source
# File lib/sequel/adapters/trilogy.rb 80 def dataset_class_default 81 Dataset 82 end
Source
# File lib/sequel/adapters/trilogy.rb 85 def schema_column_type(db_type) 86 db_type =~ /\Atinyint\(1\)/ ? :boolean : super 87 end
Convert tinyint(1) type to boolean if convert_tinyint_to_bool is true
Calls superclass method
Sequel::MySQL::DatabaseMethods#schema_column_type