Ruby `prepare': ОШИБКА: подготовленный оператор should_insert уже существует (PG::DuplicatePstatement)

я посмотрел ссылку

Как исправить PG::DuplicatePstatement: ERROR?

но это все еще не решило сообщение об ошибке, которое я получаю

`prepare': ERROR:  prepared statement "should_insert" already exists (PG::DuplicatePstatement)

Куда мне поместить блок кода из ответа по ссылке выше? Должен ли я вызывать метод для его выполнения?

db_connection = PGconn.connect("localhost", 5433, '', '', "dev_ddb", "user", "pass")

db_connection.prepare('should_insert', 'SELECT COUNT(*) from users where user_id = $1')

person user2974739    schedule 24.09.2015    source источник
comment
Я создал новый инициализатор в папке конфигурации с именем pg_init.rb и поместил код из ссылки Как исправить... выше. Но это все еще дает мне ту же ошибку. Мой код находится в файле app.rb, и я тестирую его с помощью ruby ​​app.rb. Не уверен, что это имеет значение.   -  person user2974739    schedule 25.09.2015


Ответы (1)


Я смог заставить это работать, освободив подготовленный оператор. Я вставил эту строку сразу после оператора exec_prepared.

db_connection.exec("DEALLOCATE should_insert")
person user2974739    schedule 24.09.2015