Method: MessageStore::Postgres::Session#execute

Defined in:
lib/message_store/postgres/session.rb

#execute(sql_command, params = nil) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/message_store/postgres/session.rb', line 106

def execute(sql_command, params=nil)
  logger.trace(tag: :session) { "Executing SQL command" }
  logger.trace(tag: :sql) { sql_command }
  logger.trace(tag: :data) { params.pretty_inspect }

  unless connected?
    connect
  end

  if params.nil?
    connection.exec(sql_command).tap do
      self.executed_time = clock.now
      logger.debug(tag: :session) { "Executed SQL command (no params)" }
    end
  else
    connection.exec_params(sql_command, params).tap do
      self.executed_time = clock.now
      logger.debug(tag: :session) { "Executed SQL command with params" }
    end
  end
end