module Sequel::Plugins::InsertReturningSelect::ClassMethods

Attributes

instance_insert_dataset[R]

The dataset to use to insert new rows. For internal use only.

Private Instance Methods

insert_returning_columns(ds) click to toggle source

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
51 def insert_returning_columns(ds)
52   return unless ds.supports_returning?(:insert)
53   return unless values = ds.opts[:select]
54 
55   values = values.map{|v| ds.unqualified_column_for(v)}
56   if values.all?
57     values
58   end
59 end
reset_instance_dataset() click to toggle source

When reseting the instance dataset, also reset the instance_insert_dataset.

Calls superclass method
   # File lib/sequel/plugins/insert_returning_select.rb
36 def reset_instance_dataset
37   ret = super
38   return unless ds = @instance_dataset
39 
40   if columns = insert_returning_columns(ds)
41     ds = ds.returning(*columns)
42   end
43   @instance_insert_dataset = ds
44 
45   ret
46 end