Show
Ignore:
Timestamp:
04/02/09 17:35:03 (15 years ago)
Author:
trnewman
Message:

Added sending current parameters in the libvt request optimization function.

Added guts to the CBR so it actually creates an sql db and searches it.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vtcross/trunk/src/cognitive_engines/cbr.c

    r161 r228  
    6060    rc = sqlite3_exec(_cbr->db, _cbr->command, callback, 0, &zErrMsg); 
    6161    if( rc!=SQLITE_OK){ 
    62         fprintf(stderr, "SQL error: %s\n", zErrMsg); 
     62        fprintf(stderr, "SQL error: %s: %s\n", zErrMsg,_cbr->command); 
    6363        sqlite3_free(zErrMsg); 
    6464    } else{ 
     
    7272int ExecuteSearchCommand(cbr _cbr, float *_retvals){ 
    7373    int rc; 
    74     //char *zErrMsg = 0; 
    7574    unsigned int i; 
    7675 
    77     //printf("command: %s\n", _cbr->command); 
    7876    sqlite3_stmt * pStatement; 
    7977    rc = sqlite3_prepare_v2(_cbr->db, _cbr->command, -1, &pStatement, NULL); 
    80     //if (rc == SQLITE_OK && sqlite3_step(pStatement) == SQLITE_ROW){ 
    8178    if (rc == SQLITE_OK){  
    8279        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); 
    8682        } 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); 
    9788    } 
    9889 
    9990    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    
    10992    return rc; 
    11093} 
     
    185168    // execute print (select all)  command 
    186169    ExecuteCommand(_cbr); 
    187     //printf("database %s, table %s:\n", _cbr->filename, _cbr->tablename); 
     170    printf("database %s, table %s:\n", _cbr->filename, _cbr->tablename); 
    188171} 
    189172 
     
    209192    float *_retvals) 
    210193{    
     194    int rc; 
    211195    // generate command 
    212196    strcpy(_cbr->command, "select "); 
     
    231215        strcat(_cbr->command, str_buffer); 
    232216 
     217 
    233218        if (i<_n-1) 
    234219            strcat(_cbr->command, " AND "); 
     
    237222    } 
    238223 
    239     //printf("search command: %s\n", _cbr->command); 
     224    printf("search command: %s\n", _cbr->command); 
    240225 
    241226    //ExecuteCommand(_cbr); 
    242     ExecuteSearchCommand(_cbr, _retvals); 
     227    rc = ExecuteSearchCommand(_cbr, _retvals); 
    243228     
    244229    /*printf("search result: "); 
     
    247232    printf("\n");*/ 
    248233 
    249     return 0; 
     234    return rc; 
    250235} 
    251236