# File lib/flexirecord-demo.rb, line 39
39:     def save
40:       if self.number == :auto
41:         self.class.transaction self, :read_committed do
42:           self.class.db_execute("LOCK TABLE #{self.class.table} IN SHARE ROW EXCLUSIVE MODE")
43:           last_medium = Medium.select1('ORDER BY "number" DESC LIMIT 1')
44:           self.number = if last_medium
45:             last_medium.number + 1
46:           else
47:             1
48:           end
49:           return super
50:         end
51:       else
52:         return super
53:       end
54:     end