Class: Ketsuban::Adapter::PostgreSQLAdapter

Inherits:
AbstractAdapter show all
Defined in:
lib/ketsuban/adapters/postgresql_adapter.rb

Instance Method Summary collapse

Methods inherited from AbstractAdapter

#generate_next_id, #initialize

Constructor Details

This class inherits a constructor from Ketsuban::Adapter::AbstractAdapter

Instance Method Details

#fetch_next_idObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/ketsuban/adapters/postgresql_adapter.rb', line 7

def fetch_next_id
  last_value_result = @model_class
                      .connection
                      .execute("select last_value, is_called from #{@model_class.sequence_name}\;")

  last_value = last_value_result.getvalue(0, 0)
  is_called = last_value_result.getvalue(0, 1)

  if is_called
    last_value.next
  else
    last_value
  end
end

#increment_sequence(now_id) ⇒ Object



23
24
25
# File 'lib/ketsuban/adapters/postgresql_adapter.rb', line 23

def increment_sequence(now_id)
  @model_class.connection.set_pk_sequence!(@model_class.table_name, now_id)
end