Esempio n. 1
0
PyObject *CharacterDB::GetCharPublicInfo(uint32 characterID) {
	DBQueryResult res;

	if(!sDatabase.RunQuery(res,
		"SELECT "
		" entity.typeID,"
		" character_.corporationID,"
        " chrBloodlines.raceID,"
		" bloodlineTypes.bloodlineID,"
		" character_.ancestryID,"
		" character_.careerID,"
		" character_.schoolID,"
		" character_.careerSpecialityID,"
		" entity.itemName AS characterName,"
		" 0 as age,"	//hack
		" character_.createDateTime,"
		" character_.gender,"
		" character_.characterID,"
		" character_.description,"
		" character_.corporationDateTime"
        " FROM character_ "
		"	LEFT JOIN entity ON characterID = itemID"
		"	LEFT JOIN bloodlineTypes USING (typeID)"
		"	LEFT JOIN chrBloodlines USING (bloodlineID)"
		" WHERE characterID=%u", characterID))
	{
		codelog(SERVICE__ERROR, "Error in query: %s", res.error.c_str());
		return NULL;
	}
	
	DBResultRow row;
	if(!res.GetRow(row)) {
		_log(SERVICE__ERROR, "Error in GetCharPublicInfo query: no data for char %d", characterID);
		return NULL;
	}
	return(DBRowToKeyVal(row));
	
}
Esempio n. 2
0
// this one needs some love
//int henk = "bla";
PyRep *StationDB::DoGetStation(uint32 sid)
{
	DBQueryResult res;

//" SELECT staStations.stationID, staStations.security, staStations.dockingCostPerVolume, staStations.maxShipVolumeDockable, staStations.officeRentalCost, staStations.operationID, staStations.stationTypeID, staStations.corporationID AS ownerID, staStations.solarSystemID, staStations.constellationID, staStations.regionID, staStations.stationName, staStations.x, staStations.y, staStations.z, staStations.reprocessingEfficiency, staStations.reprocessingStationsTake, staStations.reprocessingHangarFlag, staOperations.description, CAST(SUM(staOperationServices.serviceID) as UNSIGNED INTEGER) AS serviceMask FROM staStations LEFT JOIN staOperations ON staStations.operationID = staOperations.operationID LEFT JOIN staOperationServices ON staStations.operationID = staOperationServices.operationID WHERE staStations.stationID = %u GROUP BY staStations.stationID 

    if(!sDatabase.RunQuery(res, "SELECT"
    "staStations.x,"
    "staStations.y,"
    "staStations.z,"
    "mapDenormalize.orbitID,"
    "staStationTypes.hangarGraphicID,"
    "staStations.stationID,"
    "0 AS upgradelevel,"
    "invtypes.graphicID,"
    "staStations.regionID,"
    "staStations.security,"
    "staStations.stationTypeID,"
    "staStationTypes.dockingBayGraphicID,"
    "staStations.officeRentalCost,"
    "staStations.stationName,"
    "staOperations.description,"
    "staStations.constellationID,"
    "staStations.operationID,"
    "staStations.solarSystemID,"
    "staStationTypes.dockOrientationX,"
    "staStationTypes.dockOrientationY,"
    "staStationTypes.dockOrientationZ,"
    "staStations.corporationID AS standingOwnerID,"
    //"58012245 AS serviceMask,"
    "CAST(SUM(staOperationServices.serviceID) as UNSIGNED INTEGER) AS serviceMask "
    "staStations.dockingCostPerVolume,"
    "staStations.reprocessingHangarFlag,"
    "staStations.reprocessingEfficiency,"
    "staStationTypes.dockEntryX,"
    "staStationTypes.dockEntryY,"
    "staStationTypes.dockEntryZ,"
    "staStations.maxShipVolumeDockable,"
    "staStations.corporationID AS ownerID,"
    "staStationTypes.conquerable,"
    "mapDenormalize.radius"
    "from staStations "
    "LEFT JOIN staStationTypes ON "
    "staStations.stationTypeID=staStationTypes.stationTypeID "
    "LEFT JOIN mapDenormalize ON "
    "staStations.stationID=mapDenormalize.itemID "
    "LEFT JOIN invtypes ON "
    "staStations.stationTypeID=invtypes.typeID "
    "LEFT JOIN staOperations ON "
    "staStations.operationID=staOperations.operationID "
    "LEFT JOIN staOperationServices ON "
    "staStations.operationID=staOperationServices.operationID "
    "WHERE staStations.stationID = %u GROUP BY staStations.stationID", sid ))
    {
        //_log(SERVICE__ERROR, "Error in DoGetStation query: %s", res.error.c_str());
        sLog.Error("StationDB", "Error in DoGetStation query: %s", res.error.c_str());
        return NULL;
    }

	/*if(!sDatabase.RunQuery(res,
		" SELECT "
		" staStations.stationID, staStations.security, staStations.dockingCostPerVolume, staStations.maxShipVolumeDockable, "
		" staStations.officeRentalCost, staStations.operationID, staStations.stationTypeID, staStations.corporationID AS ownerID, staStations.solarSystemID, staStations.constellationID, "
		" staStations.regionID, staStations.stationName, staStations.x, staStations.y, staStations.z, staStations.reprocessingEfficiency, staStations.reprocessingStationsTake, staStations.reprocessingHangarFlag, "
		" staOperations.description, "
		// damn mysql returns the result of the sum as string and so it is sent to the client as string and so it freaks out...
		" CAST(SUM(staOperationServices.serviceID) as UNSIGNED INTEGER) AS serviceMask "
		" FROM staStations "
		" LEFT JOIN staOperations ON staStations.operationID = staOperations.operationID "
		" LEFT JOIN staOperationServices ON staStations.operationID = staOperationServices.operationID "
		" WHERE staStations.stationID = %u "
		" GROUP BY staStations.stationID ", sid
	))
    
	{
		_log(SERVICE__ERROR, "Error in DoGetStation query: %s", res.error.c_str());
		return NULL;
	}*/

	DBResultRow row;
	if(!res.GetRow(row)) {
		_log(SERVICE__ERROR, "Error in DoGetStation query: no station for id %d", sid);
		return NULL;
	}

	//only a guess that this is row
	return DBRowToKeyVal(row);
}