The dataset to use to insert new rows. For internal use only.
Determine the columns to use for the returning clause, or return nil if they can't be determined and a returning clause should not be added automatically.
# File lib/sequel/plugins/insert_returning_select.rb, line 51 def insert_returning_columns(ds) return unless ds.supports_returning?(:insert) return unless values = ds.opts[:select] values = values.map{|v| ds.unqualified_column_for(v)} if values.all? values end end
When reseting the instance dataset, also reset the instance_insert_dataset.
# File lib/sequel/plugins/insert_returning_select.rb, line 36 def reset_instance_dataset ret = super return unless ds = @instance_dataset if columns = insert_returning_columns(ds) ds = ds.returning(*columns) end @instance_insert_dataset = ds ret end