123456789101112131415161718192021222324252627282930313233343536373839404142 |
- module.exports = OkPacket;
- function OkPacket(options) {
- options = options || {};
- this.fieldCount = undefined;
- this.affectedRows = undefined;
- this.insertId = undefined;
- this.serverStatus = undefined;
- this.warningCount = undefined;
- this.message = undefined;
- this.protocol41 = options.protocol41;
- }
- OkPacket.prototype.parse = function(parser) {
- this.fieldCount = parser.parseUnsignedNumber(1);
- this.affectedRows = parser.parseLengthCodedNumber();
- this.insertId = parser.parseLengthCodedNumber();
- if (this.protocol41) {
- this.serverStatus = parser.parseUnsignedNumber(2);
- this.warningCount = parser.parseUnsignedNumber(2);
- }
- this.message = parser.parsePacketTerminatedString();
- this.changedRows = 0;
- var m = this.message.match(/\schanged:\s*(\d+)/i);
- if (m !== null) {
- this.changedRows = parseInt(m[1], 10);
- }
- };
- OkPacket.prototype.write = function(writer) {
- writer.writeUnsignedNumber(1, 0x00);
- writer.writeLengthCodedNumber(this.affectedRows || 0);
- writer.writeLengthCodedNumber(this.insertId || 0);
- if (this.protocol41) {
- writer.writeUnsignedNumber(2, this.serverStatus || 0);
- writer.writeUnsignedNumber(2, this.warningCount || 0);
- }
- writer.writeString(this.message);
- };
|