Spaces:
Paused
Paused
| ; | |
| const Packet = require('../packets/packet'); | |
| const CommandCodes = require('../constants/commands'); | |
| const StringParser = require('../parsers/string.js'); | |
| const CharsetToEncoding = require('../constants/charset_encodings.js'); | |
| class PrepareStatement { | |
| constructor(sql, charsetNumber) { | |
| this.query = sql; | |
| this.charsetNumber = charsetNumber; | |
| this.encoding = CharsetToEncoding[charsetNumber]; | |
| } | |
| toPacket() { | |
| const buf = StringParser.encode(this.query, this.encoding); | |
| const length = 5 + buf.length; | |
| const buffer = Buffer.allocUnsafe(length); | |
| const packet = new Packet(0, buffer, 0, length); | |
| packet.offset = 4; | |
| packet.writeInt8(CommandCodes.STMT_PREPARE); | |
| packet.writeBuffer(buf); | |
| return packet; | |
| } | |
| } | |
| module.exports = PrepareStatement; | |