queries are raw

This commit is contained in:
Loic Nageleisen 2017-07-17 16:42:55 +02:00
parent e37d9034b4
commit 18569b2b2f

View file

@ -165,62 +165,62 @@ module Rebel::SQL
end end
def create_table(table_name, desc) def create_table(table_name, desc)
<<-SQL raw <<-SQL
CREATE TABLE #{name(table_name)} ( CREATE TABLE #{name(table_name)} (
#{list(desc.map { |k, v| "#{name(k)} #{v}" })} #{list(desc.map { |k, v| "#{name(k)} #{v}" })}
); )
SQL SQL
end end
def drop_table(table_name) def drop_table(table_name)
<<-SQL raw <<-SQL
DROP TABLE #{name(table_name)}; DROP TABLE #{name(table_name)}
SQL SQL
end end
def select(*fields, from: nil, where: nil, inner: nil, left: nil, right: nil) def select(*fields, from: nil, where: nil, inner: nil, left: nil, right: nil)
<<-SQL raw <<-SQL
SELECT #{names(*fields)} FROM #{name(from)} SELECT #{names(*fields)} FROM #{name(from)}
#{inner?(inner)} #{inner?(inner)}
#{left?(left)} #{left?(left)}
#{right?(right)} #{right?(right)}
#{where?(where)}; #{where?(where)}
SQL SQL
end end
def insert_into(table_name, *rows) def insert_into(table_name, *rows)
<<-SQL raw <<-SQL
INSERT INTO #{name(table_name)} (#{names(*rows.first.keys)}) INSERT INTO #{name(table_name)} (#{names(*rows.first.keys)})
VALUES #{list(rows.map { |r| "(#{values(*r.values)})" })}; VALUES #{list(rows.map { |r| "(#{values(*r.values)})" })}
SQL SQL
end end
def update(table_name, set: nil, where: nil, inner: nil, left: nil, right: nil) def update(table_name, set: nil, where: nil, inner: nil, left: nil, right: nil)
raise ArgumentError if set.nil? raise ArgumentError if set.nil?
<<-SQL raw <<-SQL
UPDATE #{name(table_name)} UPDATE #{name(table_name)}
SET #{assign_clause(set)} SET #{assign_clause(set)}
#{inner?(inner)} #{inner?(inner)}
#{left?(left)} #{left?(left)}
#{right?(right)} #{right?(right)}
#{where?(where)}; #{where?(where)}
SQL SQL
end end
def delete_from(table_name, where: nil, inner: nil, left: nil, right: nil) def delete_from(table_name, where: nil, inner: nil, left: nil, right: nil)
<<-SQL raw <<-SQL
DELETE FROM #{name(table_name)} DELETE FROM #{name(table_name)}
#{inner?(inner)} #{inner?(inner)}
#{left?(left)} #{left?(left)}
#{right?(right)} #{right?(right)}
#{where?(where)}; #{where?(where)}
SQL SQL
end end
def truncate(table_name) def truncate(table_name)
<<-SQL raw <<-SQL
TRUNCATE #{name(table_name)}; TRUNCATE #{name(table_name)}
SQL SQL
end end