Advertisement
Guest User

Untitled

a guest
May 10th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.36 KB | None | 0 0
  1. #include "wet.h"
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <libpq-fe.h>
  5.  
  6. PGconn *conn;
  7.  
  8. void  checkCmd(PGresult* res)   {
  9.  
  10.     if(!res || PQresultStatus(res) != PGRES_COMMAND_OK) {
  11.         fprintf(stdout, "Error executing command: %s\n",
  12.             PQresultErrorMessage(res));
  13.         PQclear(res);
  14.         return;
  15.     }
  16. }
  17.  
  18. void  checkConn(PGconn* conn)   {
  19.    
  20.     if (!conn || PQstatus(conn) == CONNECTION_BAD) {
  21.         fprintf(stdout, "Connection to server failed: %s\n",
  22.             PQerrorMessage(conn));
  23.         PQfinish(conn);
  24.         exit(1);
  25.     }
  26. }
  27.  
  28. int recreate (char* tname)  {
  29.     char cmd[400];
  30.     PGresult *res;
  31.  
  32.     sprintf(cmd, "DROP TABLE %s",tname);
  33.     res = PQexec(conn, cmd);
  34.     checkCmd(res);
  35.  
  36.     sprintf(cmd, "CREATE TABLE %s AS SELECT * FROM course_%s",tname,tname);
  37.     res = PQexec(conn, cmd);
  38.     checkCmd(res);
  39. }
  40.  
  41. int main ()
  42. {
  43.     char cmd[400];
  44.     char connect_param[200];
  45.     PGresult *res;
  46.  
  47.    
  48.     sprintf(connect_param,
  49.         "host=pgsql.cs.technion.ac.il dbname=%s user=%s password=%s",
  50.         USERNAME, USERNAME, PASSWORD);
  51.     conn = PQconnectdb(connect_param);
  52.     checkConn(conn);
  53.  
  54.     recreate("accepted");
  55.     recreate("admin");
  56.     recreate("article");
  57.     recreate("books");
  58.     recreate("borrowed");
  59.     recreate("customers");
  60.     recreate("editor");
  61.     recreate("link");
  62.     recreate("ordered");
  63.     recreate("users");
  64.     recreate("version");
  65.     recreate("viewed");
  66.  
  67.     printf("Database recreated.\n");
  68.  
  69.     PQfinish(conn);
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement