Module: ActiveRecord::ConnectionAdapters::AuroraServerless::Mysql2::Client
- Included in:
- Client
- Defined in:
- lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb
Constant Summary collapse
- ESCAPE_MAP =
{ "\x00" => "0", "\n" => "n", "\r" => "r", "\\" => "\\", "'" => "'", '"' => '"' }.freeze
- ESCAPE_PATTERN =
Regexp.union(*ESCAPE_MAP.keys)
Class Method Summary collapse
Instance Method Summary collapse
- #abandon_results! ⇒ Object
- #automatic_close= ⇒ Object
- #close ⇒ Object
- #escape(string) ⇒ Object
- #ping ⇒ Object
- #query(sql) ⇒ Object
- #query_options ⇒ Object
- #server_info ⇒ Object
Class Method Details
.default_query_options ⇒ Object
21 22 23 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 21 def self. {} end |
Instance Method Details
#abandon_results! ⇒ Object
62 63 64 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 62 def abandon_results! nil end |
#automatic_close= ⇒ Object
47 48 49 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 47 def automatic_close=(*) nil end |
#close ⇒ Object
43 44 45 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 43 def close @closed = true end |
#escape(string) ⇒ Object
51 52 53 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 51 def escape(string) string.gsub(ESCAPE_PATTERN) { |x| "\\#{ESCAPE_MAP[x]}" } end |
#ping ⇒ Object
55 56 57 58 59 60 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 55 def ping return false if @closed query('SELECT 1').to_a.first.first == 1 rescue false end |
#query(sql) ⇒ Object
29 30 31 32 33 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 29 def query(sql) raise ActiveRecord::StatementInvalid if @closed result = execute_statement(sql) AuroraServerless::Mysql2::Result.new(result) end |
#query_options ⇒ Object
25 26 27 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 25 def {} end |
#server_info ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/active_record/connection_adapters/aurora_serverless/mysql2/client.rb', line 35 def server_info @server_info || begin r = query 'SHOW VARIABLES LIKE "version"' version = r.to_a.detect{ |r| r.detect { |v| v == 'version' } }.last { version: version } end end |