Database Reference
In-Depth Information
*IDENTIFICATION
*ecpg_sqlca.pgc
*
*----------------------------------------------------------------
*/
#include<stdio.h>
#include<sys/types.h>
#include<stdio.h>
EXEC SQL BEGIN DECLARE SECTION;
char target[] = "unix:postgresql://localhost:5432/postgres";
int id;
char name[255];
EXEC SQL END DECLARE SECTION;
/* Reference: http://www.postgresql.org/docs/9.4/static/ecpg-errors.
html */
void
print_sqlca()
{
fprintf(stderr, "==== sqlca ====\n");
fprintf(stderr, "sqlcode: %ld\n", sqlca.sqlcode);
fprintf(stderr, "sqlerrm.sqlerrml: %d\n",
sqlca.sqlerrm.sqlerrml);
fprintf(stderr, "sqlerrm.sqlerrmc: %s\n",
sqlca.sqlerrm.sqlerrmc);
fprintf(stderr, "sqlerrd: %ld %ld %ld %ld %ld %ld\n",
sqlca.sqlerrd[0],sqlca.sqlerrd[1],sqlca.sqlerrd[2],
sqlca.sqlerrd[3],sqlca.sqlerrd[4],sqlca.sqlerrd[5]);
fprintf(stderr, "sqlwarn: %d %d %d %d %d %d %d %d\n",
sqlca.sqlwarn[0], sqlca.sqlwarn[1], sqlca.sqlwarn[2],
sqlca.sqlwarn[3], sqlca.sqlwarn[4], sqlca.sqlwarn[5],
sqlca.sqlwarn[6], sqlca.sqlwarn[7]);
fprintf(stderr, "sqlstate: %5s\n", sqlca.sqlstate);
fprintf(stderr, "===============\n");
}
int main(int argc, char **argv)
{
EXEC SQL CONNECT TO :target AS connection_unix USER postgres;
/* Drop table */
EXEC SQL DROP TABLE IF EXISTS foo;
/* Create table foo */
EXEC SQL CREATE TABLE foo (id INTEGER, name TEXT);
EXEC SQL WHENEVER SQLERROR CALL print_sqlca();
 
Search WWH ::




Custom Search