vacuum from ecpg
От | Lynn.Tilby@asu.edu |
---|---|
Тема | vacuum from ecpg |
Дата | |
Msg-id | 1068846590.3fb54dfe82b75@webmail.asu.edu обсуждение исходный текст |
Ответы |
Re: vacuum from ecpg
|
Список | pgsql-general |
The following program produces the output below... It is built with: vrfy_prob: vrfy_prob.cpg /usr/local/pgsql/bin/ecpg -I/usr/local/pgsql/include -o vrfy_prob.c vrfy_prob.cpg gcc -g${DEBUG} -I/usr/include/pgsql -o vrfy_prob -lm -lc -lecpg -lpq vrfy_prob.c I am not using a BEGIN/END block, though the error messages indicate that I am. How can I do a vacuum analyze from within embedded sql in a c program that works? Thanks for your help! Lynn Tilby ltilby@asu.edu ******************************* PROGRAM ******************************** #include <stdlib.h> #include <ctype.h> EXEC SQL INCLUDE sqlca; /* include the sql debugging stuff... */ /********* !!!!!!!!!! POSTGRES SQL DEBUGGING STRUCTURE FIELDS ************/ #define DEBUG_SQL printf("sqlcaid = %s\n", sqlca.sqlcaid); printf("sqlabc = %f\n", sqlca.sqlabc); printf("sqlcode = %f\n", sqlca.sqlcode); printf("sqlca.sqlerrm.sqlerrml = %d\n", sqlca.sqlerrm.sqlerrml); printf("sqlca.sqlerrm.sqlerrmc = %s\n", sqlca.sqlerrm.sqlerrmc); printf("sqlerrp = %s\n", sqlca.sqlerrp); printf("sqlerrd = %f\n", sqlca.sqlerrd); printf("sqlext = %s\n", sqlca.sqlext); int main() { EXEC SQL BEGIN DECLARE SECTION; /* declare the variables used by sql */ EXEC SQL END DECLARE SECTION; /* declare the variables used by sql */ EXEC SQL CONNECT TO pma; EXEC SQL WHENEVER sqlerror sqlprint; /* turn on verbose sql error ckg */ DEBUG_SQL EXEC SQL VACUUM ANALYZE optn_cent_xref; DEBUG_SQL } ******************************* OUTPUT ******************************** [lynn@polaris strdl_sim]$ ./vrfy_prob sqlcaid = SQLCA sqlabc = -1.998680 sqlcode = -1.998680 sqlca.sqlerrm.sqlerrml = 0 sqlca.sqlerrm.sqlerrmc = sqlerrp = NOT SET sqlerrd = -1.998680 sqlext = sql error Postgres error: ERROR: VACUUM cannot run inside a BEGIN/END block line 23. sqlcaid = SQLCA sqlabc = -1.998680 sqlcode = -1.998681 sqlca.sqlerrm.sqlerrml = 76 sqlca.sqlerrm.sqlerrmc = Postgres error: ERROR: VACUUM cannot run inside a BEGIN/END block line 23. sqlerrp = 23. sqlerrd = -1.998680 sqlext = [lynn@polaris strdl_sim]$
В списке pgsql-general по дате отправления: