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
287 288 289 290 291 292 293 294 295 296 297 298 299 300 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 287 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
277 278 279 280 281 282 283 284 285 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 277 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 |