#include #include #include #include #include int main (int argc, char **argv) { SQLPSTMT *st; char buf[5000], buf2[5000]; dbString stmt; int len; st = sqpInitStmt(); db_init_string (&stmt); while ( fgets (buf, 5000, stdin) ) { fprintf ( stdout, "\nInput row: -->>%s<<--\n", buf ); strcpy ( buf2, buf ); G_chop (buf2); len = strlen (buf2); if ( buf2[ len - 1 ] == ';' ) { /* end of statement */ buf2 [len - 1] = 0; /* truncate ';' */ db_append_string (&stmt, buf2); st->stmt = db_get_string(&stmt); sqpInitParser(st); fprintf ( stdout, "Input statement: -->>%s<<--\n", st->stmt ); if ( yyparse() != 0 ) { fprintf (stdout, "Error: statement was not parsed successfully.\n"); sqpFreeStmt(st); return (1); } sqpPrintStmt(st); db_zero_string (&stmt); } else { db_append_string (&stmt, buf); } } sqpFreeStmt(st); exit(0); }