| Class | Sequel::SqlAnywhere::Database |
| In: |
lib/sequel/adapters/sqlanywhere.rb
|
| Parent: | Sequel::Database |
| api | [RW] |
# File lib/sequel/adapters/sqlanywhere.rb, line 47
47: def connect(server)
48: opts = server_opts(server)
49: unless conn_string = opts[:conn_string]
50: conn_string = []
51: conn_string << "Host=#{opts[:host]}#{":#{opts[:port]}" if opts[:port]}" if opts[:host]
52: conn_string << "DBN=#{opts[:database]}" if opts[:database]
53: conn_string << "UID=#{opts[:user]}" if opts[:user]
54: conn_string << "Password=#{opts[:password]}" if opts[:password]
55: conn_string << "CommLinks=#{opts[:commlinks]}" if opts[:commlinks]
56: conn_string << "ConnectionName=#{opts[:connection_name]}" if opts[:connection_name]
57: conn_string << "CharSet=#{opts[:encoding]}" if opts[:encoding]
58: conn_string << "Idle=0" # Prevent the server from disconnecting us if we're idle for >240mins (by default)
59: conn_string << nil
60: conn_string = conn_string.join(';')
61: end
62:
63: conn = @api.sqlany_new_connection
64: raise LoadError, "Could not connect" unless conn && @api.sqlany_connect(conn, conn_string) == 1
65:
66: if Sequel.application_timezone == :utc
67: @api.sqlany_execute_immediate(conn, "SET TEMPORARY OPTION time_zone_adjustment=0")
68: end
69:
70: conn
71: end
# File lib/sequel/adapters/sqlanywhere.rb, line 73
73: def disconnect_connection(c)
74: @api.sqlany_disconnect(c)
75: end
# File lib/sequel/adapters/sqlanywhere.rb, line 83
83: def execute(sql, opts=OPTS, &block)
84: synchronize(opts[:server]) do |conn|
85: _execute(conn, :select, sql, opts, &block)
86: end
87: end
# File lib/sequel/adapters/sqlanywhere.rb, line 77
77: def execute_dui(sql, opts=OPTS)
78: synchronize(opts[:server]) do |conn|
79: _execute(conn, :rows, sql, opts)
80: end
81: end