46 lines
1.6 KiB
JavaScript
46 lines
1.6 KiB
JavaScript
var util = require('util');
|
|
|
|
var Command = require('./command.js');
|
|
var Packets = require('../packets/index.js');
|
|
var ClientConstants = require('../constants/client.js');
|
|
|
|
function ChangeUser(options, callback)
|
|
{
|
|
this.onResult = callback;
|
|
this._user = options.user;
|
|
this._password = options.password;
|
|
this._database = options.database;
|
|
this._passwordSha1 = options.passwordSha1;
|
|
this._charsetNumber = options.charsetNumber;
|
|
this._currentConfig = options.currentConfig;
|
|
Command.call(this);
|
|
}
|
|
util.inherits(ChangeUser, Command);
|
|
|
|
ChangeUser.prototype.start = function(packet, connection) {
|
|
var packet = new Packets.ChangeUser({
|
|
user : this._user,
|
|
database : this._database,
|
|
charsetNumber : this._charsetNumber,
|
|
password : this._password,
|
|
passwordSha1 : this._passwordSha1,
|
|
authPluginData1 : connection._handshakePacket.authPluginData1,
|
|
authPluginData2 : connection._handshakePacket.authPluginData2
|
|
});
|
|
this._currentConfig.user = this._user;
|
|
this._currentConfig.password = this._password;
|
|
this._currentConfig.database = this._database;
|
|
this._currentConfig.charsetNumber = this._charsetNumber;
|
|
// reset prepared statements cache as all statements become invalid after changeUser
|
|
connection._statements = {};
|
|
connection.writePacket(packet.toPacket());
|
|
return ChangeUser.prototype.changeOk;
|
|
};
|
|
|
|
ChangeUser.prototype.changeOk = function(okPacket, connection) {
|
|
if (this.onResult)
|
|
this.onResult(null);
|
|
return null;
|
|
};
|
|
module.exports = ChangeUser;
|