Class: SQLTree::Node::InsertQuery
- Defined in:
- lib/active_record/turntable/sql_tree_patch.rb
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Base
Class Method Details
.parse_value_list(tokens) ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 184 def self.parse_value_list(tokens) values = [] tokens.consume(SQLTree::Token::VALUES) tokens.consume(SQLTree::Token::LPAREN) values << parse_list(tokens) tokens.consume(SQLTree::Token::RPAREN) while SQLTree::Token::COMMA === tokens.peek tokens.consume(SQLTree::Token::COMMA) tokens.consume(SQLTree::Token::LPAREN) values << parse_list(tokens) tokens.consume(SQLTree::Token::RPAREN) end return values end |
Instance Method Details
#to_sql(options = { }) ⇒ Object
174 175 176 177 178 179 180 181 182 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 174 def to_sql( = { }) sql = "INSERT INTO #{ table.to_sql()} " sql << '(' + fields.map { |f| f.to_sql() }.join(', ') + ') ' if fields sql << 'VALUES' sql << values.map do |value| ' (' + value.map { |v| v.to_sql() }.join(', ') + ')' end.join(',') sql end |