Goal is to TRUNCATE table, then DROP table, then
VACUUM (everything) then (re)ADD table as part of
an ECPG application's initialization.
From psql, this strategy works just fine, but not from the
ECPG application.
EXEC SQL VACUUM or EXEC SQL TRUNCATE TABLE
gives ecpg program error -400. The message that comes
with it says two different things:
For VACUUM, it says sqlca -400 with sqlca text reading:
'VACUUM cannot run inside a BEGIN/END block'
For TRUNCATE it says sqlca -400 with sqlca text reading:
'TRUNCATE TABLE cannot run inside a transaction block'
These same messages appear in the server log.
Have tried positioning these statements immediately
after the CONNECT, same result.
Have also tried EXEC SQL COMMIT prior to each,
same result.
What could have begun the block the server has in
effect, if it is immediately after a CONNECT?
Shouldn't a COMMIT end any transactions anyway?