Changeset - 017935ae158d
[Not reviewed]
0 1 0
Daniel Henninger - 13 years ago 2012-02-19 09:10:36
daniel@vorpalcloud.org
Casted TYPE_STRING properly.
1 file changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/pqxxbackend.cpp
Show inline comments
 
@@ -220,31 +220,31 @@ bool PQXXBackend::getOnlineUsers(std::vector<std::string> &users) {
 
long PQXXBackend::addBuddy(long userId, const BuddyInfo &buddyInfo) {
 
	pqxx::work txn(*m_conn);
 
	pqxx::result r = txn.exec("INSERT INTO " + m_prefix + "buddies (user_id, uin, subscription, groups, nickname, flags) VALUES "
 
		+ "(" + pqxx::to_string(userId) + ","
 
		+ quote(txn, buddyInfo.legacyName) + ","
 
		+ quote(txn, buddyInfo.subscription) + ","
 
		+ quote(txn, Util::serializeGroups(buddyInfo.groups)) + ","
 
		+ quote(txn, buddyInfo.alias) + ","
 
		+ pqxx::to_string(buddyInfo.flags) + ") RETURNING id");
 

	
 
	long id = r[0][0].as<long>();
 

	
 
	r = txn.exec("UPDATE " + m_prefix + "buddies_settings SET var = " + quote(txn, buddyInfo.settings.find("icon_hash")->first) + ", type = " + pqxx::to_string(TYPE_STRING) + ", value = " + quote(txn, buddyInfo.settings.find("icon_hash")->second.s) + " WHERE user_id = " + pqxx::to_string(userId) + " AND buddy_id = " + pqxx::to_string(id));
 
	r = txn.exec("UPDATE " + m_prefix + "buddies_settings SET var = " + quote(txn, buddyInfo.settings.find("icon_hash")->first) + ", type = " + pqxx::to_string((int)TYPE_STRING) + ", value = " + quote(txn, buddyInfo.settings.find("icon_hash")->second.s) + " WHERE user_id = " + pqxx::to_string(userId) + " AND buddy_id = " + pqxx::to_string(id));
 
	if (r.affected_rows() == 0) {
 
		exec("INSERT INTO " + m_prefix + "buddies_settings (user_id, buddy_id, var, type, value) VALUES "
 
			+ "(" + pqxx::to_string(userId) + ","
 
			+ pqxx::to_string(id) + ","
 
			+ quote(txn, buddyInfo.settings.find("icon_hash")->first) + ","
 
			+ pqxx::to_string(TYPE_STRING) + ","
 
			+ pqxx::to_string((int)TYPE_STRING) + ","
 
			+ quote(txn,  buddyInfo.settings.find("icon_hash")->second.s) + ")");
 
	}
 

	
 
	return id;
 
}
 

	
 
void PQXXBackend::updateBuddy(long userId, const BuddyInfo &buddyInfo) {
 
	try {
 
		pqxx::work txn(*m_conn);
 
		exec(txn, "UPDATE " + m_prefix + "buddies SET groups=" + quote(txn, Util::serializeGroups(buddyInfo.groups)) + ", nickname=" + quote(txn, buddyInfo.alias) + ", flags=" + pqxx::to_string(buddyInfo.flags) + ", subscription=" + quote(txn, buddyInfo.subscription) + " WHERE user_id=" + pqxx::to_string(userId) + " AND uin=" + quote(txn, buddyInfo.legacyName));
 
	}
 
	catch (std::exception& e) {
0 comments (0 inline, 0 general)