Есть две таблицы. У второй foreign key на первую. Так же есть запрепареный стэйтмент, добавляющий запись во вторую таблицу.
Если выполнить этот стейтмент, то вернется, как и полагается, ошибка: «insert or update on table „test2“ violates foreign key constraint „test_fk“ Key (test1_id)=(TEST_ID) is not present in table „test1“.; Error while executing the query»
После этого добавляю запись в первую таблицу и снова пытаюсь дернуть этот стэйтмент. Неожидано получаю generic ошибку S1000 «Error while executing the query».
Соответственно, если стэйтмент предварительно не «ломать», то он работает хорошо.
Скорее всего, проблема в постгрессовском odbc драйвере, т.к. с TimeSten'ом тот же тест работает на ура.
Как правильно «починить» стейтмент после ошибки выполнения? SQLFreeStmt(SQL_CLOSE) дергается.
Еще пытался логирование включить, но никаких логов не появляется:
Trace=1
TraceFile=/tmp/odbc.trace
Debug=1
DebugFile=/tmp/odbc.debug
CommLog=1