NatanZB

Untitled

May 23rd, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.41 KB | None | 0 0
  1. bool Execute(char * command, ExecStatusType type) {
  2. res = PQexec(conn, command);
  3. if (!res || PQresultStatus(res) != type) {
  4. fprintf(stderr, "Error executing query: %s\n", PQresultErrorMessage(res));
  5. PQclear(res);
  6. exit(1);
  7. }
  8. return true;
  9. }
  10.  
  11. void InitSystem() {
  12. /* DROPPING */
  13. Execute("DROP TABLE customer", PGRES_COMMAND_OK);
  14. PQclear(res);
  15. Execute("DROP TABLE account", PGRES_COMMAND_OK);
  16. PQclear(res);
  17. Execute("DROP TABLE ownsacc", PGRES_COMMAND_OK);
  18. PQclear(res);
  19. Execute("DROP TABLE branch", PGRES_COMMAND_OK);
  20. PQclear(res);
  21. Execute("DROP TABLE managesacc", PGRES_COMMAND_OK);
  22. PQclear(res);
  23. Execute("DROP TABLE withdrawal", PGRES_COMMAND_OK);
  24. PQclear(res);
  25. Execute("DROP TABLE transfer", PGRES_COMMAND_OK);
  26. PQclear(res);
  27. /* INITING */
  28. Execute("CREATE TABLE customer (LIKE course_customer INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  29. PQclear(res);
  30. Execute("INSERT INTO customer SELECT * FROM course_customer", PGRES_COMMAND_OK);
  31. PQclear(res);
  32. Execute("CREATE TABLE account (LIKE course_account INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  33. PQclear(res);
  34. Execute("INSERT INTO account SELECT * FROM course_account", PGRES_COMMAND_OK);
  35. PQclear(res);
  36. Execute("CREATE TABLE ownsacc (LIKE course_ownsacc INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  37. PQclear(res);
  38. Execute("INSERT INTO ownsacc SELECT * FROM course_ownsacc", PGRES_COMMAND_OK);
  39. PQclear(res);
  40. Execute("CREATE TABLE branch (LIKE course_branch INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  41. PQclear(res);
  42. Execute("INSERT INTO branch SELECT * FROM course_branch", PGRES_COMMAND_OK);
  43. PQclear(res);
  44. Execute("CREATE TABLE managesacc (LIKE course_managesacc INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  45. PQclear(res);
  46. Execute("INSERT INTO managesacc SELECT * FROM course_managesacc", PGRES_COMMAND_OK);
  47. PQclear(res);
  48. Execute("CREATE TABLE withdrawal (LIKE course_withdrawal INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  49. PQclear(res);
  50. Execute("INSERT INTO withdrawal SELECT * FROM course_withdrawal", PGRES_COMMAND_OK);
  51. PQclear(res);
  52. Execute("CREATE TABLE transfer (LIKE course_transfer INCLUDING DEFAULTS INCLUDING CONSTRAINTS INCLUDING INDEXES)", PGRES_COMMAND_OK);
  53. PQclear(res);
  54. Execute("INSERT INTO transfer SELECT * FROM course_transfer", PGRES_COMMAND_OK);
  55. PQclear(res);
  56. }
  57.  
  58. void Prepare_Aux(int x, char * name, char * address) {
  59. char cmd[512];
  60. sprintf(cmd, "INSERT INTO customer VALUES (%d, '%s', '%s')",x,name,address);
  61. Execute(cmd, PGRES_COMMAND_OK);
  62. PQclear(res);
  63. addAccount(x + 100, x, (x % 5) + 10);
  64. }
  65.  
  66. void PrepareForTest1() {
  67. InitSystem();
  68. char cmd[512];
  69. Prepare_Aux(1, "Jon Snow", "Castle Black");
  70. Prepare_Aux(2, "Ned Stark", "Winterfell");
  71. Prepare_Aux(3, "Tyrion Lannister", "Kings Landing");
  72. Prepare_Aux(4, "Sansa Stark", "Winterfell");
  73. Prepare_Aux(5, "Arya Stark", "Winterfell");
  74. Prepare_Aux(6, "Theon Greyjoy", "Pike");
  75. Prepare_Aux(7, "Jaime Lannister", "Kings Landing");
  76. Prepare_Aux(8, "Cersei Lannister", "Kings Landing");
  77. Prepare_Aux(9, "Daenerys Targaryen_The_Unburnt_Queen_of_the_Andals_the_Rhoynar_and_of_the_First_Men_Queen_of_Meereen_Khaleesi_of_the_Great_Grass_Sea_Breaker_of_Chains_Mother_of_Dragons", "Meereen");
  78. Prepare_Aux(10, "Viserys Targaryen", "Heaven or Hell");
  79. Prepare_Aux(11, "Joffrey Baratheon", "Hell for sure");
  80. Prepare_Aux(12, "Robert Baratheon", "Heaven probably");
  81. Prepare_Aux(13, "Robb Stark", "Winterfell");
  82. Prepare_Aux(14, "Ramsay Bolton", "We dont know");
  83. Prepare_Aux(15, "Jorah Mormont", "Meereen");
  84. sprintf(cmd, "UPDATE account SET Balance = 100, Overdraft = -1000 WHERE anumber = 100");
  85. Execute(cmd, PGRES_COMMAND_OK);
  86. PQclear(res);
  87. sprintf(cmd, "UPDATE account SET Balance = 10000,Overdraft = -100000 WHERE ANumber = 102");
  88. Execute(cmd, PGRES_COMMAND_OK);
  89. PQclear(res);
  90. sprintf(cmd, "UPDATE account SET Balance = 21000,Overdraft = -123456 WHERE ANumber = 103");
  91. Execute(cmd, PGRES_COMMAND_OK);
  92. PQclear(res);
  93. sprintf(cmd, "UPDATE account SET Balance = 31000,Overdraft = -22356 WHERE ANumber = 107");
  94. Execute(cmd, PGRES_COMMAND_OK);
  95. PQclear(res);
  96. sprintf(cmd, "UPDATE account SET Balance = 39900,Overdraft = -22456 WHERE ANumber = 108");
  97. Execute(cmd, PGRES_COMMAND_OK);
  98. PQclear(res);
  99. printf("INIT DONE!\n");
  100. }
Advertisement
Add Comment
Please, Sign In to add comment