00001 #include <stdlib.h>
00002 #include <string.h>
00003 #include <grass/gis.h>
00004 #include <grass/dbmi.h>
00005 #include <grass/sqlp.h>
00006
00007 int
00008 main (int argc, char **argv)
00009 {
00010 SQLPSTMT *st;
00011 char buf[5000], buf2[5000];
00012 dbString stmt;
00013 int len;
00014
00015
00016 st = sqpInitStmt();
00017
00018 db_init_string (&stmt);
00019
00020 while ( fgets (buf, 5000, stdin) ) {
00021 fprintf ( stdout, "\nInput row: -->>%s<<--\n", buf );
00022 strcpy ( buf2, buf );
00023 G_chop (buf2);
00024 len = strlen (buf2);
00025
00026 if ( buf2[ len - 1 ] == ';' ) {
00027 buf2 [len - 1] = 0;
00028 db_append_string (&stmt, buf2);
00029
00030 st->stmt = db_get_string(&stmt);
00031 sqpInitParser(st);
00032
00033 fprintf ( stdout, "Input statement: -->>%s<<--\n", st->stmt );
00034
00035 if ( yyparse() != 0 )
00036 {
00037 fprintf (stdout, "Error: statement was not parsed successfully.\n");
00038 sqpFreeStmt(st);
00039 return (1);
00040 }
00041
00042 sqpPrintStmt(st);
00043
00044 db_zero_string (&stmt);
00045
00046 } else {
00047 db_append_string (&stmt, buf);
00048 }
00049 }
00050
00051
00052 sqpFreeStmt(st);
00053
00054 exit(0);
00055 }
00056