int main() { FILE *fp; char dict[][50] = {"ChineseFamilyNames","CountryNames","FemaleFirstNames", "FuncWord","MaleFirstNames","Months","PlaceNames","PublisherNames","CityNames"}; char valdict[50] = "LastNames"; char fileName[1024]; char data[1024]; char name[1024]; double val; dbConnect(); dbLock(); dbCreateTable(); int i; for(i=0;i<9;i++) { sprintf(fileName,"res/%s",dict[i]); fp = fopen(fileName,"r"); while(fgets(data,1024,fp)) { dbAddNameDict(dict[i],removeCR(data)); //printf("[%s]\n",removeCR(data)); } fclose(fp); } sprintf(fileName,"res/%s",valdict); fp = fopen(fileName,"r"); while(fgets(data,1024,fp)) { spilitVal(name,&val,data); dbAddValDict(valdict,name,val); //printf("[%s]|[%f]\n",name,val); } dbUnlock(); fclose(fp); ////////////////////////////////////////////////////////////// // boolean printf("CityNames,abidjan:%d\n",dbGetNameLikeDict("CityNames","abigail")); printf("FemaleFirstNames,abigail:%d\n",dbGetNameDict("FemaleFirstNames","abigail")); printf("FemaleFirstNames,Abigail:%d\n",dbGetNameLikeDict("FemaleFirstNames","Abigail")); // double printf("LastNames,wilson:%f\n",dbGetValDict("LastNames","wilson")); printf("LastNames,Wilson:%f\n",dbGetValLikeDict("LastNames","Wilson")); ////////////////////////////////////////////////////////////// dbFree(); return 0; }
int executeCommand(connection *con) { tableInfo *tbl = con->tbl; command *cmd = con->cmd; response *res = con->res; error *err = con->err; int dataBytes = con->dataBytes; void *data = con->data; printf("Received command: '%s'\n", CMD_NAMES[cmd->cmd]); int result = 0; // Check that table is in use if needed if (!tbl->isValid && cmdNeedsTable(cmd)) { ERROR(err, E_USETBL); return 1; } switch (cmd->cmd) { case CMD_USE: result = dbUseTable(tbl, (char *) cmd->args, res, err); break; case CMD_CREATE_TABLE: result = dbCreateTable((char *) cmd->args, res, err); break; case CMD_REMOVE_TABLE: result = dbRemoveTable((char *) cmd->args, res, err); break; case CMD_PRINT_VAR: result = dbPrintVar((char *) cmd->args, res, err); break; case CMD_CREATE: result = dbCreateColumn(tbl, (createColArgs *) cmd->args, res, err); break; case CMD_REMOVE: result = dbRemoveColumn(tbl, (char *) cmd->args, res, err); break; case CMD_INSERT: result = dbInsert(tbl, (insertArgs *) cmd->args, res, err); break; case CMD_SELECT: result = dbSelect(tbl, (selectArgs *) cmd->args, res, err); break; case CMD_FETCH: result = dbFetch(tbl, (fetchArgs *) cmd->args, res, err); break; case CMD_LOAD: result = dbLoad(tbl, (loadArgs *) cmd->args, dataBytes, data, res, err); break; case CMD_PRINT: result = dbPrint(tbl, (char *) cmd->args, res, err); break; case CMD_MIN: result = dbMinimum((char *) cmd->args, res, err); break; case CMD_MAX: result = dbMaximum((char *) cmd->args, res, err); break; case CMD_SUM: result = dbSum((char *) cmd->args, res, err); break; case CMD_AVG: result = dbAverage((char *) cmd->args, res, err); break; case CMD_CNT: result = dbCount((char *) cmd->args, res, err); break; case CMD_ADD: result = dbAdd((mathArgs *) cmd->args, res, err); break; case CMD_SUB: result = dbSubtract((mathArgs *) cmd->args, res, err); break; case CMD_MUL: result = dbMultiply((mathArgs *) cmd->args, res, err); break; case CMD_DIV: result = dbDivide((mathArgs *) cmd->args, res, err); break; case CMD_LOOPJOIN: result = dbLoopJoin((joinArgs *) cmd->args, res, err); break; case CMD_EXIT: ERROR(err, E_EXIT); result = 1; break; default: ERROR(err, E_INTERN); result = 1; break; } return result; }