(file) Return to SQLiteStore.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Repository

Diff for /pegasus/src/Pegasus/Repository/SQLiteStore.cpp between version 1.9 and 1.10

version 1.9, 2008/12/02 09:02:08 version 1.10, 2009/03/19 00:12:25
Line 695 
Line 695 
     // Note: This is a relatively inefficient way to determine the existence     // Note: This is a relatively inefficient way to determine the existence
     // of a qualifier, but setting a qualifier is expected to be an infrequent     // of a qualifier, but setting a qualifier is expected to be an infrequent
     // operation.     // operation.
     Boolean qualifierExists =      if (!getQualifier(nameSpace, qualifierDecl.getName()).isUninitialized())
         getQualifier(nameSpace, qualifierDecl.getName()).isUninitialized();      {
           PEG_METHOD_EXIT();
           throw PEGASUS_CIM_EXCEPTION(
               CIM_ERR_NOT_SUPPORTED, qualifierDecl.getName().getString());
       }
  
     DbConnection db(_dbcm, nameSpace);     DbConnection db(_dbcm, nameSpace);
  
     if (qualifierExists)  
     {  
         // Qualifier does not exist yet; create it         // Qualifier does not exist yet; create it
         const char* sqlStatement =         const char* sqlStatement =
             "INSERT INTO QualifierTable VALUES(?,?,?);";             "INSERT INTO QualifierTable VALUES(?,?,?);";
Line 739 
Line 741 
             db.get());             db.get());
  
         CHECK_RC_DONE(sqlite3_step(stmt), db.get());         CHECK_RC_DONE(sqlite3_step(stmt), db.get());
     }  
     else  
     {  
         // Qualifier already exists; replace it  
         const char* sqlStatement = "UPDATE QualifierTable "  
             "SET rep=?, qualname=? WHERE normqualname=?;";  
   
         sqlite3_stmt* stmt = 0;  
         CHECK_RC_OK(  
             sqlite3_prepare_v2(db.get(), sqlStatement, -1, &stmt, 0),  
             db.get());  
         AutoPtr<sqlite3_stmt, FinalizeSQLiteStatement> stmtDestroyer(stmt);  
   
         String qualname = qualifierDecl.getName().getString();  
         String normqualname = _getNormalizedName(qualifierDecl.getName());  
         Buffer data;  
         _streamer->encode(data, qualifierDecl);  
   
         CHECK_RC_OK(  
             sqlite3_bind_blob(  
                 stmt, 1, data.getData(), data.size(), SQLITE_STATIC),  
             db.get());  
         CHECK_RC_OK(  
             sqlite3_bind_text16(  
                 stmt,  
                 2,  
                 qualname.getChar16Data(),  
                 qualname.size() * 2,  
                 SQLITE_STATIC),  
             db.get());  
         CHECK_RC_OK(  
             sqlite3_bind_text16(  
                 stmt,  
                 3,  
                 normqualname.getChar16Data(),  
                 normqualname.size() * 2,  
                 SQLITE_STATIC),  
             db.get());  
   
         CHECK_RC_DONE(sqlite3_step(stmt), db.get());  
     }  
  
     db.release();     db.release();
  


Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2