00001
00002
00003
00004
00005
00006
00007 #include "rodsClient.h"
00008 #include "readServerConfig.h"
00009
00010 #include "icatHighLevelRoutines.h"
00011 #include "rodsGeneralUpdate.h"
00012
00013 int sTest(int i1, int i2);
00014 int sTest2(int i1, int i2, int i3);
00015 int findCycles(int startTable);
00016
00017 int
00018 doTest1(char *arg1, char *arg2, char *arg3, char *arg4) {
00019 generalUpdateInp_t generalUpdateInp;
00020 int status;
00021
00022 printf("dotest1\n");
00023 rodsLogSqlReq(1);
00024
00025 memset (&generalUpdateInp, 0, sizeof (generalUpdateInp));
00026
00027 addInxVal (&generalUpdateInp.values, COL_TOKEN_NAMESPACE, arg1);
00028 addInxVal (&generalUpdateInp.values, COL_TOKEN_ID, arg2);
00029 addInxVal (&generalUpdateInp.values, COL_TOKEN_NAME, arg3);
00030
00031 generalUpdateInp.type = GENERAL_UPDATE_INSERT;
00032
00033 status = chlGeneralUpdate(generalUpdateInp);
00034 printf("chlGenUpdate status=%d\n",status);
00035
00036 return(status);
00037 }
00038
00039 int
00040 doTest2(char *arg1, char *arg2, char *arg3, char *arg4) {
00041 generalUpdateInp_t generalUpdateInp;
00042 int status;
00043
00044 printf("dotest2\n");
00045 rodsLogSqlReq(1);
00046
00047 memset (&generalUpdateInp, 0, sizeof (generalUpdateInp));
00048
00049 addInxVal (&generalUpdateInp.values, COL_TOKEN_NAMESPACE, arg1);
00050 addInxVal (&generalUpdateInp.values, COL_TOKEN_ID, arg2);
00051 addInxVal (&generalUpdateInp.values, COL_TOKEN_NAME, arg3);
00052
00053 generalUpdateInp.type = GENERAL_UPDATE_DELETE;
00054
00055 status = chlGeneralUpdate(generalUpdateInp);
00056 printf("chlGenUpdate status=%d\n",status);
00057
00058 return(status);
00059 }
00060
00061 int
00062 doTest3(char *arg1, char *arg2, char *arg3, char *arg4) {
00063 generalUpdateInp_t generalUpdateInp;
00064 int status;
00065
00066 printf("dotest3\n");
00067 rodsLogSqlReq(1);
00068
00069 memset (&generalUpdateInp, 0, sizeof (generalUpdateInp));
00070
00071 addInxVal (&generalUpdateInp.values, COL_RULE_ID, UPDATE_NEXT_SEQ_VALUE);
00072 addInxVal (&generalUpdateInp.values, COL_RULE_NAME, arg1);
00073 addInxVal (&generalUpdateInp.values, COL_RULE_BASE_NAME, arg2);
00074 addInxVal (&generalUpdateInp.values, COL_RULE_BODY, arg3);
00075
00076 addInxVal (&generalUpdateInp.values, COL_RULE_EVENT, "e");
00077 addInxVal (&generalUpdateInp.values, COL_RULE_RECOVERY, "r");
00078 addInxVal (&generalUpdateInp.values, COL_RULE_OWNER_NAME, "on");
00079 addInxVal (&generalUpdateInp.values, COL_RULE_OWNER_ZONE, "oz");
00080
00081 addInxVal (&generalUpdateInp.values, COL_RULE_CREATE_TIME,
00082 UPDATE_NOW_TIME);
00083 addInxVal (&generalUpdateInp.values, COL_RULE_MODIFY_TIME,
00084 UPDATE_NOW_TIME);
00085
00086 generalUpdateInp.type = GENERAL_UPDATE_INSERT;
00087
00088 status = chlGeneralUpdate(generalUpdateInp);
00089 printf("chlGenUpdate status=%d\n",status);
00090
00091 return(status);
00092 }
00093
00094 int
00095 doTest4(char *arg1, char *arg2, char *arg3, char *arg4) {
00096 generalUpdateInp_t generalUpdateInp;
00097 int status;
00098
00099 printf("dotest2\n");
00100 rodsLogSqlReq(1);
00101
00102 memset (&generalUpdateInp, 0, sizeof (generalUpdateInp));
00103
00104 addInxVal (&generalUpdateInp.values, COL_RULE_ID, arg1);
00105 if (arg2 !=0 && *arg2 !='\0') {
00106 addInxVal (&generalUpdateInp.values, COL_RULE_NAME, arg2);
00107 }
00108
00109 generalUpdateInp.type = GENERAL_UPDATE_DELETE;
00110
00111 status = chlGeneralUpdate(generalUpdateInp);
00112 printf("chlGenUpdate status=%d\n",status);
00113
00114 return(status);
00115 }
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130 int
00131 doTest5(char *arg1, char *arg2, char *arg3, char *arg4,
00132 char *arg5, char *arg6) {
00133 generalUpdateInp_t generalUpdateInp;
00134 int status;
00135
00136 printf("dotest2\n");
00137 rodsLogSqlReq(1);
00138
00139 memset (&generalUpdateInp, 0, sizeof (generalUpdateInp));
00140
00141 addInxVal (&generalUpdateInp.values, atoi(arg1), arg2);
00142
00143 if (arg3 !=0 && *arg3 !='\0' &&
00144 arg4 !=0 && *arg4 !='\0' ) {
00145 addInxVal (&generalUpdateInp.values, atoi(arg3), arg4);
00146 }
00147
00148 if (arg5 !=0 && *arg5 !='\0' &&
00149 arg6 !=0 && *arg6 !='\0' ) {
00150 addInxVal (&generalUpdateInp.values, atoi(arg5), arg6);
00151 }
00152
00153 generalUpdateInp.type = GENERAL_UPDATE_INSERT;
00154
00155 status = chlGeneralUpdate(generalUpdateInp);
00156 printf("chlGenUpdate status=%d\n",status);
00157
00158 return(status);
00159 }
00160
00161 int
00162 doTest6(char *arg1, char *arg2, char *arg3, char *arg4) {
00163 generalUpdateInp_t generalUpdateInp;
00164 int status;
00165
00166 printf("dotest2\n");
00167 rodsLogSqlReq(1);
00168
00169 memset (&generalUpdateInp, 0, sizeof (generalUpdateInp));
00170
00171 addInxVal (&generalUpdateInp.values, atoi(arg1), arg2);
00172
00173 if (arg3 !=0 && *arg3 !='\0' &&
00174 arg4 !=0 && *arg4 !='\0' ) {
00175 addInxVal (&generalUpdateInp.values, atoi(arg3), arg4);
00176 }
00177
00178 generalUpdateInp.type = GENERAL_UPDATE_DELETE;
00179
00180 status = chlGeneralUpdate(generalUpdateInp);
00181 printf("chlGenUpdate status=%d\n",status);
00182
00183 return(status);
00184 }
00185
00186 int
00187 main(int argc, char **argv) {
00188 int mode;
00189 rodsServerConfig_t serverConfig;
00190 int status;
00191 rodsEnv myEnv;
00192
00193
00194 rodsLogLevel(LOG_ERROR);
00195
00196
00197 rodsLogSqlReq(1);
00198
00199 mode = 0;
00200 if (strcmp(argv[1],"1")==0) mode=1;
00201 if (strcmp(argv[1],"2")==0) mode=2;
00202 if (strcmp(argv[1],"3")==0) mode=3;
00203 if (strcmp(argv[1],"4")==0) mode=4;
00204 if (strcmp(argv[1],"5")==0) mode=5;
00205 if (strcmp(argv[1],"6")==0) mode=6;
00206
00207 memset((char *)&myEnv, 0, sizeof(myEnv));
00208 status = getRodsEnv (&myEnv);
00209 if (status < 0) {
00210 rodsLog (LOG_ERROR, "main: getRodsEnv error. status = %d",
00211 status);
00212 exit (1);
00213 }
00214
00215 if (strstr(myEnv.rodsDebug, "CAT") != NULL) {
00216 chlDebug(myEnv.rodsDebug);
00217 }
00218
00219 memset(&serverConfig, 0, sizeof(serverConfig));
00220 status = readServerConfig(&serverConfig);
00221
00222 if ((status = chlOpen(serverConfig.DBUsername,
00223 serverConfig.DBPassword)) != 0) {
00224 rodsLog (LOG_SYS_FATAL,
00225 "chlopen Error. Status = %d",
00226 status);
00227 return (status);
00228 }
00229 if (mode==1) {
00230 status = doTest1(argv[2], argv[3], argv[4], argv[5]);
00231 if (status <0) exit(2);
00232 exit(0);
00233 }
00234 if (mode==2) {
00235 status = doTest2(argv[2], argv[3], argv[4], argv[5]);
00236 if (status <0) exit(2);
00237 exit(0);
00238 }
00239 if (mode==3) {
00240 status = doTest3(argv[2], argv[3], argv[4], argv[5]);
00241 if (status <0) exit(2);
00242 exit(0);
00243 }
00244 if (mode==4) {
00245 status = doTest4(argv[2], argv[3], argv[4], argv[5]);
00246 if (status <0) exit(2);
00247 exit(0);
00248 }
00249 if (mode==5) {
00250 status = doTest5(argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]);
00251 if (status <0) exit(2);
00252 exit(0);
00253 }
00254 if (mode==6) {
00255 status = doTest6(argv[2], argv[3], argv[4], argv[5]);
00256 if (status <0) exit(2);
00257 exit(0);
00258 }
00259 exit(0);
00260 }