UNPKG

mysql2

Version:

fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS

48 lines (41 loc) 1.02 kB
var EventEmitter = require('events').EventEmitter; var util = require('util'); function Command () { EventEmitter.call(this); this.next = null; } util.inherits(Command, EventEmitter); // slow. debug only Command.prototype.stateName = function () { var state = this.next; for (var i in this) { if (this[i] == state && i != 'next') { return i; } } return 'unknown name'; }; Command.prototype.execute = function (packet, connection) { // TODO: hack if (!this.next) { this.next = this.start; } if (packet && packet.isError()) { var err = packet.asError(connection.serverEncoding); if (this.onResult) { this.onResult(err); } else { this.emit('error', err); } return true; } // TODO: don't return anything from execute, it's ugly and error-prone. Listen for 'end' event in connection this.next = this.next(packet, connection); if (this.next) { return false; } else { this.emit('end'); return true; } }; module.exports = Command;