# 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