Class: Sequel::SqlAnywhere::Database
- Inherits:
-
Database
- Object
- Database
- Sequel::SqlAnywhere::Database
show all
- Includes:
- DatabaseMethods
- Defined in:
- lib/sequel/adapters/sqlanywhere.rb
Instance Attribute Summary collapse
#conversion_procs, #convert_smallint_to_bool
Instance Method Summary
collapse
#database_type, #foreign_key_list, #indexes, #schema_parse_table, #tables, #to_application_timestamp_sa, #views
Instance Attribute Details
Returns the value of attribute api.
56
57
58
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 56
def api
@api
end
|
Instance Method Details
#connect(server) ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 60
def connect(server)
opts = server_opts(server)
unless conn_string = opts[:conn_string]
conn_string = []
conn_string << "Host=#{opts[:host]}#{":#{opts[:port]}" if opts[:port]}" if opts[:host]
conn_string << "DBN=#{opts[:database]}" if opts[:database]
conn_string << "UID=#{opts[:user]}" if opts[:user]
conn_string << "Password=#{opts[:password]}" if opts[:password]
conn_string << "CommLinks=#{opts[:commlinks]}" if opts[:commlinks]
conn_string << "ConnectionName=#{opts[:connection_name]}" if opts[:connection_name]
conn_string << "CharSet=#{opts[:encoding]}" if opts[:encoding]
conn_string << "Idle=0" conn_string << nil
conn_string = conn_string.join(';')
end
conn = @api.sqlany_new_connection
raise LoadError, "Could not connect" unless conn && @api.sqlany_connect(conn, conn_string) == 1
if Sequel.application_timezone == :utc
@api.sqlany_execute_immediate(conn, "SET TEMPORARY OPTION time_zone_adjustment=0")
end
conn
end
|
#disconnect_connection(c) ⇒ Object
86
87
88
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 86
def disconnect_connection(c)
@api.sqlany_disconnect(c)
end
|
#execute(sql, opts = OPTS, &block) ⇒ Object
96
97
98
99
100
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 96
def execute(sql, opts=OPTS, &block)
synchronize(opts[:server]) do |conn|
_execute(conn, :select, sql, opts, &block)
end
end
|
#execute_dui(sql, opts = OPTS) ⇒ Object
90
91
92
93
94
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 90
def execute_dui(sql, opts=OPTS)
synchronize(opts[:server]) do |conn|
_execute(conn, :rows, sql, opts)
end
end
|
#execute_insert(sql, opts = OPTS) ⇒ Object
102
103
104
105
106
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 102
def execute_insert(sql, opts=OPTS)
synchronize(opts[:server]) do |conn|
_execute(conn, :insert, sql, opts)
end
end
|
108
109
110
111
|
# File 'lib/sequel/adapters/sqlanywhere.rb', line 108
def freeze
@conversion_procs.freeze
super
end
|