node-query/node_modules/mysql2/lib/commands/change_user.js

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;