123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- module.exports = FieldPacket;
- function FieldPacket(options) {
- options = options || {};
- this.catalog = options.catalog;
- this.db = options.db;
- this.table = options.table;
- this.orgTable = options.orgTable;
- this.name = options.name;
- this.orgName = options.orgName;
- this.filler1 = undefined;
- this.charsetNr = options.charsetNr;
- this.length = options.length;
- this.type = options.type;
- this.flags = options.flags;
- this.decimals = options.decimals;
- this.filler2 = undefined;
- this.default = options.default;
- this.zeroFill = options.zeroFill;
- }
- FieldPacket.prototype.parse = function(parser) {
- this.catalog = parser.parseLengthCodedString();
- this.db = parser.parseLengthCodedString();
- this.table = parser.parseLengthCodedString();
- this.orgTable = parser.parseLengthCodedString();
- this.name = parser.parseLengthCodedString();
- this.orgName = parser.parseLengthCodedString();
- this.filler1 = parser.parseFiller(1);
- this.charsetNr = parser.parseUnsignedNumber(2);
- this.fieldLength = parser.parseUnsignedNumber(4);
- this.type = parser.parseUnsignedNumber(1);
- this.flags = parser.parseUnsignedNumber(2);
- this.decimals = parser.parseUnsignedNumber(1);
- this.filler2 = parser.parseFiller(2);
- // parsed flags
- this.zeroFill = (this.flags & 0x0040 ? true : false);
- if (parser.reachedPacketEnd()) {
- return;
- }
- this.default = parser.parseLengthCodedNumber();
- };
- FieldPacket.prototype.write = function(writer) {
- writer.writeLengthCodedString(this.catalog);
- writer.writeLengthCodedString(this.db);
- writer.writeLengthCodedString(this.table);
- writer.writeLengthCodedString(this.orgTable);
- writer.writeLengthCodedString(this.name);
- writer.writeLengthCodedString(this.orgName);
- writer.writeFiller(1);
- writer.writeUnsignedNumber(2, this.charsetNr || 0);
- writer.writeUnsignedNumber(4, this.fieldLength || 0);
- writer.writeUnsignedNumber(1, this.type) || 0;
- writer.writeUnsignedNumber(2, this.flags || 0);
- writer.writeUnsignedNumber(1, this.decimals || 0);
- writer.writeFiller(2);
- if (this.default !== undefined) {
- writer.writeLengthCodedString(this.default);
- }
- };
|