vacuum from ecpg - Mailing list pgsql-general

From Lynn.Tilby@asu.edu
Subject vacuum from ecpg
Date
Msg-id 1068846590.3fb54dfe82b75@webmail.asu.edu
Whole thread Raw
Responses Re: vacuum from ecpg  ("Joshua D. Drake" <jd@commandprompt.com>)
List 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 by date:

Previous
From: Christopher Browne
Date:
Subject: Re: embedded postgresql
Next
From: "fuzzy"
Date:
Subject: Re: Can Postgresql run under Windows?