Develop and Download Open Source Software

Browse CVS Repository

Diff of /xoonips/AL/commonal.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.50 by youi, Mon Jan 24 01:54:38 2005 UTC revision 1.51 by youi, Mon Jan 24 10:50:29 2005 UTC
# Line 2  Line 2 
2   *   *
3   * $Revision$   * $Revision$
4   * $Log$   * $Log$
5     * Revision 1.51  2005/01/24 10:50:29  youi
6     * freeItemType,getItemTypes関数を追加した.
7     *
8   * Revision 1.50  2005/01/24 01:54:38  youi   * Revision 1.50  2005/01/24 01:54:38  youi
9   * 引数の型修飾を変更.   * 引数の型修飾を変更.
10   *  dumpItemID, getItemIDByBinderID, getItemIDByIndexID   *  dumpItemID, getItemIDByBinderID, getItemIDByIndexID
# Line 2752  bool isModerator( sessionid_t sid, useri Line 2755  bool isModerator( sessionid_t sid, useri
2755                      }                      }
2756                  }                  }
2757              }else{              }else{
2758                  setLastErrorString( "SQLFetch in isModerator " );  /*
2759                    string s( "SQLFetch in isModerator " );
2760                    s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );
2761                    s += ", sql=";
2762                    s += string( sql );
2763                    setLastErrorString( s.c_str( ) );
2764    */
2765              }              }
2766          }else{          }else{
2767              string s( "SQLExecDirect in isModerator " );              string s( "SQLExecDirect in isModerator " );
# Line 3744  result_t getPrivateItemID( sessionid_t s Line 3753  result_t getPrivateItemID( sessionid_t s
3753                      }                      }
3754                      ret = RES_OK;                      ret = RES_OK;
3755                  }else{                  }else{
3756                      string s( "SQLExecDirect in getUncertifiedItemID " );                      string s( "SQLExecDirect in getPrivateItemID " );
3757                      s += odbcDiagString( SQL_HANDLE_STMT, hstmt2, sqlcode );                      s += odbcDiagString( SQL_HANDLE_STMT, hstmt2, sqlcode );
3758                      s += "sql=";                      s += "sql=";
3759                      s += string( sql );                      s += string( sql );
# Line 3753  result_t getPrivateItemID( sessionid_t s Line 3762  result_t getPrivateItemID( sessionid_t s
3762                  }                  }
3763                  SQLFreeHandle( SQL_HANDLE_STMT, hstmt2 );                  SQLFreeHandle( SQL_HANDLE_STMT, hstmt2 );
3764              }else{              }else{
3765                  string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getUncertifiedItemID" );                  string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getPrivateItemID" );
3766                  s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );                  s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );
3767                  setLastErrorString( s.c_str( ) );                  setLastErrorString( s.c_str( ) );
3768                  ret = RES_ERROR;                  ret = RES_ERROR;
3769              }              }
3770          }else {          }else {
3771              string s( "SQLExecDirect in getUncertifiedItemID " );              string s( "SQLExecDirect in getPrivateItemID " );
3772              s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );              s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );
3773              s += ", sql=";              s += ", sql=";
3774              s += string( sql );              s += string( sql );
# Line 3767  result_t getPrivateItemID( sessionid_t s Line 3776  result_t getPrivateItemID( sessionid_t s
3776              ret = RES_DB_QUERY_ERROR;              ret = RES_DB_QUERY_ERROR;
3777          }          }
3778      }else{      }else{
3779          string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getUncertifiedItemID" );          string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getPrivateItemID" );
3780          s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );          s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );
3781          setLastErrorString( s.c_str( ) );          setLastErrorString( s.c_str( ) );
3782          ret = RES_ERROR;          ret = RES_ERROR;
# Line 5861  void freeSession( const session_t* ptr ) Line 5870  void freeSession( const session_t* ptr )
5870  void freeUID( const userid_t* ptr ){ delete[] ( userid_t* )ptr; }  void freeUID( const userid_t* ptr ){ delete[] ( userid_t* )ptr; }
5871  void freeGID( const groupid_t* ptr ){ delete[] ( groupid_t* )ptr; }  void freeGID( const groupid_t* ptr ){ delete[] ( groupid_t* )ptr; }
5872  void freeItem( const item_t* ptr ){ delete[] ( item_t* )ptr; }  void freeItem( const item_t* ptr ){ delete[] ( item_t* )ptr; }
5873    void freeItemType( const itemtype_t* ptr ){ delete[] ( itemtype_t* )ptr; }
5874  void freeItemID( const itemid_t* ptr ){ delete[] ( itemid_t* )ptr; }  void freeItemID( const itemid_t* ptr ){ delete[] ( itemid_t* )ptr; }
5875  void freeString( char* str ){ delete[] str; }  void freeString( char* str ){ delete[] str; }
5876  void freeChangeLog( const changelog_t* ptr ){ delete[] ( changelog_t* )ptr; }  void freeChangeLog( const changelog_t* ptr ){ delete[] ( changelog_t* )ptr; }
# Line 6203  result_t getUncertifiedLink( sessionid_t Line 6213  result_t getUncertifiedLink( sessionid_t
6213              }              }
6214              ret = RES_OK;              ret = RES_OK;
6215          }else {          }else {
6216              string s( "SQLExecDirect in getUncertifiedItemID " );              string s( "SQLExecDirect in getUncertifiedLink " );
6217              s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );              s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );
6218              s += ", sql=";              s += ", sql=";
6219              s += string( sql );              s += string( sql );
# Line 6211  result_t getUncertifiedLink( sessionid_t Line 6221  result_t getUncertifiedLink( sessionid_t
6221              ret = RES_DB_QUERY_ERROR;              ret = RES_DB_QUERY_ERROR;
6222          }          }
6223      }else{      }else{
6224          string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getUncertifiedItemID" );          string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getUncertifiedLink" );
6225          s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );          s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );
6226          setLastErrorString( s.c_str( ) );          setLastErrorString( s.c_str( ) );
6227          ret = RES_ERROR;          ret = RES_ERROR;
# Line 6219  result_t getUncertifiedLink( sessionid_t Line 6229  result_t getUncertifiedLink( sessionid_t
6229      return ret;      return ret;
6230  }  }
6231    
6232    result_t getItemTypes( const itemtype_t** types, int* len )
6233    {
6234        if( hdbc == NULL ) return RES_DB_NOT_INITIALIZED;
6235        
6236        int i = 0;
6237        SQLHANDLE hstmt = NULL;
6238        result_t ret = RES_ERROR;
6239        itemtype_t* dst= 0;
6240        string sql;
6241        SQLRETURN sqlcode;
6242        SQLINTEGER count = 0;
6243        
6244            sql = "SELECT item_type_id, name, mid, display_name ";
6245            sql += " FROM " + dbprefix + "_xnpaccount_item_type order by item_type_id";
6246        //fprintf( stderr, "\nsql at %d=%s", __LINE__, sql.c_str() );
6247        if( countResultRows( sql.c_str(), &count ) == RES_OK ){
6248            dst = new itemtype_t[ count ];
6249            *types = dst;
6250        }else{
6251            return RES_ERROR;
6252        }
6253        
6254        *len = 0;
6255        if( ( sqlcode = SQLAllocHandle( SQL_HANDLE_STMT, hdbc, &hstmt ) ) == SQL_SUCCESS ) {
6256            if( ( sqlcode = SQLExecDirect( hstmt, (SQLCHAR*)sql.c_str(), sql.length() ) ) == SQL_SUCCESS ){
6257                itemtypeid_t itid = 0;
6258                SQLINTEGER mid = 0;
6259                SQLCHAR name[XNP_ITEMTYPE_NAME_LEN+1];
6260                SQLCHAR display_name[XNP_ITEMTYPE_DISPLAY_NAME_LEN+1];
6261                SQLINTEGER cbItid = 0, cbMid = 0, cbName=SQL_NTS, cbDisplayName=SQL_NTS;
6262                SQLBindCol( hstmt, 1, SQL_C_ULONG, &itid, 0, &cbItid );
6263                SQLBindCol( hstmt, 2, SQL_C_CHAR , &name, XNP_ITEMTYPE_NAME_LEN+1, &cbName );
6264                SQLBindCol( hstmt, 3, SQL_C_ULONG, &mid, 0, &cbMid );
6265                SQLBindCol( hstmt, 4, SQL_C_CHAR , &display_name, XNP_ITEMTYPE_DISPLAY_NAME_LEN+1, &cbDisplayName );
6266                for( i = 0 ; ( sqlcode = SQLFetch( hstmt ) ) == SQL_SUCCESS ; i++ ){
6267                    //fprintf( stderr, "\nitid=%d, mid=%d, name='%s', display_name='%s'", itid, mid, name, display_name );
6268                    dst[ i ].setItemTypeID( itid );
6269                    dst[ i ].setModuleID( itid );
6270                    dst[ i ].setName( ( char* )name );
6271                    dst[ i ].setDisplayName( ( char* )display_name );
6272                    ( *len )++;
6273                }
6274                ret = RES_OK;
6275            }else {
6276                string s( "SQLExecDirect in getItemType " );
6277                s += odbcDiagString( SQL_HANDLE_STMT, hstmt, sqlcode );
6278                s += ", sql=";
6279                s += string( sql );
6280                setLastErrorString( s.c_str( ) );
6281                ret = RES_DB_QUERY_ERROR;
6282            }
6283        }else{
6284            string s( "SQLAllocHandle(SQL_HANDLE_STMT,...) in getItemType" );
6285            s += odbcDiagString( SQL_HANDLE_DBC, hdbc, sqlcode );
6286            setLastErrorString( s.c_str( ) );
6287            ret = RES_ERROR;
6288        }
6289        return ret;
6290    }

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26