Sha256: 7f3a95b122752582b431b8d7a135fa90b8f0721dacdc07a0f4bf772db89b68f1
Contents?: true
Size: 1.74 KB
Versions: 2
Compression:
Stored size: 1.74 KB
Contents
module Riddle::Query def self.connection(address = '127.0.0.1', port = 9312) require 'mysql2' # If you use localhost, MySQL insists on a socket connection, but Sphinx # requires a TCP connection. Using 127.0.0.1 fixes that. address = '127.0.0.1' if address == 'localhost' Mysql2::Client.new( :host => address, :port => port ) end def self.meta 'SHOW META' end def self.warnings 'SHOW WARNINGS' end def self.status 'SHOW STATUS' end def self.tables 'SHOW TABLES' end def self.variables 'SHOW VARIABLES' end def self.collation 'SHOW COLLATION' end def self.describe(index) "DESCRIBE #{index}" end def self.begin 'BEGIN' end def self.commit 'COMMIT' end def self.rollback 'ROLLBACK' end def self.set(variable, values, global = true) values = "(#{values.join(', ')})" if values.is_a?(Array) "SET#{ ' GLOBAL' if global } #{variable} = #{values}" end def self.snippets(data, index, query, options = nil) options = ', ' + options.keys.collect { |key| "#{options[key]} AS #{key}" }.join(', ') unless options.nil? "CALL SNIPPETS('#{data}', '#{index}', '#{query}'#{options})" end def self.create_function(name, type, file) type = type.to_s.upcase "CREATE FUNCTION #{name} RETURNS #{type} SONAME '#{file}'" end def self.drop_function(name) "DROP FUNCTION #{name}" end def self.update(index, id, values = {}) values = values.keys.collect { |key| "#{key} = #{values[key]}" }.join(', ') "UPDATE #{index} SET #{values} WHERE id = #{id}" end end require 'riddle/query/delete' require 'riddle/query/insert' require 'riddle/query/select'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
riddle-1.4.0 | lib/riddle/query.rb |
riddle-1.3.3 | lib/riddle/query.rb |