Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <set>
- #include <iostream>
- #include <mysql/mysql.h>
- #include <stdlib.h>
- #include <stdio.h>
- MYSQL *dbConnect(MYSQL *pMysql, char* dbName, char* dbUser, char* dbPass)
- {
- //std::cout << "U: " << dbUser << "P: " << dbPass << "W: " << dbName << std::endl;
- return mysql_real_connect(pMysql, "localhost", dbUser, dbPass, dbName, 0, NULL, 0);
- }
- void Query(MYSQL *pMysql, const char * format,...)
- {
- }
- int main(int argc, char* argv[])
- {
- if(argc < 4)
- return 0;
- char *dbUser = argv[1];
- char *dbPass = argv[2];
- char *dbWorld = argv[3];
- char *dbChar = argv[4];
- std::set<int> instanceset;
- //std::cout << "U: " << dbUser << "P: " << dbPass << "W: " << dbWorld << "C: " << dbChar << std::endl;
- MYSQL *pWorld = mysql_init(NULL);
- MYSQL *pCharacters = mysql_init(NULL);
- if(!pWorld || !pCharacters)
- {
- std::cout << "MySQL: init failed." << std::endl;
- return 1;
- }
- pWorld = dbConnect(pWorld, dbWorld, dbUser, dbPass);
- pCharacters = dbConnect(pCharacters, dbChar, dbUser, dbPass);
- if(pWorld && pCharacters)
- {
- std::cout << "MySQL: connection to databases success." << std::endl;
- MYSQL_RES *cRes;
- MYSQL_ROW cRow;
- mysql_query(pCharacters, "SELECT id FROM instance");
- cRes = mysql_use_result(pCharacters);
- while (cRow = mysql_fetch_row(cRes))
- instanceset.insert(atol(cRow[0]));
- mysql_free_result(cRes);
- cRes = NULL;
- char query[160];
- int j =1;
- for (std::set< int >::iterator i = instanceset.begin(); i != instanceset.end(); ++i, ++j)
- {
- if (*i != j)
- {
- // remap instance id
- sprintf(query, "UPDATE creature_respawn SET instance ='%u' WHERE instance = '%u'", j, *i);
- mysql_query(pWorld, query);
- sprintf(query, "UPDATE gameobject_respawn SET instance = '%u' WHERE instance = '%u'", j, *i);
- mysql_query(pWorld, query);
- sprintf(query, "UPDATE corpse SET instance = '%u' WHERE instance = '%u'", j, *i);
- mysql_query(pCharacters, query);
- sprintf(query, "UPDATE character_instance SET instance = '%u' WHERE instance = '%u'", j, *i);
- mysql_query(pCharacters, query);
- sprintf(query, "UPDATE instance SET id = '%u' WHERE id = '%u'", j, *i);
- mysql_query(pCharacters, query);
- sprintf(query, "UPDATE group_instance SET instance = '%u' WHERE instance = '%u'", j, *i);
- mysql_query(pCharacters, query);
- sprintf(query, "UPDATE group_saved_loot SET instanceId = '%u' WHERE instanceId = '%u'", j, *i);
- mysql_query(pCharacters, query);
- sprintf(query, "UPDATE characters SET instance_id = '%u' WHERE instance_id = '%u'", j, *i);
- mysql_query(pCharacters, query);
- }
- }
- }
- else
- {
- std::cout << "MySQL: connection failed." << std::endl;
- return 1;
- }
- mysql_close(pWorld);
- mysql_close(pCharacters);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement