Insert given values into the database.
# File lib/sequel/adapters/shared/firebird.rb, line 168 def insert(*values) if @opts[:sql] || @opts[:returning] super else returning(insert_pk).insert(*values){|r| return r.values.first} end end
Insert a record returning the record inserted
# File lib/sequel/adapters/shared/firebird.rb, line 177 def insert_select(*values) returning.insert(*values){|r| return r} end
# File lib/sequel/adapters/shared/firebird.rb, line 181 def requires_sql_standard_datetimes? true end
# File lib/sequel/adapters/shared/firebird.rb, line 185 def supports_cte?(type=:select) type == :select end
# File lib/sequel/adapters/shared/firebird.rb, line 189 def supports_insert_select? true end
Firebird does not support INTERSECT or EXCEPT
# File lib/sequel/adapters/shared/firebird.rb, line 194 def supports_intersect_except? false end
# File lib/sequel/adapters/shared/firebird.rb, line 198 def supports_returning?(type) type == :insert end
# File lib/sequel/adapters/shared/firebird.rb, line 204 def empty_from_sql DEFAULT_FROM end
# File lib/sequel/adapters/shared/firebird.rb, line 208 def insert_pk(*values) pk = db.primary_key(opts[:from].first) pk ? Sequel::SQL::Identifier.new(pk) : NULL end
# File lib/sequel/adapters/shared/firebird.rb, line 213 def literal_false BOOL_FALSE end
# File lib/sequel/adapters/shared/firebird.rb, line 217 def literal_true BOOL_TRUE end
Firebird can insert multiple rows using a UNION
# File lib/sequel/adapters/shared/firebird.rb, line 222 def multi_insert_sql_strategy :union end
# File lib/sequel/adapters/shared/firebird.rb, line 226 def select_limit_sql(sql) if l = @opts[:limit] sql << FIRST literal_append(sql, l) end if o = @opts[:offset] sql << SKIP literal_append(sql, o) end end