Changeset 228 for vtcross/trunk/src/cognitive_engines/cbr.c
- Timestamp:
- 04/02/09 17:35:03 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
vtcross/trunk/src/cognitive_engines/cbr.c
r161 r228 60 60 rc = sqlite3_exec(_cbr->db, _cbr->command, callback, 0, &zErrMsg); 61 61 if( rc!=SQLITE_OK){ 62 fprintf(stderr, "SQL error: %s \n", zErrMsg);62 fprintf(stderr, "SQL error: %s: %s\n", zErrMsg,_cbr->command); 63 63 sqlite3_free(zErrMsg); 64 64 } else{ … … 72 72 int ExecuteSearchCommand(cbr _cbr, float *_retvals){ 73 73 int rc; 74 //char *zErrMsg = 0;75 74 unsigned int i; 76 75 77 //printf("command: %s\n", _cbr->command);78 76 sqlite3_stmt * pStatement; 79 77 rc = sqlite3_prepare_v2(_cbr->db, _cbr->command, -1, &pStatement, NULL); 80 //if (rc == SQLITE_OK && sqlite3_step(pStatement) == SQLITE_ROW){81 78 if (rc == SQLITE_OK){ 82 79 if (sqlite3_step(pStatement) == SQLITE_ROW){ 83 printf("there is search return data\n"); 84 for (i=0; i<_cbr->num_columns; ++i) 85 _retvals[i] = sqlite3_column_double(pStatement, i); 80 for (i=0; i<_cbr->num_columns; ++i) 81 _retvals[i] = sqlite3_column_double(pStatement, i); 86 82 } else { 87 printf("no matched rearch results. use default values\n"); 88 89 _retvals[0] = 100; // throughput 90 _retvals[1] = 1; // spectral_efficiency 91 _retvals[2] = -2; // log10_ber 92 _retvals[3] = 1; // mod_scheme 93 _retvals[4] = -10; // tx_power 94 _retvals[5] = 10; // snr 95 _retvals[6] = 0.5; // utility 96 } 83 printf("CBR:: No matched results returning default.\n"); 84 rc=31337; 85 } 86 } else { 87 printf("CBR:: Error executing SQL statement. rc = %i\n%s\n",rc,_cbr->command); 97 88 } 98 89 99 90 sqlite3_finalize(pStatement); 100 101 /*rc = sqlite3_exec(_cbr->db, _cbr->command, SearchCallback, 0, &zErrMsg); 102 if( rc!=SQLITE_OK){ 103 fprintf(stderr, "SQL error: %s\n", zErrMsg); 104 sqlite3_free(zErrMsg); 105 } else{ 106 printf("command executed.\n"); 107 }*/ 108 91 109 92 return rc; 110 93 } … … 185 168 // execute print (select all) command 186 169 ExecuteCommand(_cbr); 187 //printf("database %s, table %s:\n", _cbr->filename, _cbr->tablename);170 printf("database %s, table %s:\n", _cbr->filename, _cbr->tablename); 188 171 } 189 172 … … 209 192 float *_retvals) 210 193 { 194 int rc; 211 195 // generate command 212 196 strcpy(_cbr->command, "select "); … … 231 215 strcat(_cbr->command, str_buffer); 232 216 217 233 218 if (i<_n-1) 234 219 strcat(_cbr->command, " AND "); … … 237 222 } 238 223 239 //printf("search command: %s\n", _cbr->command);224 printf("search command: %s\n", _cbr->command); 240 225 241 226 //ExecuteCommand(_cbr); 242 ExecuteSearchCommand(_cbr, _retvals);227 rc = ExecuteSearchCommand(_cbr, _retvals); 243 228 244 229 /*printf("search result: "); … … 247 232 printf("\n");*/ 248 233 249 return 0;234 return rc; 250 235 } 251 236