sqlptest.c

Go to the documentation of this file.
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 ] == ';' ) {  /* end of statement */
00027             buf2 [len - 1] = 0;          /* truncate ';' */
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 

Generated on Sun Apr 6 17:31:38 2008 for GRASS by  doxygen 1.5.5